Git Product home page Git Product logo

aws-blockchain-node-runners's Introduction

AWS Blockchain Node Runners

This repository contains sample AWS Cloud Development Kit (CDK) applications (Node Runner Blueprints) to deploy on AWS self-service blockchain nodes for various protocols. For more information see Introducing AWS Blockchain Node Runners.

Documentation

For deployment instructions see AWS Blockchain Node Runners Blueprints

Adding blueprints for new nodes

If you'd like propose a Node Runner Blueprint for your node see Adding new Node Runner Blueprints

Directory structure

  • docs - General documentation applicable to all Node Runner Blueprints (CDK applications within the ./lib directory)
  • lib - The place for all Node Runner Blueprints and shared re-usable CDK constructs
  • lib/constructs - CDK constructs used in Node Runner Blueprints
  • lib/your-chain - Node Runner Blueprint for a specific chain
  • website - Content for the project web site built with Docusaurus
  • website/docs - Place for the new blueprint deployment instructions. (If you are adding a new blueprint, use on of the existing examples to refer to the README.md file within your Node Runner Blueprint directory inside lib).

License

This repository uses MIT License. See more in LICENSE

Contributing

See CONTRIBUTING for more information.

aws-blockchain-node-runners's People

Contributors

amazon-auto avatar ashtonstephens avatar chrisdotn avatar cniemanaws avatar dependabot[bot] avatar ebaizel avatar evertonfraga avatar frbrkoala avatar jonathan-eid avatar lubao avatar ngl-aws avatar t-nelson avatar varnarmat avatar vlasonfa avatar wgr2017 avatar wojciechos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

aws-blockchain-node-runners's Issues

Add instructions/feature to run a single node with an open RPC endpoint

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

The CDK consists of two main constructrs, the single-node and the ha-rpc-nodes-with-alb, which are meant to be used together. As such, the single node creates snapshots and isn't accessible by default from the outside. It would be nice to have an option to create a single node only without the need for the rpc nodes. This would be good for development purposes, where I'd need a node connected to one of the testnets, but would not need the full-blown HA features of the full CDK deployment.

Describe the solution you would like

  • An option to deploy an rpc node only
  • The RPC endpoint should be easily accessible form the outside.
  • It should not create snapshots on a regular basis

Run SUI nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

A blueprint for SUI nodes on AWS.

Describe the solution you would like

A simple way to run single-node setup for running SUI nodes on AWS.

Describe alternatives you have considered

N/A

Additional context

N/A

What is the outcome that you are trying to reach?
SUI Nodes on AWS Node Runners

Algorand nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

Allow running Algorand nodes on AWS in a standalone or highly available fashion

Describe the solution you would like

Typical CDK template specification of a Algorand node.

Describe alternatives you have considered

N/A

Additional context

Algorand is an AWS customer and is willing to help develop this stack

Stacks Nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

A user should be able to launch a stacks node from the CDK in this repo. This repo should support at least two different binary types:

  1. Stacks Signer
  2. Stacks Miner

Describe the solution you would like

Typical CDK template specification of a stacks node.

Describe alternatives you have considered

N/A, this is a good supported place to host this.

Additional context

After corresponding with the AWS team we've decided to introduce both a Stacks miner and a Stacks signer in AWS via this repository. I'll be adding the first iteration of this feature.

Arbitrum nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

Run Arbitrum nodes on AWS easily

Describe the solution you would like

Create a new Arbitrum stack

Describe alternatives you have considered

Additional context

Cloud9 Environment - Platform

Description

Please provide a clear and concise description of the issue you are encountering, and a reproduction of your configuration.

If your request is for a new feature, please use the Feature request template.

  • โœ‹ I have searched the open/closed issues and my issue is not listed.

Under Create a Cloud9 environment in the SetupCloud9 section, it says that you should pick Amazon Linux 2 for the platform you install on your EC2 instance. However, when if you choose Amazon Linux 2 and are using Node.js version 18, you will run into issues when you run this command:

npm install -g aws-cdk

The error you will likely see is this:

node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)

In order to have it working with no issues you will either have to downgrade to Node.js version 16. If you would like to use Node.js version 18, you will have to choose Amazon Linux 2023 for the platform you run on your EC2 instance. Furthermore, on the AWS console, it does say that the recommended platform is Amazon Linux 2023.

Versions

  • Module version [Required]:

  • AWS CDK version:

2.138.0

Reproduction Code [Required]

Steps to reproduce the behavior:

Expected behavior

Actual behavior

Terminal Output Screenshot(s)

With Amazon Linux 2:
9EA2A63C-41D1-47C5-87CA-DAD744740B36

With Amazon Linux 2023:
F1180708-39AE-4720-A9F5-E4BF5B5C0B0D

The recommended platform on the console:
18826398-D47C-45C5-A6F4-68D061F6A919_4_5005_c

Additional context

Solana RPC node returns connection refused

  • [ - ] โœ‹ I have searched the open/closed issues and my issue is not listed.

Please describe your question here

Hi. I'm trying to run the single node setup.

After deploying it and doing ssh to the ec2 instance where the node is running, I got the following error with a health check request.

# error
curl: (7) Failed to connect to localhost port 8899: Connection refused
# request
curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d ' {"jsonrpc":"2.0","id":1,"method":"getBlockHeight"}'

What am I missing?

Additional context

  • I waited more than 2 hours. Does it take more?
  • Validator's log showed only one line Started Solana Validator.

Base node on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

A blueprint for Base nodes on AWS.

Describe the solution you would like

A simple way to run single-node setup for ruining Base nodes on AWS.

Describe alternatives you have considered

N/A

Additional context

N/A

Scroll nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

A new blueprint for running Scroll nodes on AWS

Describe the solution you would like

I would like to add a new blueprint to run a simple single-node version of Scroll node on AWS.

Describe alternatives you have considered

N/A

Additional context

N/A

Shardeum Validator Node on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

I'd like to run a single Shardeum validator node on AWS

Describe the solution you would like

A CDK blueprint that runs a EC2 instance as Shardeum Validator node.

Describe alternatives you have considered

Create AWS marketplace listing

Additional context

NA

Theta Edge Node on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

A blueprint for THETA Edge Node on AWS.

Describe the solution you would like

An easy way to launch a THETA Edge Node on AWS.

Describe alternatives you have considered

None

Additional context

None

Hyperleder Indy nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

Run Hpyerledger Indy nodes on AWS based on community's document.

Describe the solution you would like

A CDK blueprint that runs EC2 instances as Indy Trustee and Stewards.

Describe alternatives you have considered

Additional context

cdk-nag to hyperledger indy branch

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

Add cdk-nag to indy private branch. And fix deploy error.

Describe the solution you would like

According to PR #69 , integrating indy into the main branch requires cdk to implement cdk-nag security checks.

Describe alternatives you have considered

Additional context

Running list of improvements to the Sui deployment

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

  • fix shellchecker recommendations for node.js
  • add sync-checker and populate cloudwatch dashboard
  • implement automated CDK test file
  • enable instance store, besides EBS volumes
  • add well-architected considerations
  • add minimal hardware requirements to README
  • avoid using AWS credentials on config files โ€” prefer STS tokens or roles

cloud9 setup error and couldnot find the right public subnets in default vpc

Description

  1. when setup cloud9 using node 18,it get error.
  2. when deploy eth sync node, need public subnets in default vpc, and the public subnets need to set Auto-assign public IPv4 address to YES
  3. when deploy eth rpc node, need at least two public subnets in different Availability Zones, and the cdk stack need to find the right public subnets
  • [ yes] โœ‹ I have searched the open/closed issues and my issue is not listed.

Versions

  • Module version [Required]: main

  • AWS CDK version:

2.95.1

Reproduction Code [Required]

nvm install 16
nvm use 16
nvm alias default 16

const vpcSubnets= {
subnetType: ec2.SubnetType.PUBLIC,
onePerAz: true,
availabilityZones: availabilityZones,
}

Steps to reproduce the behavior:

there are two public subnets in default vpc, which in az a and az f.
deploy eth rpc node using:
npx cdk deploy eth-rpc-nodes --json --outputs-file rpc-node-deploy.json

Expected behavior

the stack need to success

Actual behavior

eth-rpc-nodes (eth-rpc-nodes-geth-lighthouse): deploying... [1/1]
eth-rpc-nodes-geth-lighthouse: creating CloudFormation changeset...
1:51:52 AM | CREATE_FAILED | AWS::ElasticLoadBalancingV2::LoadBalancer | rpcnodesalbB907C546
Resource handler returned message: "At least two subnets in two different Availability Zones must be specified (Service: ElasticLoadBalancingV2, Status Code: 400, Request ID: d66b6cac-fa9f-4a15-a415-44929a702e73)" (RequestTo
ken: bcf88faf-74eb-eaec-7e1d-0af97aa6292e, HandlerErrorCode: InvalidRequest)

Terminal Output Screenshot(s)

โŒ eth-rpc-nodes (eth-rpc-nodes-geth-lighthouse) failed: Error: The stack named eth-rpc-nodes-geth-lighthouse failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Resource handler returned message: "At least two subnets in two different Availability Zones must be specified (Service: ElasticLoadBalancingV2, Status Code: 400, Request ID: d66b6cac-fa9f-4a15-a415-44929a702e73)" (RequestToken: bcf88faf-74eb-eaec-7e1d-0af97aa6292e, HandlerErrorCode: InvalidRequest)
at FullCloudFormationDeployment.monitorDeployment (/home/ec2-user/environment/aws-blockchain-node-runners/node_modules/aws-cdk/lib/index.js:443:10232)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.deployStack2 [as deployStack] (/home/ec2-user/environment/aws-blockchain-node-runners/node_modules/aws-cdk/lib/index.js:446:153546)
at async /home/ec2-user/environment/aws-blockchain-node-runners/node_modules/aws-cdk/lib/index.js:446:136809

โŒ Deployment failed: Error: The stack named eth-rpc-nodes-geth-lighthouse failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Resource handler returned message: "At least two subnets in two different Availability Zones must be specified (Service: ElasticLoadBalancingV2, Status Code: 400, Request ID: d66b6cac-fa9f-4a15-a415-44929a702e73)" (RequestToken: bcf88faf-74eb-eaec-7e1d-0af97aa6292e, HandlerErrorCode: InvalidRequest)
at FullCloudFormationDeployment.monitorDeployment (/home/ec2-user/environment/aws-blockchain-node-runners/node_modules/aws-cdk/lib/index.js:443:10232)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.deployStack2 [as deployStack] (/home/ec2-user/environment/aws-blockchain-node-runners/node_modules/aws-cdk/lib/index.js:446:153546)
at async /home/ec2-user/environment/aws-blockchain-node-runners/node_modules/aws-cdk/lib/index.js:446:136809

The stack named eth-rpc-nodes-geth-lighthouse failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Resource handler returned message: "At least two subnets in two different Availability Zones must be specified (Service: ElasticLoadBalancingV2, Status Code: 400, Request ID: d66b6cac-fa9f-4a15-a415-44929a702e73)" (RequestToken: bcf88faf-74eb-eaec-7e1d-0af97aa6292e, HandlerErrorCode: InvalidRequest)

Additional context

NEAR nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

Run NEAR nodes on AWS. Standalone or highly available.

Describe the solution you would like

Typical CDK template specification to easily deploy and run NEAR nodes on AWs.

Describe alternatives you have considered

N/A

Additional context

NEAR is an AWS customer and is willing to help develop this

Updates required for node v18 support

The current instructions use node v16 to deploy the CDK templates. However v16 will be eol'ed this year (2024) so we should update to v18.

However, this will also mean updating the Cloud9 setup to use Amazon Linux 2023.

When I try deploying with node v18 I got this error:

node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)

From this thread, it seems that for >v16 support, you need to use latest Amazon Linux https://stackoverflow.com/a/72038045/657180.

To do's:

  • update Cloud9 to Amazon Linux 2023
  • update steps to use node v18

Starknet nodes on AWS

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions; they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

What is the outcome that you are trying to reach?

A simplified process to deploy and run a single-node Starknet setup on AWS.

Describe the solution you would like

A blueprint that facilitates the deployment of Starknet node on AWS, designed for ease of use, reliability, and quick setup.

Describe alternatives you have considered

N/A

Additional context

N/A

Add Tezos

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

Add Tezos node blueprint to node-runners

Describe the solution you would like

a new blueprint targetting tezos nodes.

Describe alternatives you have considered

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.