Ethereum on Amazon Managed Blockchain
![NuGet:version](https://img.shields.io/nuget/v/Cdklabs.CdkEthereumNode?color=blue)
This repository contains a CDK construct to deploy an Ethereum node running
on Amazon Managed Blockchain. The following networks are supported:
- Mainnet (default)
- Testnet: Ropsten
- Testnet: Rinkeby
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 } 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', {
networkType: NetworkId.ROPSTEN,
availabilityZone: 'us-east-1b',
instanceType: InstanceType.BURSTABLE3_LARGE,
});
The following provides an example of how to leverage the construct to deploy more than one node at a time.
for (const i = 0; i < 10; i++) {
new EthereumNode(this, `Example_${i}`);
}
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.