Skip to main content

Sample AWS Blockchain Node Runner app for Besu Private Network

Contributed by
@dmitridr, @phuongnd11, @ishansohony, @gap892003, and others.

This blueprint deploys a ready-to-test private blockchain network powered by Hyperledger Besu with IBFT consensus. It is accessible by applications via AWS PrivateLink and Network Load Balancer (NLB).

High-level features include:

  • Automated blockchain node recovery based on deep health check.
  • Automated key management after initial setup.
  • Deployment of software changes without downtime.

Accessing the blueprint

info

This blueprint is published in a different repository.

Open here: Besu Private Chain on aws-samples

Overview of Deployment Architecture

Besu Private Network Deployment

The AWS CDK stack deploys the system that:

  1. Exposes the JSON-based Remote Procedure Call (RPC) API of 4-node Besu private network through NLB over AWS Private Link. (3 nodes is the minimum required for the functioning of IBFT consensus and 1 more is needed to tolerate a single faulty node)
  2. Nodes run as Docker containers on Amazon Elastic Container Service (ECS) backed by Amazon Elastic Compute Cloud (EC2)and Amazon Elastic Block Storage (EBS) services with Autoscaling Group (ASG) for automatic recovery.
  3. Nodes store secret keys in AWS Secrets Manager to protect them from deletion during recovery. AWS Lambda functions keep track of the mapping between running container nodes and their secrets in a Amazon DynamoDB table. They update the mapping if nodes are terminated and replaced by new containers.