Skip to content

The testnets repo for the Juno Blockchain.

License

Notifications You must be signed in to change notification settings

Qwoyn/testnets

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Juno Lucina Testnet

JUNO Testnet

Planned Start Time: June 23rd, 16:00 UTC

This testnet will not be incentivized.

If you're interested in earning Juno, checkout Hack Juno.

Setup

You will need Starport installed. We'll be using SPN to deploy the chain and connect validators. SPN is being actively developed, please, build Starport from source and use the latest develop branch.

Install and build latest Starport:

Prerequisites: If you want to install Starport locally, make sure to have Golang >=1.16. The latest version of Starport also requires Protocol Buffer compiler to be installed. Node.js >=12.19.0 is used to build the welcome screen, block explorer and to run the web scaffold.

Build from source

Starport uses Git LFS. Please make sure that it is installed before cloning Starport.

If you have installed Git LFS after cloning Starport, checkout to your preferred branch to trigger a pull for large files or run git lfs pull.

You need to ensure your gopath configuration is correct. If the following 'make' step does not work then you might have to add these lines to your .profile or .zshrc in the users home folder:

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
git clone https://github.com/tendermint/starport
cd starport && git checkout develop
make

This will build and install starport binary into $GOBIN.

Note: When building from source, it is important to have your $GOPATH set correctly. When in doubt, the following should do:

mkdir ~/go
export GOPATH=~/go
Building Juno

Be sure to use the latest version.

git clone https://github.com/CosmosContracts/Juno
cd Juno
starport chain build

Minimum hardware requirements

  • 2GB RAM
  • 25GB of disk space
  • 1.4 GHz amd64 CPU

The first testnet will test using SPN to deploy the chain and connect validators.

The goal is simply to get the chain started and assess the viability of using SPN.

Setup validator node

Below are the instructions to generate & submit your genesis transaction

Generate genesis transaction (gentx)

  1. Initialize the Juno directories and create the local genesis file with the correct chain-id

    junod init <moniker-name> --chain-id=lucina
  2. Create a local key pair

    > junod keys add <key-name>
  3. Add your account to your local genesis file with a given amount and the key you just created. Use only 100000000ujuno, other amounts will be ignored.

    junod add-genesis-account $(junod keys show <key-name> -a) 100000000ujuno
  4. Create the gentx

    junod gentx <key-name> 90000000ujuno --chain-id=lucina

    If all goes well, you will see a message similar to the following:

    Genesis transaction written to "/home/user/.juno/config/gentx/gentx-******.json"

Submit genesis transaction

  • Fork the testnets repo into your Github account

  • Clone your repo using

    git clone https://github.com/<your-github-username>/testnets
  • Copy the generated gentx json file to <repo_path>/lucina/gentx/

    > cd testnets
    > cp ~/.juno/config/gentx/gentx*.json ./lucina/gentx/
  • Commit and push to your repo

  • Create a PR onto https://github.com/CosmosContracts/testnets

  • Only PRs from individuals / groups with a history successfully running nodes will be accepted. This is to ensure the network successfully starts on time.

Running in production

Download Genesis file when the time is right. Put it in your /home/user/.juno folder.

Create a systemd file for your Juno service:

sudo vi /etc/systemd/system/junod.service

Copy and paste the following and update <YOUR_USERNAME>, <GO_WORKSPACE>, and <CHAIN_ID>:

Description=Juno daemon
After=network-online.target

[Service]
User=root
ExecStart=/home/<YOUR_USERNAME>/<GO_WORKSPACE>/go/bin/junod start --p2p.laddr tcp://0.0.0.0:26656 --home /home/<YOUR_USERNAME>/.juno
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target

2 This assumes $HOME/go_workspace to be your Go workspace, and $HOME/.juno to be your directory for config and data. Your actual directory locations may vary.

Enable and start the new service:

sudo systemctl enable junod
sudo systemctl start junod

Check status:

junod status

Check logs:

journalctl -u junod -f

Learn more

About

The testnets repo for the Juno Blockchain.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published