Skip to content

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

{
    "proof":<proof>
}
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