Get desktop application:
View/edit binary Protocol Buffers messages
* A ledger identifier.<br/> This message identifies a ledger and is used to verify ledger signatures in a Threshold Signature Scheme (TSS). A ledger identifier SHALL be a public key defined according to the TSS process.<br/> A ledger identifier SHOULD NOT change, but MAY do so in rare circumstances.<br/> Clients SHOULD always check for the correct ledger identifier, according to the network roster, before attempting to verify any state proof or other ledger signature. ### Block Stream Effects Every block in the Block Stream `BlockProof` SHALL be signed via TSS and MUST be verified with the ledger identifier current at the _start_ of that block. If the ledger identifier changes, the new value MUST be used to validate Block Proof items after the change. A change to the ledger identifier SHALL be reported in a State Change for the block containing that change, which SHALL be verified with the _prior_ ledger identifier.
* A public key.<br/> This key both identifies the ledger and can be used to verify ledger signatures. <p> This value MUST be set.<br/> This value MUST NOT be empty.<br/> This value MUST contain a valid public key.
* A round number.<br/> This identifies when this ledger id becomes active.<br/> This value is REQUIRED.
* A signature from the prior ledger key.<br/> This signature is the _previous_ ledger ID signing _this_ ledger ID.<br/> This value MAY be unset, if there is no prior ledger ID.<br/> This value SHOULD be set if a prior ledger ID exists to generate the signature.
* The signatures from nodes in the active roster signing the new ledger id.<br/> These signatures establish a chain of trust from the network to the new ledger id. <p> This value MUST be present when the ledger signature of a previous ledger id is absent.
* A pair of a _RSA_ signature and the node id of the node that created the signature.
Used in:
* The node id of the node that created the _RSA_ signature. This value MUST be set.<br/> This value MUST NOT be empty.<br/> This value is REQUIRED.
* The bytes of an _RSA_ signature. This value MUST be set.<br/> This value MUST NOT be empty.<br/> This value MUST contain a valid signature.
* A single roster in the network state. <p> The roster SHALL be a list of `RosterEntry` objects.
* List of roster entries, one per consensus node. <p> This list SHALL contain roster entries in natural order of ascending node ids. This list SHALL NOT be empty.<br/>
* A single roster entry in the network state. Each roster entry SHALL encapsulate the elements required to manage node participation in the Threshold Signature Scheme (TSS).<br/> All fields are REQUIRED.
Used in:
* A consensus node identifier. <p> Node identifiers SHALL be unique _within_ a ledger, and MUST NOT be repeated _between_ shards and realms.
* A consensus weight. <p> Each node SHALL have a weight of zero or more in consensus calculations.<br/> The sum of the weights of all nodes in the roster SHALL form the total weight of the system, and each node's individual weight SHALL be proportional to that sum.<br/>
* An RSA public certificate used for signing gossip events. <p> This value SHALL be a certificate of a type permitted for gossip signatures.<br/> This value SHALL be the DER encoding of the certificate presented.<br/> This field is REQUIRED and MUST NOT be empty.
* A list of service endpoints for gossip. <p> These endpoints SHALL represent the published endpoints to which other consensus nodes may _gossip_ transactions.<br/> If the network configuration value `gossipFqdnRestricted` is set, then all endpoints in this list SHALL supply only IP address.<br/> If the network configuration value `gossipFqdnRestricted` is _not_ set, then endpoints in this list MAY supply either IP address or FQDN, but SHALL NOT supply both values for the same endpoint.<br/> This list SHALL NOT be empty.<br/>
* A collection of signatures from nodes in a roster.
Used in:
* A roster hash for the roster that the node signatures are from.
* A list of node signatures on the same message where all node ids in the NodeSignature objects are from the roster that the roster_hash represents.
* The current state of platform rosters.<br/> This message stores a roster data for the platform in network state. The roster state SHALL encapsulate the incoming candidate roster's hash, and a list of pairs of round number and active roster hash.<br/> This data SHALL be used to track round numbers and the rosters used in determining the consensus.<br/>
* The SHA-384 hash of a candidate roster. <p> This is the hash of the roster that is currently being considered for adoption.<br/> A Node SHALL NOT, ever, have more than one candidate roster at the same time.
* A list of round numbers and roster hashes.<br/> The round number indicates the round in which the corresponding roster became active <p> This list SHALL be ordered by round numbers in descending order.
* A pair of round number and active roster hash. <p> This message SHALL encapsulate the round number and the hash of the active roster used for that round.
Used in:
* The round number. <p> This value SHALL be the round number of the consensus round in which this roster became active.
* The SHA-384 hash of the active roster for the given round number. <p> This value SHALL be the hash of the active roster used for the round.