Cdklabs.CdkEthereumNode

CDK construct to deploy an Ethereum node running on Amazon Managed Blockchain (Stability: Stable)


Keywords
aws, aws-managedblockchain, aws::managedblockchain, awscdk, blockchain, cdk, ethereum, managedblockchain
License
MIT-0
Install
Install-Package Cdklabs.CdkEthereumNode -Version 0.0.137

Documentation

Ethereum on Amazon Managed Blockchain

license release npm:version PyPi:version Maven:version NuGet:version

This repository contains a CDK construct to deploy an Ethereum node running on Amazon Managed Blockchain. The following networks are supported:

  • Mainnet (default)
  • Testnet: Goerli
  • Testnet: Rinkeby
  • Testnet: Ropsten

Installation

Note that this construct requires AWS CDK v2.

JavaScript

npm install --save @cdklabs/cdk-ethereum-node

Python

pip3 install cdklabs.cdk-ethereum-node

Java

Add the following to pom.xml:

<dependency>
  <groupId>io.github.cdklabs</groupId>
  <artifactId>cdk-ethereum-node</artifactId>
</dependency>

.NET

dotnet add package Cdklabs.CdkEthereumNode

Usage

A minimally complete deployment is shown below. By default, a bc.t3.large node will be created on the Ethereum Mainnet.

import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { EthereumNode, Network, InstanceType } from '@cdklabs/cdk-ethereum-node';

export class MyStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);
    new EthereumNode(this, 'Example');
  }
}

The equivalent Python code is as follows:

from aws_cdk import Stack
from cdklabs.cdk_ethereum_node import EthereumNode

class MyStack(Stack):
    def __init__(self, scope, id, **kwargs):
        super().__init__(scope, id, **kwargs)
        EthereumNode(self, 'Example')

The following is a more complex instantiation illustrating some of the node configuration options available.

new EthereumNode(this, 'Example', {
  network: Network.ROPSTEN,
  availabilityZone: 'us-east-1b',
  instanceType: InstanceType.BURSTABLE3_LARGE,
});

See the API Documentation for details on all available input and output parameters.

References

Contributing

Pull requests are welcomed. Please review the Contributing Guidelines and the Code of Conduct.

Security

See CONTRIBUTING for more information.

Authors

License

This project is licensed under the MIT-0 License. See the LICENSE file for details.