Get public specifications about the aggregator
Returns the specifications related to the aggregator:
- Open API version
- URL of Mithril documentation
- Capabilities of the aggregator
- Cardano transactions prover capabilities
Responses
Response samples
- 200
- default
{- "open_api_version": "string",
- "documentation_url": "string",
- "capabilities": {
- "signed_entity_types": [
- "MithrilStakeDistribution"
], - "cardano_transactions_prover": {
- "max_hashes_allowed_by_request": 0
}, - "cardano_transactions_signing_config": {
- "security_parameter": 0,
- "step": 0
}
}
}
Get information about the aggregator status
Returns the aggregator status information:
- Current epoch
- Current Cardano era
- Current Mithril era
- Cardano node version
- Aggregator node version
- Protocol parameters for current epoch
- Protocol parameters for next epoch
- Total number of signers for current epoch
- Total number of signers for next epoch
- Total stakes of signers for current epoch
- Total stakes of signers for next epoch
- Total of Cardano SPOs
- Total stakes in Cardano
Responses
Response samples
- 200
- default
{- "epoch": 0,
- "cardano_era": "string",
- "mithril_era": "string",
- "cardano_node_version": "string",
- "aggregator_node_version": "string",
- "protocol": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "next_protocol": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "total_signers": 0,
- "total_next_signers": 0,
- "total_stakes_signers": 0,
- "total_next_stakes_signers": 0,
- "total_cardano_spo": 0,
- "total_cardano_stake": 0
}
Get current epoch settings
Returns the information related to the current epoch:
- protocol parameters for current epoch
- protocol parameters for next epoch (to setup cryptography, allowing signers to register)
- signers for current epoch
- signers for next epoch
- cardano transactions signing configuration for current epoch
- cardano transactions signing configuration for next epoch
Responses
Response samples
- 200
- default
{- "epoch": 0,
- "protocol": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "next_protocol": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "signer_registration_protocol": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "current_signers": [
- {
- "party_id": "string",
- "verification_key": "string",
- "verification_key_signature": "string",
- "operational_certificate": "string",
- "kes_period": 0
}
], - "next_signers": [
- {
- "party_id": "string",
- "verification_key": "string",
- "verification_key_signature": "string",
- "operational_certificate": "string",
- "kes_period": 0
}
], - "cardano_transactions_signing_config": {
- "security_parameter": 0,
- "step": 0
}, - "next_cardano_transactions_signing_config": {
- "security_parameter": 0,
- "step": 0
}
}
Get current pending certificate information Deprecated
Returns the information related to the current pending certificate:
- protocol parameters, for current and next epoch (to setup cryptography)
- beacon information (where on the chain the pending certificate should be triggered)
- entity type of the message that must be signed
- verification keys of the signers, for current and next epoch
Responses
Response samples
- 200
- default
{- "epoch": 0,
- "beacon": {
- "network": "string",
- "epoch": 0,
- "immutable_file_number": 0
}, - "entity_type": { },
- "protocol": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "next_protocol": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "signers": [
- {
- "party_id": "string",
- "verification_key": "string",
- "verification_key_signature": "string",
- "operational_certificate": "string",
- "kes_period": 0
}
], - "next_signers": [
- {
- "party_id": "string",
- "verification_key": "string",
- "verification_key_signature": "string",
- "operational_certificate": "string",
- "kes_period": 0
}
]
}
Response samples
- 200
- default
{- "hash": "9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7",
- "previous_hash": "aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403",
- "epoch": 329,
- "signed_entity_type": {
- "MithrilStakeDistribution": 246
}, - "metadata": {
- "network": "mainnet",
- "version": "0.1.0",
- "parameters": {
- "k": 5,
- "m": 100,
- "phi_f": 0.65
}, - "initiated_at": "2022-07-17T18:51:23.192811338Z",
- "sealed_at": "2022-07-17T18:51:35.830832580Z",
- "total_signers": 3
}, - "protocol_message": {
- "message_parts": {
- "snapshot_digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
- "next_aggregate_verification_key": "b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"
}
}, - "signed_message": "07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc",
- "aggregate_verification_key": "7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7"
}
Get certificate by hash
Returns the certificate identified by its hash
path Parameters
certificate_hash required | string <bytes> Examples:
Hash of the certificate to retrieve |
Responses
Response samples
- 200
- default
{- "hash": "string",
- "previous_hash": "string",
- "epoch": 0,
- "signed_entity_type": { },
- "metadata": {
- "network": "string",
- "version": "string",
- "parameters": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}, - "initiated_at": "2019-08-24T14:15:22Z",
- "sealed_at": "2019-08-24T14:15:22Z",
- "signers": [
- {
- "party_id": "string",
- "stake": 0
}
]
}, - "protocol_message": {
- "message_parts": {
- "snapshot_digest": "string",
- "next_aggregate_verification_key": "string",
- "latest_block_number": "string"
}
}, - "signed_message": "string",
- "aggregate_verification_key": "string",
- "multi_signature": "string",
- "genesis_signature": "string"
}
Response samples
- 200
- default
{- "digest": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732",
- "network": "mainnet",
- "beacon": {
- "epoch": 329,
- "immutable_file_number": 7060000
}, - "certificate_hash": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572",
- "size": 26058531636,
- "created_at": "2022-07-21T17:32:28Z",
- "locations": [
- "magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C",
- "ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"
]
}
Get snapshot information
Returns the information of a snapshot and where to retrieve its binary content
path Parameters
digest required | string <bytes> Examples:
Digest of the snapshot to retrieve |
Responses
Response samples
- 200
- default
{- "digest": "string",
- "network": "string",
- "beacon": {
- "network": "string",
- "epoch": 0,
- "immutable_file_number": 0
}, - "certificate_hash": "string",
- "size": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "locations": [
- "string"
], - "compression_algorithm": "string",
- "cardano_node_version": "string"
}
Download the snapshot
Returns the snapshot archive binary content
path Parameters
digest required | string <bytes> Examples:
Digest of the snapshot to download |
Responses
Response samples
- default
{- "label": "string",
- "message": "A"
}
Get Mithril stake distribution information
Returns the information of a Mithril stake distribution
path Parameters
hash required | string <bytes> Examples:
Hash of the Mithril stake distribution to retrieve |
Responses
Response samples
- 200
- default
{- "epoch": 0,
- "hash": "string",
- "certificate_hash": "string",
- "signers": [
- {
- "party_id": "string",
- "verification_key": "string",
- "verification_key_signature": "string",
- "operational_certificate": "string",
- "kes_period": 0,
- "stake": 0
}
], - "created_at": "string",
- "protocol_parameters": {
- "k": 0,
- "m": 0,
- "phi_f": 0.1
}
}
Get Cardano stake distribution information
Returns the information of a Cardano stake distribution
path Parameters
hash required | string <bytes> Examples:
Hash of the Cardano stake distribution to retrieve |
Responses
Response samples
- 200
- default
{- "epoch": 0,
- "hash": "string",
- "certificate_hash": "string",
- "stake_distribution": {
- "property1": {
- "code": "string",
- "text": 0
}, - "property2": {
- "code": "string",
- "text": 0
}
}, - "created_at": "string"
}
Get Cardano stake distribution information for a specific epoch
Returns the information of a Cardano stake distribution at a given epoch
path Parameters
epoch required | integer <int64> Examples: Epoch of the Cardano stake distribution to retrieve |
Responses
Response samples
- 200
- default
{- "epoch": 0,
- "hash": "string",
- "certificate_hash": "string",
- "stake_distribution": {
- "property1": {
- "code": "string",
- "text": 0
}, - "property2": {
- "code": "string",
- "text": 0
}
}, - "created_at": "string"
}
Get most recent Cardano transactions set snapshots
Returns the list of the most recent Cardano transactions set snapshots
Responses
Response samples
- 200
- default
[- {
- "hash": "string",
- "certificate_hash": "string",
- "merkle_root": "string",
- "epoch": 0,
- "block_number": 0,
- "created_at": "string"
}
]
Get Cardano transactions set snapshot information
Returns the information of a Cardano transactions set snapshot
path Parameters
hash required | string <bytes> Examples:
Hash of the Cardano transactions set snapshot to retrieve |
Responses
Response samples
- 200
- default
{- "hash": "string",
- "certificate_hash": "string",
- "merkle_root": "string",
- "epoch": 0,
- "block_number": 0,
- "created_at": "string"
}
Get the proofs of a Cardano transaction list
Returns the transaction hashes and the corresponding proofs
query Parameters
transaction_hashes required | Array of strings <bytes> [ items <bytes > ] Hashes of the Cardano transactions to retrieve proofs for |
Responses
Response samples
- 200
- default
{- "certificate_hash": "string",
- "certified_transactions": [
- {
- "transactions_hashes": [
- "string"
], - "proof": "string"
}
], - "non_certified_transactions": [
- "string"
], - "latest_block_number": 0
}
Get registered signers for an epoch
Returns the signers that registered at a given Epoch
path Parameters
required | "latest" (any) or integer Cardano Epoch at which the signer registrations are registered |
Responses
Response samples
- 200
- default
{- "registered_at": 0,
- "signing_at": 0,
- "registrations": [
- {
- "party_id": "string",
- "stake": 0
}
]
}
Registers signer
Registers a signer for the next certificate production
Request Body schema: application/jsonrequired
Signer information to register
epoch | integer <int64> (Epoch) Cardano chain epoch number |
party_id required | string The unique identifier of the signer |
verification_key required | string <byte> The public key used to authenticate signer signature |
verification_key_signature | string <byte> The signature of the verification_key (signed by the Cardano node KES secret key) |
operational_certificate | string <byte> The operational certificate of the stake pool operator attached to the signer node |
kes_period | integer <int64> The number of updates of the KES secret key that signed the verification key |
property name* additional property | any |
Responses
Request samples
- Payload
{- "epoch": 0,
- "party_id": "string",
- "verification_key": "string",
- "verification_key_signature": "string",
- "operational_certificate": "string",
- "kes_period": 0
}
Response samples
- 400
- 503
- default
{- "label": "string",
- "message": "A"
}
Registers signatures
Registers the single signatures from a signer participant for the pending certificate
Request Body schema: application/jsonrequired
List of signatures
required | object (SignedEntityType) Entity type of the message that is signed |
party_id required | string The unique identifier of the signer |
signature required | string <byte> The single signature of the digest |
indexes required | Array of integers <int64> [ items <int64 > ] The indexes of the lottery won that lead to the single signature |
signed_message | string <bytes> Hash of the protocol message that is signed by the signer Optional, allows the aggregator to store this signature for later if it has yet to start aggregating signatures for the message. |
Responses
Request samples
- Payload
{- "entity_type": { },
- "party_id": "string",
- "signature": "string",
- "indexes": [
- 0
], - "signed_message": "string"
}
Response samples
- 400
- default
{- "label": "string",
- "message": "A"
}
Records snapshot download event
Records snapshot download event
Request Body schema: application/jsonrequired
Downloaded snapshot message
digest required | string <bytes> Digest that is signed by the signer participants |
network required | string Cardano network |
required | object (CardanoDbBeacon) A point in the Cardano chain at which a Mithril certificate of the Cardano Database should be produced |
size required | integer <int64> Size of the snapshot file in Bytes |
locations required | Array of strings Locations where the binary content of the snapshot can be retrieved |
compression_algorithm required | string Compression algorithm for the snapshot archive |
cardano_node_version required | string Version of the Cardano node which is used to create snapshot archives. |
Responses
Request samples
- Payload
{- "digest": "string",
- "network": "string",
- "beacon": {
- "network": "string",
- "epoch": 0,
- "immutable_file_number": 0
}, - "size": 0,
- "locations": [
- "string"
], - "compression_algorithm": "string",
- "cardano_node_version": "string"
}
Response samples
- 400
- default
{- "label": "string",
- "message": "A"
}