Blockchain Nodes

Environments are simply empty namespaces until they are populated with nodes.  To create a node:

  • Navigate to your environment home page and click the + ADD dropdown in the top right of the screen.
  • Select New Node
  • A node requires three pieces of configuration for the initial setup

  • Owning member - if you have multiple memberships under your organization's control, you can use this dropdown to bind the node to a membership of your choice.  This is particularly useful for scenarios where a proxy operator is managing the network on behalf of other organizations or where an organization has multiple departments and wants to logically partition resources.

  • Name - a string identifying the node in the environment.  This does not need to contain the name or membership of the owning organization as this information will be clearly displayed in the environment dashboard
  • Deployment Region - the cloud and underlying region where the node will be deployed.  If the environment is deployed as single region, then the region is inherited from the environment configuration.  If the environment is deployed as a hybrid multi-region, then any whitelisted regions will be available for choice.

  • Click Next to continue

Node Creation Page 1

Cloud Configurations

The second layer of node configuration is the optional integration with native cloud services.  These include KMS for additional encryption of the file system, CloudWatch Log Streams for analytics/troubleshooting, S3 Backups for data persistence and PrivateLink connections for non-public traffic.

Node Creation Page 2

Refer to AWS/Azure Cloud Integrations ✅ for more information on configuring integrations.

Size and Role

The last piece of configuration is to choose a size and role for the node.  Each size has a direct correlation to ingress rate limiting and underlying memory CPU.  Refer to the Rate Limiting and Resource Limitations article to learn more about the specific limitations.  The role of "signer" refers to the node's responsibility in the environment's consensus algorithm.  Any signing node will append its digital signature to the proposed block's header during IBFT and clique PoA voting rounds.

Node Creation Page 3

Node details

To view details about a node, click on the node name in from within an environment dashboard. The details are split into four tabs, which are explained below.

Information

This tab contains miscellaneous information about your node.

  • RPC endpoint, WS endpoint: using these endpoints and valid application credentials, you can connect to your node. This allows you to send transactions to the blockchain network, using the node as a proxy.
  • User Accounts: Ethereum account addresses that are stored in the node. The accompanying private keys for those accounts are stored in the node as well.
  • Private Tx Participant: only present in Quorum nodes. This is the address to target for private transactions.

Metrics

The metrics tab allows you to keep an eye on the health of your node. If you notice any failed transactions in your network, you can check here as part of your troubleshooting efforts to see if there are any clues. For example, if your node's CPU Utilization is approaching 100%, you may not have a large enough node to handle your transaction size and rate. In that case, upgrading to a larger node size may solve your problem.

Wallet

The wallet tab has a table with all of the Ethereum accounts stored in your node. All nodes automatically come with one account, stored in the Geth accounts array as accounts[0]. You can create additional accounts using the nodes API or by clicking the + New Account button. After creation, new accounts should show up in the table.

The wallet display is a new feature as of May 2019. If you do not see any accounts in your wallet, consider upgrading your environment to pickup this feature.

Logs

Displays a live stream of the node's logs. Logs are pruned (compressed and stored elsewhere) once every 24 hours, so this tab will display up to the last 24 hours worth of logs. This is another tool to use for troubleshooting or as a way to peel back the curtain of how the node operates.

Managing your Node

From the environment home page use the dropdown window next to your node to perform basic management actions.  The options are:

  • View Node Details - see node specific information around accounts, IDs, role, etc.
  • View Logs - view protocol specific logs for the node
  • Delete Node - Remove the node from the environment
  • Connect - open the Kaleido Connect panel for JSON/RPC or REST Gateway connections
  • Copy RPC Endpoint - RPC endpoint without application credentials
  • Copy WSS Endpoint - WebSocket endpoint without application credentials
  • Rename - Change the node's identifying string

Manage Nodes

To interactively manage a node, use the Ethereum Javascript Console to directly attach.  This can be done with a geth attach command.  For example:

geth attach https://username:password@rpcURL

From here you have access to the full library of web3.js APIs including the personal class.  Use this module to create and unlock accounts.  For example:

personal.newAccount()

Refer to the formal Web3.js API Documentation for more information on the available APIs and required parameters.