- Replace TLAS with License Authority throughout documentation - Add Government of Goa emblem/logo (Ashoka Chakra style) - Update frontend branding to match documentation - Add configurable Swagger API link via VITE_API_BASE_URL env var - Fix Docker build for VitePress (git dependency, .dockerignore) - Fix helmet security headers for HTTP deployments - Add CORS support for VM deployment Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
Blockchain APIs
Certificate Verification
Verify by Token ID
GET /blockchain/verify/{tokenId}
Response
{
"valid": true,
"token": {
"id": "0x1234567890abcdef",
"licenseNumber": "GOA/TRADE/2026/00001",
"holder": "ABC Enterprises",
"issuedAt": "2026-02-09T10:00:00Z",
"validUntil": "2027-02-08T23:59:59Z",
"status": "ACTIVE"
},
"blockchain": {
"contractAddress": "0xContract...",
"transactionHash": "0xTx...",
"blockNumber": 12345,
"timestamp": "2026-02-09T10:00:00Z"
}
}
Verify by License Number
GET /blockchain/verify?licenseNumber=GOA/TRADE/2026/00001
Transaction History
Get Token History
GET /blockchain/tokens/{tokenId}/history
Response
{
"tokenId": "0x1234...",
"events": [
{
"event": "MINTED",
"timestamp": "2026-02-09T10:00:00Z",
"transactionHash": "0xMint...",
"data": { "to": "0xHolder..." }
},
{
"event": "RENEWED",
"timestamp": "2027-02-01T10:00:00Z",
"transactionHash": "0xRenew...",
"data": { "newExpiry": "2028-02-08" }
}
]
}
Smart Contract ABI
interface ILicenseNFT {
function mint(address to, string licenseNumber, bytes32 documentHash) returns (uint256);
function verify(uint256 tokenId) returns (bool valid, LicenseData data);
function revoke(uint256 tokenId, string reason);
function renew(uint256 tokenId, uint256 newExpiry);
}
Block Explorer
View transactions on the block explorer:
https://explorer.license.gov.in/tx/{transactionHash}