A terraform module to setup a private Ethereum network, using Go Ethereum, including Ethereum Network Stats and Ethereum Lite Explorer on Amazon ECS.
module "private_ethereum" {
source = "SCB-TechX-Saber-Labs/ecs-private-ethereum-blockchain/aws"
version = "0.1.0"
region = "ap-southeast-1"
network_name = "devel"
subnet_ids = [
"subnet-0d3dd066f35696746",
"subnet-0233a4b40b131621b",
"subnet-05580a63c0e79abd2"
]
is_public_subnets = false
vpc_id = "vpc-0204ec5c6f7ad746e"
initial_eth_allocations = {
"0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7": "100"
}
}
output "status" {
value = module.private_ethereum._status
}
output "chain_id" {
value = module.private_ethereum.chain_id
}
output "ecs_cluster_name" {
value = module.private_ethereum.ecs_cluster_name
}
output "ethereum_explorer_endpoint" {
value = module.private_ethereum.ethereum_explorer_endpoint
}
output "ethstats_endpoint" {
value = module.private_ethereum.ethstats_endpoint
}
output "geth_rpc_endpoint" {
value = module.private_ethereum.geth_rpc_endpoint
}
output "nlb_dns" {
value = module.private_ethereum.nlb_dns
}
Name | Version |
---|---|
terraform | ~> 1.0 |
Name | Version |
---|---|
hashicorp/aws | ~> 4 |
hashicorp/local | ~> 2.1 |
hashicorp/random | ~> 3.1 |
No modules.
Name | Description | Type | Default | Required |
---|---|---|---|---|
aws_cli_docker_image | The AWS CLI image to work with AWS services | string |
"amazon/aws-cli" |
no |
ethereum_explorer_port | The port number to expose the ethereum explorer endpoint | number |
80 |
no |
ethereum_lite_explorer_docker_image | The Ethereum Lite Explorer docker image | string |
"alethio/ethereum-lite-explorer:v1.0.0-beta.10" |
no |
ethstats_docker_image | The Ethereum ethstats monitoring tool docker image | string |
"puppeth/ethstats:latest" |
no |
ethstats_port | The port number to expose the ethstats endpoint | number |
3000 |
no |
go_ethereum_docker_image | The Go Ethereum docker image to run Ethereum client node | string |
"ethereum/client-go:alltools-v1.10.8" |
no |
go_ethereum_p2p_port | The port number to expose the ethereum rpc endpoint | number |
21000 |
no |
go_ethereum_rpc_port | The port number for ethereum p2p communication | number |
22000 |
no |
initial_eth_allocations | The map of wallet addresses and amounts in ETH to allocate the initial funds | map |
{} |
no |
is_public_subnets | Indicate that if subnets supplied in subnet_ids are public subnets | bool |
n/a | yes |
network_name | The network name to distinguish this deployment from others | string |
n/a | yes |
number_of_nodes | Number of Ethereum nodes | number |
2 |
no |
region | The target AWS region | string |
n/a | yes |
subnet_ids | The AWS subnets for ECS tasks deployments and Load Balancer provisioning | list |
n/a | yes |
vpc_id | The target AWS VPC | string |
n/a | yes |
Name | Description |
---|---|
_status | n/a |
chain_id | n/a |
ecs_cluster_name | n/a |
ethereum_explorer_endpoint | n/a |
ethstats_endpoint | n/a |
geth_rpc_endpoint | n/a |
nlb_dns | n/a |
This terraform module is modified from the ConsenSys's Quorum Cloud repository.