POST/timestamp/v3/jsonrpc
The JSON-RPC API provides methods assisting the construction of blockchain transactions for Timestamp operations, and interaction with the ledger.
Request
- application/json
Body
required
The body follows the JSON-RPC 2.0 specification.
It requires the following fields:
- jsonrpc: must be exactly "2.0"
- method: method to be invoked
- params: method parameters
- id: identifier established by the client
API Methods
insertHashAlgorithm
Call to build an unsigned transaction to insert a new hash algorithm.
Parameters:
- from: Ethereum address of the administrator
- outputLength: hash output length (in bits)
- ianaName: IANA name of the hash algorithm
- oid: object identifier (OID)
- status: status of the algorithm (1 = active, 2 = revoked)
- multihash: multihash name
updateHashAlgorithm
Call to build an unsigned transaction to update a hash algorithm.
Parameters:
- from: Ethereum address of the administrator
- outputLength: hash output length (in bits)
- ianaName: IANA name of the hash algorithm
- oid: object identifier (OID)
- status: status of the algorithm (1 = active, 2 = revoked)
- multihash: multihash name
timestampHashes
Call to build an unsigned transaction to timestamp hashes. It's possible to insert up to 3 hashes in a single transaction.
Parameters:
- from: Ethereum address of user
- hashAlgorithmIds: Array of hash algorithms ids used (up to 3)
- hashValues: Array of hashes (up to 3)
- timestampData (optional): Timestamp data. This field must be a JSON stringified and converted into hex string
timestampRecordHashes
Call to build an unsigned transaction to timestamp data and create a record of it with some info. It's possible to insert up to 3 hashes in a single transaction.
Parameters:
- from: Ethereum address of user
- hashAlgorithmIds: Array of hash algorithms ids used (up to 3)
- hashValues: Array of hashes (up to 3)
- timestampData (optional): Timestamp data. This field must be a JSON stringified and converted into hex string
timestampVersionHashes
Call to build an unsigned transaction to timestamp hashes and store them under the given record. It's possible to insert up to 3 hashes in a single transaction. This method can be called only by record owners.
Parameters:
- from: Ethereum address of user
- versionHash: Version hash to update
- hashAlgorithmIds: Array of hash algorithms ids used (up to 3)
- hashValues: Array of hashes (up to 3)
- timestampData (optional): Timestamp data. This field must be a JSON stringified and converted into hex string
- versionInfo (optional): Version info. This field must be a JSON stringified and converted into hex string
insertRecordOwner
Call to build an unsigned transaction to insert a record owner. This method can be called only by record owners.
Parameters:
- from: Ethereum address of user
- recordId: Record ID to update
- ownerId: Ethereum address of new owner
- notBefore: Point in time when the owner becomes valid. It should be defined in epoch time.
- notAfter: Point in time when the owner becomes invalid. It should be defined in epoch time. For indefinite time set 0.
revokeRecordOwner
Call to build an unsigned transaction to revoke a record owner. This method can be called only by record owners.
Parameters:
- from: Ethereum address of user
- recordId: Record ID to update
- ownerId: Ethereum address of the owner to revoke
timestampRecordVersionHashes
Call to build an unsigned transaction to timestamp data and link it to a new version of an existing record. It's possible to insert up to 3 hashes in a single transaction. This method can be called only by record owners.
Parameters:
- from: Ethereum address of user
- recordId: Record ID to update
- hashAlgorithmIds: Array of hash algorithms ids used (up to 3)
- hashValues: Array of hashes (up to 3)
- timestampData (optional): Timestamp data. This field must be a JSON stringified and converted into hex string
- versionInfo (optional): Version info. This field must be a JSON stringified and converted into hex string
appendRecordVersionHashes
Call to build an unsigned transaction to timestamp data and link it to an existing version of a record. It's possible to insert up to 3 hashes in a single transaction. This method can be called only by record owners.
Parameters:
- from: Ethereum address of user
- recordId: Record ID to update
- versionId: Version ID to update
- hashAlgorithmIds: Array of hash algorithms ids used (up to 3)
- hashValues: Array of hashes (up to 3)
- timestampData (optional): Timestamp data. This field must be a JSON stringified and converted into hex string
- versionInfo (optional): Version info. This field must be a JSON stringified and converted into hex string
detachRecordVersionHash
Call to build an unsigned transaction to detach a hash from the timestamps ids of a version of an existing record. This method can be called only by record owners.
Parameters:
- from: Ethereum address of user
- recordId: Record ID to update
- versionId: Version ID to update
- versionHash: Version hash to update
- hashValue: Hash value to detach
insertRecordVersionInfo
Call to build an unsigned transaction to to insert new info to a version of an existing record. This method can be called only by record owners.
Parameters:
- from: Ethereum address of user
- recordId: Record ID to update
- versionId: Version ID to update
- versionInfo (optional): Version info. This field must be a JSON stringified and converted into hex string
sendSignedTransaction
Call to send a signed transaction to the blockchain.
Must be exactly "2.0"
Method that needs to be invoked
Array of parameters
Identifier established by the client
Responses
- 200
- 400
Response
- application/json
- Schema
- Example (from schema)
- Build tx
- Send Transaction
Schema
- MOD2
Must be exactly "2.0"
Same identifier established by the client in the call
result object
Result of the call
{
"jsonrpc": "string",
"id": 0,
"result": {}
}
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"from": "0x416e6e6162656c2e4c65652e452d412d506f652e",
"to": "0xFde86148db58f57787C06BeAf63a9c3f789357b3",
"data": "0x0000...",
"nonce": "0x00",
"chainId": "0x1b3b",
"gasLimit": "0x10000",
"gasPrice": "0x00",
"value": "0x00"
}
}
{
"jsonrpc": "2.0",
"id": 1,
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
Bad request
- application/problem+json
- Schema
- Example (from schema)
- Bad Request
Schema
Default value: about:blank
An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type.
A short summary of the problem type.
Possible values: >= 400
and <= 600
The HTTP status code generated by the origin server for this occurrence of the problem.
A human readable explanation specific to this occurrence of the problem.
An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
{
"type": "about:blank",
"title": "Internal Server Error",
"status": 500,
"detail": "Connection timeout",
"instance": "string"
}
{
"title": "Bad Request",
"status": 400,
"detail": "Bad request"
}