Running Cardano Phase 1 Shelley Testnet (jormungandr) on AWS

Image for post


The following is a guide to getting the Shelley testnet up and running on AWS and assumes some familiarity with AWS console.

Launch Instance

First login into your AWS account and navigate to EC2 and select launch instance, create an EC2 instance using the Ubuntu Server 18.04 image or latest.

Image for post
Image for post

Select the default options for all but apply the following options…

Under instance details create a instance role that has SSM permissions using the following guide, selecting create new IAM role to get started.

Image for post
Image for post

Under storage details select 35GB. Note: Free tier allows 30GB SSD although the recommended minimum amount for the testnet is 35GB.

Image for post
Image for post

Remove the SSH entry under the security group configuration, we’ll use System Manager for console access via the AWS console for additional convenience and security, the security group config should look like…

Image for post
Image for post

Configure Instance & Install Jormungandr

Now we can configure the testnet and cli.

Navigate to systems manager -> session manager within AWS and start a session. Follow the script below to install Jormungandr and the CLI.

#Install Rust 
curl https://sh.rustup.rs -sSf | sh
#Setup env path
. $HOME/.cargo/env
#Update rust
rustup install stable
rustup default stable
#Update instance with pre-reqs
sudo apt-get update
sudo apt install gcc
sudo apt install libssl-dev
sudo apt install pkg-config
#Create a directory for our install
mkdir -p ~/testnet
cd ~/testnet
#Get the source code for jormungandr
git clone https://github.com/input-output-hk/jormungandr
cd jormungandr
git submodule update --init --recursive
#Install jormungandr
cargo install --force --path jormungandr
cargo install --force --path jcli
# Make scripts exectuable
chmod +x ./scripts/bootstrap
#setup node
mkdir -p ~/testnet/self-node
cd ~/testnet/self-node
~/testnet/jormungandr/scripts/bootstrap | tee initial-configuration.txtjormungandr --genesis-block ./block-0.bin --config ./config.yaml --secret ./pool-secret1.yaml &> my_node.log &

That’s it! You now have a fully running node on AWS!

For more information and beyond see the following how-to-guides which we’re used as a basis for this AWS install.

Written by

Solution Architect @ Edge².uk | AWS Select Partner

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store