Get desktop application:
View/edit binary Protocol Buffers messages
* A transaction body to add a new consensus node to the network address book. This transaction body SHALL be considered a "privileged transaction". This message supports a transaction to create a new node in the network address book. The transaction, once complete, enables a new consensus node to join the network, and requires governing council authorization. - A `NodeCreateTransactionBody` MUST be signed by the `Key` assigned to the `admin_key` field and one of those keys: treasure account (2) key, systemAdmin(50) key, or addressBookAdmin(55) key. - The newly created node information SHALL be added to the network address book information in the network state. - The new entry SHALL be created in "state" but SHALL NOT participate in network consensus and SHALL NOT be present in network "configuration" until the next "upgrade" transaction (as noted below). - All new address book entries SHALL be added to the active network configuration during the next `freeze` transaction with the field `freeze_type` set to `PREPARE_UPGRADE`. ### Block Stream Effects Upon completion the newly assigned `node_id` SHALL be recorded in the transaction receipt.<br/> This value SHALL be the next available node identifier.<br/> Node identifiers SHALL NOT be reused.
Used in:
,* A Node account identifier. <p> This account identifier MUST be in the "account number" form.<br/> This account identifier MUST NOT use the alias field.<br/> If the identified account does not exist, this transaction SHALL fail.<br/> Multiple nodes MAY share the same node account.<br/> This field is REQUIRED.
* A short description of the node. <p> This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.<br/> This field is OPTIONAL.
* A list of service endpoints for gossip. <p> These endpoints SHALL represent the published endpoints to which other consensus nodes may _gossip_ transactions.<br/> These endpoints MUST specify a port.<br/> This list MUST NOT be empty.<br/> This list MUST NOT contain more than `10` entries.<br/> The first two entries in this list SHALL be the endpoints published to all consensus nodes.<br/> All other entries SHALL be reserved for future use. <p> Each network may have additional requirements for these endpoints. A client MUST check network-specific documentation for those details.<br/> If the network configuration value `gossipFqdnRestricted` is set, then all endpoints in this list MUST 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 MUST NOT supply both values for the same endpoint.
* A list of service endpoints for gRPC calls. <p> These endpoints SHALL represent the published gRPC endpoints to which clients may submit transactions.<br/> These endpoints MUST specify a port.<br/> Endpoints in this list MAY supply either IP address or FQDN, but MUST NOT supply both values for the same endpoint.<br/> This list MUST NOT be empty.<br/> This list MUST NOT contain more than `8` entries.
* A certificate used to sign gossip events. <p> This value MUST be a certificate of a type permitted for gossip signatures.<br/> This value MUST be the DER encoding of the certificate presented.<br/> This field is REQUIRED and MUST NOT be empty.
* A hash of the node gRPC TLS certificate. <p> This value MAY be used to verify the certificate presented by the node during TLS negotiation for gRPC.<br/> This value MUST be a SHA-384 hash.<br/> The TLS certificate to be hashed MUST first be in PEM format and MUST be encoded with UTF-8 NFKD encoding to a stream of bytes provided to the hash algorithm.<br/> This field is OPTIONAL.
* An administrative key controlled by the node operator. <p> This key MUST sign this transaction.<br/> This key MUST sign each transaction to update this node.<br/> This field MUST contain a valid `Key` value.<br/> This field is REQUIRED and MUST NOT be set to an empty `KeyList`.
* A boolean flag indicating whether the node operator declines to receive node rewards. <p> If this flag is set to `true`, the node operator declines to receive node rewards.<br/>
* A transaction body to delete a node from the network address book. - A `NodeDeleteTransactionBody` MUST be signed by one of those keys: adminKey, treasure account (2) key, systemAdmin(50) key, or addressBookAdmin(55) key. - Upon success, the address book entry SHALL enter a "pending delete" state. - All address book entries pending deletion SHALL be removed from the active network configuration during the next `freeze` transaction with the field `freeze_type` set to `PREPARE_UPGRADE`.<br/> - A deleted address book node SHALL be removed entirely from network state. - A deleted address book node identifier SHALL NOT be reused. ### Block Stream Effects None.
Used in:
,* A consensus node identifier in the network state. <p> The node identified MUST exist in the network address book.<br/> The node identified MUST NOT be deleted.<br/> This value is REQUIRED.
* Transaction body to modify address book node attributes. - This transaction SHALL enable the node operator, as identified by the `admin_key`, to modify operational attributes of the node. - This transaction MUST be signed by the active `admin_key` for the node. - If this transaction sets a new value for the `admin_key`, then both the current `admin_key`, and the new `admin_key` MUST sign this transaction. - This transaction SHALL NOT change any field that is not set (is null) in this transaction body. - This SHALL create a pending update to the node, but the change SHALL NOT be immediately applied to the active configuration. - All pending node updates SHALL be applied to the active network configuration during the next `freeze` transaction with the field `freeze_type` set to `PREPARE_UPGRADE`. ### Block Stream Effects None.
Used in:
,* A consensus node identifier in the network state. <p> The node identified MUST exist in the network address book.<br/> The node identified MUST NOT be deleted.<br/> This value is REQUIRED.
* An account identifier. <p> If set, this SHALL replace the node account identifier.<br/> If set, this transaction MUST be signed by the active `key` for _both_ the current node account _and_ the identified new node account.
* A short description of the node. <p> This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.<br/> If set, this value SHALL replace the previous value.
* A list of service endpoints for gossip. <p> If set, this list MUST meet the following requirements. <hr/> These endpoints SHALL represent the published endpoints to which other consensus nodes may _gossip_ transactions.<br/> These endpoints SHOULD NOT specify both address and DNS name.<br/> This list MUST NOT be empty.<br/> This list MUST NOT contain more than `10` entries.<br/> The first two entries in this list SHALL be the endpoints published to all consensus nodes.<br/> All other entries SHALL be reserved for future use. <p> Each network may have additional requirements for these endpoints. A client MUST check network-specific documentation for those details.<br/> <blockquote>Example<blockquote> Hedera Mainnet _requires_ that address be specified, and does not permit DNS name (FQDN) to be specified. </blockquote> <blockquote> Solo, however, _requires_ DNS name (FQDN) but also permits address. </blockquote></blockquote> <p> If set, the new list SHALL replace the existing list.
* A list of service endpoints for gRPC calls. <p> If set, this list MUST meet the following requirements. <hr/> These endpoints SHALL represent the published endpoints to which clients may submit transactions.<br/> These endpoints SHOULD specify address and port.<br/> These endpoints MAY specify a DNS name.<br/> These endpoints SHOULD NOT specify both address and DNS name.<br/> This list MUST NOT be empty.<br/> This list MUST NOT contain more than `8` entries. <p> Each network may have additional requirements for these endpoints. A client MUST check network-specific documentation for those details. <p> If set, the new list SHALL replace the existing list.
* A certificate used to sign gossip events. <p> This value MUST be a certificate of a type permitted for gossip signatures.<br/> This value MUST be the DER encoding of the certificate presented. <p> If set, the new value SHALL replace the existing bytes value.
* A hash of the node gRPC TLS certificate. <p> This value MAY be used to verify the certificate presented by the node during TLS negotiation for gRPC.<br/> This value MUST be a SHA-384 hash.<br/> The TLS certificate to be hashed MUST first be in PEM format and MUST be encoded with UTF-8 NFKD encoding to a stream of bytes provided to the hash algorithm.<br/> <p> If set, the new value SHALL replace the existing hash value.
* An administrative key controlled by the node operator. <p> This field is OPTIONAL.<br/> If set, this key MUST sign this transaction.<br/> If set, this key MUST sign each subsequent transaction to update this node.<br/> If set, this field MUST contain a valid `Key` value.<br/> If set, this field MUST NOT be set to an empty `KeyList`.
* A boolean indicating that this node has chosen to decline node rewards distributed at the end of staking period. <p> This node SHALL NOT receive reward if this value is set, and `true`.