API Specification
API Function Details
Technical Description
Serial Number Generation API
| path |
method |
explanation |
| /request_serial_number |
POST |
Generate a serial number |
Parameters
None
Responses
{
"serialNumber":<serial number>
}
| parameter |
type |
explanation |
| serialNumber |
string |
a serial number |
LT and GT Generation API
| path |
method |
explanation |
| /create_tokens |
POST |
Generate a local token and a global token |
Parameters
{
"serialNumber":<serial number>,
"x":<raw data>
}
| parameter |
type |
explanation |
| serialNumber |
string |
a serial number |
| x |
string |
raw data |
Responses
{
"localToken":<local token>,
"globalToken":<global token>,
"r":<random number>,
"comm":<commitment>
}
| parameter |
type |
explanation |
| localToken |
string |
a local token |
| globalToken |
string |
a global token |
| r |
string |
a random number |
| comm |
string |
a commitment generated from x and r |
Holder's Signature Generation API
| path |
method |
explanation |
| /create_gsign |
POST |
generate the holder's signature |
Parameters
{
"localToken":<local token>,
"globalToken":<global token>,
"x":<raw data>
}
| parameter |
type |
explanation |
| localToken |
string |
a local token |
| globalToken |
string |
a global token |
| x |
string |
raw data |
Responses
{
"gsign":<holder's signature>
}
| parameter |
type |
explanation |
| gsign |
string |
the holder's signature |
Get Holder's Public Key API
| path |
method |
explanation |
| /get_okey |
GET |
get the holder's public key |
Responses
{
"okey":<holder's public key>
}
| path |
method |
explanation |
| okey |
string |
the holder's public key |
Issuer's Signature API
| path |
method |
explanation |
| /create_owner_signature |
POST |
Generate an evidence |
Parameters
{
"globalToken":<global token>,
"gsign":<signature by holder>,
"okey":<holder's public key>
}
| path |
method |
explanation |
| globalToken |
string |
a global token |
| gsign |
string |
a signature by the holder |
| okey |
string |
The holder's public key |
Responses
{
"globalToken":<global token>,
"evidence":<evidence>
}
| parameter |
type |
explanation |
| globalToken |
string |
a global token |
| evidence |
string |
an evidence containing of the holder's public key, a signature by the holder, the issuer's public key, and a signature by the issuer |
Register Assets API
| path |
method |
explanation |
| /register_assets |
POST |
Register an asset consisting of a serial nujmber, a global token, and an evidence |
Parameters
{
"serialNumber":<serial number>,
"globalToken":<global token>,
"evidence":<evidence>
}
| path |
method |
explanation |
| serialNumber |
string |
a serial number |
| globalToken |
string |
a global token |
| evidence |
string |
an evidence containing of the holder's public key, a signature by the holder, the issuer's public key, and a signature by the issuer |
Responses
{
"serialNumber":<serial number>,
"globalToken":<global token>,
"evidence":<evidence>
}
| path |
method |
explanation |
| serialNumber |
string |
a serial number |
| globalToken |
string |
a global token |
| evidence |
string |
an evidence containing of the holder's public key, a signature by the holder, the issuer's public key, and a signature by the issuer |
Get Asset API
| path |
method |
explanation |
| /get_asset |
POST |
get assets recorded on the blockchain by serial number |
Parameters
{
"serialNumber":<serial number>
}
| path |
method |
explanation |
| serialNumber |
string |
a serial number |
Responses
{
"serialNumber":<serial number>,
"globalToken":<global token>,
"evidence":<evidence>
}
| path |
method |
explanation |
| serialNumber |
string |
a serial number |
| globalToken |
string |
a global token |
| evidence |
string |
an evidence containing of the holder's public key, a signature by the holder, the issuer's public key, and a signature by the issuer |
Zero-Knowledge Proof Generation API
| path |
method |
explanation |
| /create_proof |
POST |
generate a proof |
Parameters
{
"x":<raw data>,
"r":<random number>,
"comm":<commitment>
}
| path |
method |
explanation |
| x |
string |
raw data |
| r |
string |
a random number |
| comm |
string |
a commitment generated from x and r |
Responses
| path |
method |
explanation |
| proof |
string |
a proof |
Get Verification Key API
| path |
method |
explanation |
| /client/get_zkp_verification_key |
GET |
get the verification key |
Responses
{
"verificationKey":<verification key>
}
| path |
method |
explanation |
| verificationKey |
string |
the verification key |
Zero-Knowledge Proof Verification API
| path |
method |
explanation |
| /verify_proof |
POST |
verify a given proof |
Parameters
{
"verificationKey":<verification key>,
"comm":<commitment>,
"x":<raw data>,
"proof":<proof>
}
| path |
method |
explanation |
| verificationKey |
string |
the verification key |
| comm |
string |
a commitment generated from x and r |
| x |
string |
raw data |
| proof |
string |
a proof |
Responses
{
"result":<verification result>
}
| path |
method |
explanation |
| result |
string |
verification result |
Technical Description