Aleph Zero Blockchain python scripts for running TestNet and DevNet.
- Create an account on AWS, set up credentials, and a default region as described here.
- Put keys for ssh in key_pairs (both the private key e.g.
aleph.pem
and its fingerprint (aleph.fingerprint
)) - Put SSL certificates in the nginx/cert directory (
self-signed.crt
andself-signed.key
) - Make sure you have the aleph node binary inside a bin directory (needed for committee key generation step,
cp <...>/aleph-node/target/release/aleph-node bin/
) - Install packages needed for orchestrating experiments: GNU parallel, fabric, zip, unzip and Python 3 packages (with
pip install -r requirements.txt
). - Then, run
ipython -i shell.py
. This opens a shell with procedures orchestrating experiments. The main procedure issetup_nodes(n_processes, chain_type, regions, instance_type, volume_size, tag)
that prepares then_processes
spread uniformly across specifiedregions
using EC2 machines ofinstance_type
. E.g.setup_nodes(4, 'dev', ['eu-west-1'], 't2.micro', 8, 'my_devnet')
. After it succeeds, thedispatch
task has to be run. run_task('some-task', tag=tag)
procedure calls the tasksome_task
defined infabfile.py
for all machines that was created with the tag, note the changes/-/_
,run_cmd(shell_cmd, tag)
dispatches theshell_cmd
on all machines.- To terminate instances run
ti(tag)
.
- dockerize nginx (nginx-proxy)
- add [letsencrypt(https://github.com/nginx-proxy/acmenhu-companion)] bot image to obtain real SSL certificates (requires moving DNS to AWS)