GET /data-requests
oldBlockHeight
and the ledger's current height. Validators use this endpoint to get the latest relevant blocks, extract the data requests in them, and respond to the data requests accordingly.GET /data-requests?oldBlockHeight=1
oldBlockHeight
is present in query parameteroldBlockHeight
is a non-negative numberoldBlockHeight
is an integeroldBlockHeight
is valid - no larger than the current block height of the ledgerEncryption
GET /encryptions/{token-hash}/hashed-trustee-shares
Encryption
. After receiving a new data request, before the validator attempt to respond to it, it should check if the threshold number of trustees have correctly responded to the data request. It can do this by checking consistent the shares and their hashes uploaded by the encryptor at encryption time. The former are the return values of this endpoint.GET /encryptions/d033713dd14552c060c55746afdb989cfee8e624ae94a932d79fd25630f728a4/hashed-trustee-shares
Encryption
GET /encryptions/{token-hash}/encrypted-validator-shares/{validator-id}
Encryption
. After receiving a new data request, a validator should use this endpoint to get its encrypted share from the corresponding Encryption
, decrypt it with its decryption key, then post the result with postValidatorResponse.GET /encryptions/d033713dd14552c060c55746afdb989cfee8e624ae94a932d79fd25630f728a4/encrypted-validator-shares/validator1
POST /data-requests/{token}/validator-responses
POST /data-requests/e3b0c44298fc1c149afbf4c8996fb924/validator-responses
padName
in ValidatorResponse
is consistent with the PAD instance to which the API key is pointingtoken
in path and ValidatorResponse
are consistentvalidatorId
in ValidatorResponse
and signature
are consistentrole
is Validator
in signature
signature
is consistent with the payload ValidatorResponse
previousHash
field in the schema refers to the hash of the previous block header, instead of the entire previous block. Thus, if the block data is irrelevant (for example not containing any data request when one is asking for them), it can be skipped.number
and previousHash
fields are empty. dataHash
is computed with the same block's data. Refer to code samples on how to compute hash of a block header./[0-9a-fA-F]{64}/
[a-zA-Z0-9-_]{3,30}
[a-zA-Z0-9-_]{3,30}
encryption
. The decryptor posts it on the ledger at data request stage./[0-9a-fA-Z]{32}/
.
) or dashes (-
). It must start with a lowercase letter./[a-z][a-z0-9.-]{3,29}/
"validator_response"
/Trustee-[0-9a-zA-Z_]+/
or /Validator-[0-9a-zA-Z_]+/