java.lang.Object
com.hedera.hashgraph.sdk.proto.AddressBookServiceGrpc
The Address Book service provides the ability for Hedera network node
administrators to add, update, and remove consensus nodes. This addition,
update, or removal of a consensus node requires governing council approval,
but each node operator may update their own operational attributes without
additional approval, reducing overhead for routine operations.
Most operations are `privileged operations` and require governing council
approval.
### For a node creation transaction.
- The node operator SHALL create a `createNode` transaction.
- The node operator MUST sign this transaction with the `Key`
set as the `admin_key` for the new `Node`.
- The node operator SHALL deliver the signed transaction to the Hedera
council representative.
- The Hedera council representative SHALL arrange for council members to
review and sign the transaction.
- Once sufficient council members have signed the transaction, the
Hedera council representative SHALL submit the transaction to the
network.
- Upon receipt of a valid and signed node creation transaction the network
software SHALL
- Validate the threshold signature for the Hedera governing council
- Validate the signature of the `Key` provided as the new `admin_key`
for the `Node`.
- Create the new node in state, this new node SHALL NOT be active in the
network at this time.
- When executing the next `freeze` transaction with `freeze_type` set to
`PREPARE_UPGRADE`, update network configuration and bring the
new node to an active status within the network. The node to be added
SHALL be active in the network following this upgrade.
### For a node deletion transaction.
- The node operator or Hedera council representative SHALL create a
`deleteNode` transaction.
- If the node operator creates the transaction
- The node operator MUST sign this transaction with the `Key`
set as the `admin_key` for the existing `Node`.
- The node operator SHALL deliver the signed transaction to the Hedera
council representative.
- The Hedera council representative SHALL arrange for council members to
review and sign the transaction.
- Once sufficient council members have signed the transaction, the
Hedera council representative SHALL submit the transaction to the
network.
- Upon receipt of a valid and signed node deletion transaction the network
software SHALL
- Validate the signature for the Hedera governing council
- Remove the existing node from network state. The node SHALL still
be active in the network at this time.
- When executing the next `freeze` transaction with `freeze_type` set to
`PREPARE_UPGRADE`, update network configuration and remove the
node to be deleted from the network. The node to be deleted SHALL NOT
be active in the network following this upgrade.
### For a node update transaction.
- The node operator SHALL create an `updateNode` transaction.
- The node operator MUST sign this transaction with the active `key`
assigned as the `admin_key`.
- The node operator SHALL submit the transaction to the
network. Hedera council approval SHALL NOT be sought for this
transaction
- Upon receipt of a valid and signed node update transaction the network
software SHALL
- If the transaction modifies the value of the "node account",
- Validate the signature of the active `key` for the account
assigned as the _current_ "node account".
- Validate the signature of the active `key` for the account to be
assigned as the _new_ "node account".
- Modify the node information held in network state with the changes
requested in the update transaction. The node changes SHALL NOT be
applied to network configuration, and SHALL NOT affect network
operation at this time.
- When executing the next `freeze` transaction with `freeze_type` set to
`PREPARE_UPGRADE`, update network configuration according to the
modified information in network state. The requested changes SHALL
affect network operation following this upgrade.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA stub to allow clients to do limited synchronous rpc calls to service AddressBookService.static final classA stub to allow clients to do synchronous rpc calls to service AddressBookService.static final classA stub to allow clients to do ListenableFuture-style rpc calls to service AddressBookService.static classBase class for the server implementation of the service AddressBookService.static final classA stub to allow clients to do asynchronous rpc calls to service AddressBookService.static interfaceThe Address Book service provides the ability for Hedera network node administrators to add, update, and remove consensus nodes. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic final io.grpc.ServerServiceDefinitionstatic io.grpc.MethodDescriptor<Transaction, TransactionResponse> static io.grpc.MethodDescriptor<Transaction, TransactionResponse> static io.grpc.MethodDescriptor<Transaction, TransactionResponse> static io.grpc.MethodDescriptor<Transaction, TransactionResponse> static io.grpc.ServiceDescriptorstatic io.grpc.MethodDescriptor<Transaction, TransactionResponse> static io.grpc.MethodDescriptor<Transaction, TransactionResponse> newBlockingStub(io.grpc.Channel channel) Creates a new blocking-style stub that supports unary and streaming output calls on the servicenewBlockingV2Stub(io.grpc.Channel channel) Creates a new blocking-style stub that supports all types of calls on the servicenewFutureStub(io.grpc.Channel channel) Creates a new ListenableFuture-style stub that supports unary calls on the servicenewStub(io.grpc.Channel channel) Creates a new async stub that supports all call types for the service
-
Field Details
-
SERVICE_NAME
- See Also:
-
-
Method Details
-
getCreateNodeMethod
-
getDeleteNodeMethod
-
getUpdateNodeMethod
-
getCreateRegisteredNodeMethod
public static io.grpc.MethodDescriptor<Transaction,TransactionResponse> getCreateRegisteredNodeMethod() -
getDeleteRegisteredNodeMethod
public static io.grpc.MethodDescriptor<Transaction,TransactionResponse> getDeleteRegisteredNodeMethod() -
getUpdateRegisteredNodeMethod
public static io.grpc.MethodDescriptor<Transaction,TransactionResponse> getUpdateRegisteredNodeMethod() -
newStub
Creates a new async stub that supports all call types for the service -
newBlockingV2Stub
public static AddressBookServiceGrpc.AddressBookServiceBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) Creates a new blocking-style stub that supports all types of calls on the service -
newBlockingStub
public static AddressBookServiceGrpc.AddressBookServiceBlockingStub newBlockingStub(io.grpc.Channel channel) Creates a new blocking-style stub that supports unary and streaming output calls on the service -
newFutureStub
public static AddressBookServiceGrpc.AddressBookServiceFutureStub newFutureStub(io.grpc.Channel channel) Creates a new ListenableFuture-style stub that supports unary calls on the service -
bindService
public static final io.grpc.ServerServiceDefinition bindService(AddressBookServiceGrpc.AsyncService service) -
getServiceDescriptor
public static io.grpc.ServiceDescriptor getServiceDescriptor()
-