This unincentivized testnet will start at juno v11.0.0
.
The faucet will be patched to have a large sum of fake USDC, usdcx.
- Stop your node
- Build
v11.0.0
tag ofjunod
- Reset using
junod tendermint unsafe-reset-all --home ~/.juno
(the--home
flag is required) - Remove genesis
rm $HOME/.juno/config/genesis.json
- Remove gentxs
rm -r $HOME/.juno/config/gentx/
- If you are using cosmovisor, remove symlink:
rm $HOME/.juno/cosmovisor/current
- Then remove upgrades dir
rm -r $HOME/.juno/cosmovisor/upgrades && mkdir $HOME/.juno/cosmovisor/upgrades
- Move
junod
to genesis bin:cp $HOME/go/bin/junod $DAEMON_HOME/cosmovisor/genesis/bin
- Remove any
upgrade-info
file in thedata
dir:rm $HOME/.juno/data/upgrade-info.json
- Check genesis bin is
v11.0.0
:$DAEMON_HOME/cosmovisor/genesis/bin/junod version
- If statesync is enabled in your config, turn it off
- Ensure fastnode config is set (see below)
- Follow generate gentx as normal below
If you are using a remote signer (TMKMS) you will also need to:
- Stop the chain's signing process on the signer box
- Update chain id in that chain's config file
- Open the chain id's configured consensus.json and put
0
forheight
,round
andstep
. - Copy the
priv_validator_key.json
you used on the signer box to whatever box you use to generate the gentx, before generating it - Restart the chain's signer process on the signer box before network genesis
Prerequisites: Make sure to have Golang >=1.18.
- 8-16GB RAM
- 200GB of disk space
- 2 cores
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:
nano ~/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
Source update .profile
source .profile
git clone https://github.com/CosmosContracts/juno
cd juno
git checkout v11.0.0
make build && make install
Check that you have the right Juno version installed:
$ junod version --long
name: juno
server_name: junod
version: v11.0.0
commit: b27fc7d9312267b293d3355dd4a06523d76e247f
build_tags: netgo,ledger
Important! you MUST apply this config in app.toml
when upgrading. This should go in the base configuration section, under the index-events = []
configuration line:
# IavlCacheSize set the size of the iavl tree cache.
# Default cache size is 50mb.
iavl-cache-size = 781250
# IAVLDisableFastNode enables or disables the fast node feature of IAVL.
# Default is true.
iavl-disable-fastnode = false
Below are the instructions to generate & submit your genesis transaction
- Initialize the Juno directories and create the local genesis file with the correct chain-id:
junod init <moniker-name> --chain-id=uni-6
- Create a local key pair (skip this step if you already have a key):
> junod keys add <key-name>
- Add your account to your local genesis file with a given amount and the key you just created. Use only
10000000000ujunox
, other amounts will be ignored.
junod add-genesis-account $(junod keys show <key-name> -a) 10000000000ujunox
- Create the gentx, use only
9000000000ujunox
:
junod gentx <key-name> 9000000000ujunox --chain-id=uni-6
If all goes well, you will see a message similar to the following:
Genesis transaction written to "${HOME}/.juno/config/gentx/gentx-******.json"
- Change minimum gas prices in
app.toml
to0.0025ujunox
.
-
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>/uni-6/gentx/
. If you want, rename it to<your-validator-moniker>.json
so it's easier to identify.> cd testnets > cp "${HOME}/.juno/config/gentx/gentx*.json" ./uni-6/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.
Note, as usual we'll be going through some upgrades for this testnet. Consider using Cosmovisor to make your life easier. Setting up Cosmovisor is covered in the Juno Documentation.
Download Genesis file when the time is right. Put it in your ${HOME}/.juno
folder.
If you have not installed cosmovisor, create a systemd file for your Juno service:
sudo nano /etc/systemd/system/junod.service
Copy and paste the following and update <YOUR_USERNAME>
:
Description=Juno daemon
After=network-online.target
[Service]
User=juno
ExecStart=/home/<YOUR_USERNAME>/go/bin/junod start
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
Enable and start the new service:
sudo systemctl enable junod
sudo systemctl start junod
Check status:
junod status
Check logs:
journalctl -u junod -f
Genesis File
curl -s https://raw.githubusercontent.com/CosmosContracts/testnets/main/uni-6/genesis.json > ~/.juno/config/genesis.json
Genesis sha256
sha256sum "${HOME}/.juno/config/genesis.json"
# TBC
junod version
$ junod version --long
name: juno
server_name: junod
version: v11.0.0
commit: b27fc7d9312267b293d3355dd4a06523d76e247f
build_tags: netgo,ledger
Seed nodes
TBD
Persistent Peers
TBC