Get desktop application:
View/edit binary Protocol Buffers messages
* A wrapper around a list of associated registered node identifiers.<br/> This wrapper exists to enable an update transaction to differentiate between a field that is not set and an empty list of values. <p> An _unset_ field of this type SHALL NOT modify existing values.<br/> A _set_ field of this type with an empty list SHALL remove any existing values.
Used in:
* A list of registered node identifiers.
* 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 web proxy for gRPC from non-gRPC clients. <p> This endpoint SHALL be a Fully Qualified Domain Name (FQDN) using the HTTPS protocol, and SHALL support gRPC-Web for use by browser-based clients.<br/> This endpoint MUST be signed by a trusted certificate authority.<br/> This endpoint MUST use a valid port and SHALL be reachable over TLS.<br/> This field MAY be omitted if the node does not support gRPC-Web access.<br/> This field MUST be updated if the gRPC-Web endpoint changes.<br/> This field SHALL enable frontend clients to avoid hard-coded proxy endpoints.
* A list of registered nodes operated by the same entity as this node.<br/> This value may contain a list of "registered nodes" (as described in HIP-1137) that are operated by the same entity that operates this consensus node. <p> This field is OPTIONAL and MAY be empty.<br/> This field MUST NOT contain more than twenty(20) entries.<br/> Every entry in this list MUST be a valid `registered_node_id` for a current registered node.
* 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`.
* A web proxy for gRPC from non-gRPC clients. <p> This endpoint SHALL be a Fully Qualified Domain Name (FQDN) using the HTTPS protocol, and SHALL support gRPC-Web for use by browser-based clients.<br/> This endpoint MUST be signed by a trusted certificate authority.<br/> This endpoint MUST use a valid port and SHALL be reachable over TLS.<br/> This field MAY be omitted if the node does not support gRPC-Web access.<br/> This field MUST be updated if the gRPC-Web endpoint changes.<br/> This field SHALL enable frontend clients to avoid hard-coded proxy endpoints.<br/> This field MAY be set to `ServiceEndpoint.DEFAULT` to remove a previously-valid web proxy.
* A list of registered nodes operated by the same entity as this node.<br/> This value may contain a list of "registered nodes" (as described in HIP-1137) that are operated by the same entity that operates this consensus node. <p> This field is OPTIONAL.<br/> If this field is not set, the current list SHALL NOT change.<br/> If this field is set, but contains an empty list, any existing associated registered nodes SHALL be removed.<br/> This field MUST NOT contain more than twenty(20) entries.<br/> Every entry in this list MUST be a valid `registered_node_id` for a current registered node.
* A transaction body to create a new registered node in the network address book. This transaction, once complete, SHALL add a new registered node to the network state. The new registered node SHALL be visible and discoverable upon completion of this transaction. ### Block Stream Effects None.
Used in: ,
* 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`.<br/> It is RECOMMENDED that this key be composed of one or more unique public keys that are not associated with any network account.<br/> This key MAY be a complex key containing `KeyList` or `ThresholdKey` elements, but SHOULD NOT be a contract ID key.
* A short description of the node. <p> This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This field is OPTIONAL.
* A list of service endpoints for client calls. <p> These endpoints SHALL represent the published endpoints to which clients may submit requests.<br/> Endpoints in this list MAY supply either IP address or FQDN, but MUST NOT supply both values for the same endpoint.<br/> Multiple endpoints in this list MAY resolve to the same interface.<br/> One Registered Node MAY expose endpoints for multiple service types.<br/> This list MUST NOT be empty.<br/> This list MUST NOT contain more than `50` entries.
* A transaction body to delete a registered node from the network address book. This transaction, once complete, SHALL remove the identified registered node from the network state. This transaction MUST be signed by the existing entry `admin_key` or authorized by the Hiero network governance structure. ### Block Stream Effects None.
Used in: ,
* A registered node identifier in the network state. <p> The node identified MUST exist in the registered address book.<br/> The node identified MUST NOT be deleted.<br/> This value is REQUIRED. <p> A given value for `registered_node_id` SHALL be unique within a given shard or realm.<br/> A given value for `registered_node_id` SHALL NOT be reused, even if the corresponding entry is deleted.
* A transaction body to update an existing registered node in the network address book. This transaction, once complete, SHALL modify the identified registered node state as requested. ### Block Stream Effects None.
Used in: ,
* A registered node identifier in the network state. <p> The node identified MUST exist in the registered address book.<br/> The node identified MUST NOT be deleted.<br/> This value is REQUIRED. <p> A given value for `registered_node_id` SHALL be unique within a given shard or realm.<br/> A given value for `registered_node_id` SHALL NOT be reused, even if the corresponding entry is deleted.
* 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`.<br/> It is RECOMMENDED that this key be composed of one or more unique public keys that are not associated with any network account.<br/> This key MAY be a complex key containing `KeyList` or `ThresholdKey` elements, but SHOULD NOT be a contract ID key.
* A short description of the node. <p> This field is OPTIONAL.<br/> This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> If set, this value SHALL replace the previous value.
* A list of service endpoints for client calls. <p> This field is OPTIONAL.<br/> These endpoints SHALL represent the published endpoints to which clients may submit requests.<br/> Endpoints in this list MAY supply either IP address or FQDN, but MUST NOT supply both values for the same endpoint.<br/> One Registered Node MAY expose endpoints for multiple service types.<br/> If set, this list MUST NOT be empty.<br/> If set, this list MUST NOT contain more than `50` entries.<br/> If set, this list SHALL _replace_ the previous list.
* A registered network node endpoint.<br/> Each registered network node in the global address book publishes one or more endpoints which enable the nodes to communicate both with other nodes and with clients to receive requests. This message supports a TCP/UDP port and IP address (V4 or V6), or MAY include a FQDN _instead of_ an IP address.<br/>
Used in: , ,
* An IP address or fully qualified domain name. <p> This oneof is REQUIRED.
* A 32-bit IPv4 address or 128-bit IPv6 address.<br/> This is the address of the endpoint, encoded in pure "big-endian" (i.e. left to right) order (e.g. IPv4 address `127.0.0.1` has hex bytes in the order `7F`, `00`, `00`, `01`.<br/> IPv6 address `::1` has hex bytes `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `00`, `01`).
* A node domain name. <p> This MUST be the fully qualified domain name of the node.<br/> This value MUST NOT exceed 250 ASCII characters.<br/> This value MUST meet all other DNS name requirements.
* A network port to use. <p> This value MUST be between 0 and 65535, inclusive.<br/> This value is REQUIRED.
* A flag indicating if this endpoint requires TLS. <p> If this value is set true, then connections to this endpoint MUST enable TLS. <p> TLS endpoints MAY use self-signed certificates for this purpose, but use of self-signed certificates SHOULD be limited to testing and development environments to ensure production environments meet all expected characteristics for transport layer security.
* An endpoint type.<br/> This declares the type of registered node endpoint and includes any type-specific fields. <p> This oneof is REQUIRED.
* A Block Node.<br/> A Block Node stores the block chain, provides content proof services, and delivers the block stream to other clients.
* A Mirror Node.<br/> A Mirror Node is an advanced indexing and query service that provides fast and flexible access to query the block chain and transaction history. A Mirror Node typically stores all recent blockchain data, and some store the entire history of the network.
* A RPC Relay.<br/> A RPC Relay is a proxy and translator between EVM tooling and a Hiero consensus network.
* A general service.<br/> A general service endpoint represents any network accessible service that is provided by a registered node but that is not a service currently defined as part of the Hiero Ledger system.
* A message indicating this endpoint is a Block Node endpoint.<br/> Block Node endpoints offer one of several block node APIs, so this endpoint entry also declares which well-known Block Node API is supported by this endpoint, or "OTHER" for less common APIs.
Used in:
* An indicator of what API this endpoint supports. <p> This field is REQUIRED.
* An enumeration of well-known block node endpoint APIs, and a catch-all option for otherwise unknown endpoint APIs.
Used in:
* Any other API type associated with a block node.<br/> The caller must consult local documentation to determine the correct call semantics.<br/> It is RECOMMENDED to call the detail status endpoint for further information before using this endpoint.
* The Block Node Status API.
* The Block Node Publish API.
* The Block Node Subscribe Stream API.
* The Block Node State Proof API.
* A message indicating this endpoint is a General Service endpoint.
Used in:
* A short description of the service provided. <p> This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This field is OPTIONAL.
* A message indicating this endpoint is a Mirror Node endpoint.
Used in:
(message has no fields)
* A message indicating this endpoint is a RPC Relay endpoint.
Used in:
(message has no fields)