Skip to main content

CDK construct to deploy an Ethereum node running on Amazon Managed Blockchain

Project description

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: 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}`);
}

📝 When you instantiate a stack in your CDK Application, make sure to include the correct environment configuration for CDK to compile correctly. For example, if you want to to specialize the stack for the AWS Account and Region that are implied by the current CLI configuration, use this line of code: env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdklabs.cdk-ethereum-node-0.0.105.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdklabs.cdk_ethereum_node-0.0.105-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file cdklabs.cdk-ethereum-node-0.0.105.tar.gz.

File metadata

File hashes

Hashes for cdklabs.cdk-ethereum-node-0.0.105.tar.gz
Algorithm Hash digest
SHA256 1528049ede676b15fb721fca6903516c8fcc02eceed59c8f8e6c4632993c13f8
MD5 7300a802a41df696e90ef2669b199f5a
BLAKE2b-256 486eed8187ae961b018482f58b3f4055b12caa7a43b4772bc22bd58b0623b256

See more details on using hashes here.

File details

Details for the file cdklabs.cdk_ethereum_node-0.0.105-py3-none-any.whl.

File metadata

File hashes

Hashes for cdklabs.cdk_ethereum_node-0.0.105-py3-none-any.whl
Algorithm Hash digest
SHA256 a41958fa981cc6a5718336fa875266c09805c9aecf30810c14b17aef2a74d16e
MD5 2d9c6584e4ebcac5ed65b2f0604d16eb
BLAKE2b-256 01f97e72d3ebb84fa2125d5e5d61a7c73d8ae6b37f2a10920690676c179729e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page