https://github.com/cardinal-cryptography/aleph-testnet
Aleph Zero Blockchain Helm chart with all the necessary tooling to run it locally.
https://github.com/cardinal-cryptography/aleph-testnet
Last synced: 6 months ago
JSON representation
Aleph Zero Blockchain Helm chart with all the necessary tooling to run it locally.
- Host: GitHub
- URL: https://github.com/cardinal-cryptography/aleph-testnet
- Owner: Cardinal-Cryptography
- License: apache-2.0
- Created: 2021-06-25T08:13:54.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-05-10T10:43:11.000Z (about 2 years ago)
- Last Synced: 2023-05-10T11:39:52.203Z (about 2 years ago)
- Language: Python
- Size: 197 KB
- Stars: 6
- Watchers: 7
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Aleph-Testnet
Aleph Zero Blockchain python scripts for running TestNet and DevNet.
# Usage instructions
- Create an account on AWS, set up credentials, and a default region as described [here](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration).
- 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` and `self-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 is `setup_nodes(n_processes, chain_type, regions, instance_type, volume_size, tag)` that prepares the `n_processes` spread
uniformly across specified `regions` using EC2 machines of `instance_type`. E.g.
`setup_nodes(4, 'dev', ['eu-west-1'], 't2.micro', 8, 'my_devnet')`.
After it succeeds, the `dispatch` task has to be run.
- `run_task('some-task', tag=tag)` procedure calls the task `some_task` defined in `fabfile.py` for all machines that was created with the tag, note the change `s/-/_`,
- `run_cmd(shell_cmd, tag)` dispatches the `shell_cmd` on all machines.
- To terminate instances run `ti(tag)`.# TODOs
- dockerize nginx ([nginx-proxy](https://github.com/nginx-proxy/nginx-proxy))
- add [letsencrypt(https://github.com/nginx-proxy/acmenhu-companion)] bot image to obtain real SSL certificates (requires moving DNS to AWS)