All Projects → AlisProject → private-chain

AlisProject / private-chain

Licence: other
⛓An Ethereum PoA private-chain environment on AWS.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to private-chain

docker-geth-lb
MyEtherWallet AWS set up. Deploy public-facing Ethereum nodes using AWS CloudFormation / Docker / Parity / Geth / ethstats
Stars: ✭ 127 (+452.17%)
Mutual labels:  cloudformation, parity
serverless-cognito-add-custom-attributes
Add custom attributes to an existing CloudFormation-managed CognitoUserPool from serverless without losing all your users
Stars: ✭ 30 (+30.43%)
Mutual labels:  cloudformation
aws-cfn-custom-resource-lambda-edge
🏗 AWS CloudFormation custom resource that allows deploying Lambda@Edge from any region
Stars: ✭ 19 (-17.39%)
Mutual labels:  cloudformation
aws-cloudformation-simplified
AWS CloudFormation - Simplified | Hands On Learning !!
Stars: ✭ 51 (+121.74%)
Mutual labels:  cloudformation
cloudformation-checklist
The checklist for meticulous AWS DevOps engineers
Stars: ✭ 68 (+195.65%)
Mutual labels:  cloudformation
AWSlack
Get Slack notifications on AWS CloudWatch events
Stars: ✭ 21 (-8.7%)
Mutual labels:  cloudformation
aws-cloudformation-cognito-identity-pool
A Lambda-backed Custom Resource for a Cognito Identity Pool in CloudFormation
Stars: ✭ 35 (+52.17%)
Mutual labels:  cloudformation
cloudformation-operator
A Kubernetes operator for managing CloudFormation stacks via a CustomResource
Stars: ✭ 98 (+326.09%)
Mutual labels:  cloudformation
brume
Brume: an AWS CloudFormation deployer
Stars: ✭ 12 (-47.83%)
Mutual labels:  cloudformation
aws-maven-plugin
Deploys resources to AWS using maven
Stars: ✭ 25 (+8.7%)
Mutual labels:  cloudformation
serverless-rules
Compilation of rules to validate infrastructure-as-code templates against recommended practices for serverless applications.
Stars: ✭ 352 (+1430.43%)
Mutual labels:  cloudformation
CloudGenesis
Automation for deploying & deleting CloudFormation stacks sourced from a Git repo
Stars: ✭ 34 (+47.83%)
Mutual labels:  cloudformation
aws-leastprivilege
Generates an IAM policy for the CloudFormation service role that adheres to least privilege.
Stars: ✭ 85 (+269.57%)
Mutual labels:  cloudformation
bora
A Ruby command line tool and rake tasks for working with cloudformation stacks and cfndsl
Stars: ✭ 18 (-21.74%)
Mutual labels:  cloudformation
qaz
qaz—A CLI tool for Templating & Managing stacks in AWS Cloudformation
Stars: ✭ 89 (+286.96%)
Mutual labels:  cloudformation
formica
Simple Tool to deploy Cloudformation Templates
Stars: ✭ 60 (+160.87%)
Mutual labels:  cloudformation
cloudniite
AWS Lambda Optimization and Monitoring Tool
Stars: ✭ 25 (+8.7%)
Mutual labels:  cloudformation
kubernetes-ami
A simple AMI and CloudFormation for launching Kubernetes on AWS
Stars: ✭ 41 (+78.26%)
Mutual labels:  cloudformation
zookeeper-on-aws
zookeeper-on-aws (with dynamic reconfiguration based on r3.5.3-beta)
Stars: ✭ 15 (-34.78%)
Mutual labels:  cloudformation
takomo
Organize, parameterize and deploy your CloudFormation stacks
Stars: ✭ 27 (+17.39%)
Mutual labels:  cloudformation

ALIS
An Ethereum private-chain environment for the ALIS that using Parity PoA.

Prerequisite

  • aws-cli
  • packer
  • ansible
  • jq
  • direnv

Environment valuables

# Create .envrc to suit your environment.
cp -pr .envrc.sample .envrc
direnv edit

Preparation

Packer

Build an AMI that the nodes of Parity PoA.

Parity resources

You have to change ETH account keys when you use this in production.

  • ./packer/ansible/roles/parity/templates/PCParityPoA*_key.j2

Also spec.json.

  • ./packer/ansible/roles/parity/templates/spec.json.j2

Build

cd ./packer/
packer build ./parity-poa.json

Create EC2 KeyPair

aws ec2 create-key-pair --key-name private-chain

Create EIP

./create_eip.sh

Set SSM valuables

You have to specify SSM valuables as can as possible.
Such as IAM and EIP information you created above.

CloudFormation

Deployment

./deploy.sh

Fix API settings via a script

# Get API ID
aws apigateway get-rest-apis | jq -r --arg ALIS_API_NAME "${ALIS_APP_ID}api" '.items[] | select(.name==$ALIS_API_NAME).id'

# Set API ID to PRIVATE_CHAIN_REST_API_ID in .envrc
direnv edit

./fix_api.sh

After deployment

Connect Instances via Bastion

cp -p .ec2ssh ~/
vi ~/.ec2ssh

Fix some point for your environment.
Then execute ec2ssh update.

echo -e \\nHost PC*\\n  ProxyCommand ssh -W %h:%p Bastion >> ~/.ssh/config 
ec2ssh update

Now you can connect:

ssh PCParityPoA2a

Also you can use tmuxinator.

cp -p ./private_chain.yml ~/.tmuxinator/
mux private_chain

Configure servers.

# You have to edit HostNames.
vi ./ansible/roles/common/files/config

# Also you have to specify your hosts.
cd ansible
cp -p hosts.sample hosts
vi hosts

# Run ansible
ansible-galaxy install -p ./roles -r requirements.yml
ansible-playbook -i hosts site.yml

Connect Parity nodes each other

You can use [parity dir]/enode.sh.

Migrate private chain contracts from Bastion server

See: Private chain contracts

Fix template.yaml's FIXME: tags and deploy again

Such as IAM Policies, and others.

Set SSM valuables again

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].