Kite module for crypto-nodes deployment
Supported currencies:
ETH and ERC20 tokens - Geth.
BTC - Bitcoind.
BCH - Bitcoin ABC.
LTC - Litecoind.
Dash - Dashd.
Ripple - Rippled
Do not apply Terraform configuration from the environment
Fill in the configurations of your nodes deployment
$> $EDITOR config/environments/<env>/vars.kite-opex.yml
Find this block in the file and fill it in with the correct options
cryptonodes:
ethereum:
enabled: true # Set to false if you don't want it to be deployed
client: "geth" # Available options: geth, parity.
network: "rinkeby" # Available options: rinkeby, kovan, mainnet.
disk_size: "30"
hostname: "eth.helioscloud.com"
rpcport: "8545"
port: "30303"
whitelisted_ips: ["0.0.0.0/0"]
ripple:
...
You need to build images for cryptonodes you want to deploy (ethereum bitcoind bitcoincash litecoind dashd rippled wcg):
$> bundle exec rake "cryptonodes:build[image]" # This will build the exact image you specify
$> bundle exec rake "cryptonodes:build:all" # This will build all images enabled in config/environments/stage/vars.kite-opex.yml
All images will be stored in gcp, you do not need to build an image if you have one already.
After build finishes, put image (smth like geth-1524260905
) to config/environments/<env>/vars.kite-opex.yml
:
variables:
terraform:
ethereum_image: geth-1524260905
Make sure you disabled cryptonodes you do not want to deploy (enabnled: false
)
Now you can deploy cryptonodes:
kite terraform init
kite terraform apply
Configuration for each cryptonode you can find in:
$> cat cryptonodes/images/(cryptonode).json # Configuration for cryptonode image
$> cat cryptonodes/resources/(cryptonode)/(cryptonode).conf # Configuration for cryptonode image
$> cat cryptonodes/resources/(cryptonode)/(cryptonode).service # Configuration for cryptonode image
$> cat cryptonodes/resources/scripts/install-(cryptonode).sh # Bash script that packer uses to build cryptonode image
After successfull deployment, crypto node synchronization will start and take a while. Please be patient.
You can find more information about your deployment using gcloud
or Google Cloud Platform UI.
$> gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
image-xxxx xxxxxx-xxxxx-x xx-xxxxxxxx-x 10.xxx.x.x 35.xxx.xxx.xxx RUNNING
You can also see your deployed cryptonodes using
$> kite t show
Among other created resources you'll see deployed cryptonodes on virtual machines
If you want to tear down a cryptonode you can do:
$> kite t destroy (cryptonode VM) # you can find the exact VM by doing `kite t show`