Skip to content

Instantly share code, notes, and snippets.

@Validatrium
Last active April 26, 2022 15:42
Show Gist options
  • Save Validatrium/f7f5f50f717b51be8b603402a53d8708 to your computer and use it in GitHub Desktop.
Save Validatrium/f7f5f50f717b51be8b603402a53d8708 to your computer and use it in GitHub Desktop.
Cosmic-Horizon. Join Darkmatter-1 Testnet [Ubuntu 20.04]

Tutorial created by Validatrium (more info on our projects at validatrium.com)

NOTE: all wallet keys and mnemonics generated in this guide are fake, you should use your own.

keep your mnemonic phrases safe and never provide them to anyone!

Darkenergy-1 Testnet Ubuntu 20.04

1. Prerequires (off docs):

  • Ubuntu 20.04 (tested on this OS)
  • CPU: 4 cores
  • RAM: 16GB
  • 200 SSD
  • GO
  • Startport

Open ports (by default)

26656/tcp6 - p2p
9090/tcp6 - gRPC
9091/tcp6 - gRPC-web

Install

prerequires

sudo apt update  
sudo apt install build-essential jq wget git -y


# go installation
wget https://go.dev/dl/go1.17.5.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gz

echo 'export GOPATH=/usr/local/go' >> $HOME/.bashrc
echo 'export GOBIN=$GOPATH/bin' >> $HOME/.bashrc
echo 'export PATH=$PATH:$GOBIN' >> $HOME/.bashrc
source $HOME/.bashrc

# starport installation
curl https://get.starport.network/starport! | bash

# coho installation
git clone https://github.com/cosmic-horizon/coho.git
cd coho
starport chain build # it will take some time

# create custom user: 
adduser coho
usermod -aG sudo coho # make this user admin
cp $HOME/.bashrc /home/coho
su - coho

init coho

# insert usefull variables 
## replace <node-name> with your value
echo 'export ACCOUNT=<node-name>' >> $HOME/.bashrc
echo 'export CHAIN=darkenergy-1' >> $HOME/.bashrc
source $HOME/.bashrc

# init coho
cohod init $ACCOUNT --chain-id $CHAIN

# download genesis
curl https://raw.githubusercontent.com/cosmic-horizon/testnets/main/darkenergy-1/genesis.json -o $HOME/.coho/config/genesis.json

working with keys

# create key
cohod keys add $ACCOUNT 

# save the output from command above:

# this is just example, do not try to use it on your node!
# ===========
- name: Test
  type: local
  address: coho1rcs9eguzgd09zfpng8fygxmqh25vkdvr9dxgzt
  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A0986sjvaSJ59rTZueGg4NVJyNkgRopsnV3ixAN4RFSh"}'
  mnemonic: ""


**Important** write this mnemonic phrase in a safe place.
It is the only way to recover your account if you ever forget your password.

valid trophy benefit fox fabric doll twist pill tomato balcony rural begin desk submit become nothing begin sun ten deny edit wheel apple pigeon
# ============


# insert usefull variables 
## replace <value> with your value
echo 'export ADDRESS=<your-wallet-address>' >> $HOME/.bashrc
source $HOME/.bashrc
## get your valoper address: 
cohod keys show -a $ADDRESS --bech val
echo 'export VALIDATOR=<your-valoper-address>' >> $HOME/.bashrc
# check logs
echo 'alias cohod_logs="journalctl -u cohod -f"' >> $HOME/.bashrc
# check balance
echo 'alias cohod_balance="cohod q bank balances $ADDRESS"' >> $HOME/.bashrc
# get information about your validator
echo 'alias cohod_info="cohod q staking validator $VALIDATOR"' >> $HOME/.bashrc
source $HOME/.bashrc

run coho

Get peers from: https://github.com/cosmic-horizon/testnets/blob/main/darkenergy-1/PEERS

# paste your peers to your config
nano $HOME/.coho/config/config.toml
# here is an example of the line you need to change:
# replace field persistent_peers = "" with peers from link above
persistent_peers = "76b66c004d3487ac9eadfd091bdd8b430d129763@195.201.173.122:26656,63ceb381fdb27e780dd6df11065da8d033719699@141.94.139.233:26656,cc297ea4d0735d714f5e1537ab04ceb29cf0682b@95.214.55.4:26656,89f41e2d8c4370018b24dca76d4364767586c161@178.18.255.202:26656,47d3ea04c92acdf717c9038d2a25dcc9e6bc60f1@116.203.35.46:26656,4bd1f831aeec68e37cd7e44777bd9d7b03213fc0@176.57.150.162:26656,e4f0f5ef4a24cbf62c60aa0e571468e387a5b603@142.132.174.72:26656,5ff83ea632b15b565e911339afe4689fb1cee5ec@116.202.35.247:26656,83383cdce0b8a7d35afc1fa3868299a145ef9798@185.16.38.227:26656,2bd5ecbbff8acd88133d5145c64a2e3af846cbbd@5.189.130.43:26656,b17ba8371587e3c6d098ca4517aa09632708ba3e@51.68.145.61:26656,47876202ac9bb32fc50590e2b7f1681c304afcfa@65.108.78.41:26656,9276c3835fe6c50b6aeea47df2f1391420f337a0@95.217.160.84:26656,a92e35840f8965a1b69802ebc1defad3bb5e1a75@65.108.96.225:26656,fb321ec3a8774daea6462eb295e0cb26fdf5e1f9@51.68.144.166:26656,84e7557a4978c698d5b1f833a994315ce969259a@51.68.147.218:26656,2f5727a77b912745916c5ad69149e8499ca27384@5.161.90.227:26656,bf193158458576d111fbcfd6e85af7fb208ad5b3@95.214.53.136:26656,46669651a2e51786e8c7b864283f697e223099d9@51.68.147.220:26656,3c9fd940daeccd52ca211ab8e366f0ef540ed254@195.3.221.12:26656,817c542febef5daff1daf9a0a04aa3a11e5fb166@75.119.129.13:26656,e007f35fa87d86f0d29579887fac06cb41e830a3@65.21.199.106:26656,b547300e5541fbc0aa0dddff6c3192a1171af8c5@207.180.226.111:26656,943b100963c0156cb257e76fecf4d2061449489d@144.91.71.53:26656,a4edbbaab5f2fc4cc4afeb515cba205c5af2fd48@51.68.144.70:26656,1b6bc3e4157a293416a2e855d31532bbc1b9bc3b@65.21.237.44:26656,c76c3e7cc103a1a8daf9c6b2494b906cdbba8b86@95.214.54.227:26656,e01f1695ea8cffc8dac3e89fe89089e4173b1f77@65.21.0.161:26656,f208737c5615d06461b047b28955a3e762737423@176.9.16.40:26656,eefa94e12bec5efa2efef58d4e3b517f6e606f92@141.95.108.187:26656,34e2b93b4ca96687742c53dd2dea2de9e548f1b4@88.99.219.120:26656,55e38800eca7f8a1fd7fb7414247378fc16386e3@65.21.185.60:26656,d354fb88655e74630cc9e1f31dea83487516cdf8@173.212.230.119:26656,c2121975080e26b4d3818493fac31cd8a8c1da75@185.173.157.42:26656,e9e53029a03e372ef2574e88effd25547b7af00d@157.90.229.164:26656,2843f13d1e40e01c546f8291fe17101ccf608aed@135.181.253.195:26656,249843cda2d2ffafb5887f89e718e46488cfa234@206.221.181.234:26656,e79969fc81b9641c79507cfc62fc2ff81ecc2459@65.108.47.229:26656,e9ab1b3b0fbd87e0d88d4993062d5ccdfe16f692@162.55.1.2:26656,7adb0ae3dd21deb4b99db4c8a80ca74144925f26@139.59.44.197:26656,e44cb858386a63e7bdfcbc6d01ec79c4a2a6c161@51.68.147.85:26656,5d8832dee9b6f54878dccca66d026a132d8678c4@185.249.225.25:26656,19405e288ac80fefefc5f17f9ef5b791c636179f@51.68.146.89:26656,ab0759d6afbdebcc5081a19f6df874b1beea823f@208.85.22.90:26656,942523449855b05f94d17548424c24b89cdb0689@188.166.92.150:26656,cb49668880573bbda990dd5cd7bc0e6d05100992@136.243.110.52:26656,ee39dac77ddba8ef7f1bfec8296d33340e7fefa4@141.94.18.165:26656,3c6f869ff519236bdedc0e360bf9af5456994dc0@94.130.200.168:26656,0959fb426a8d87bb6fd64b2ea20ca304dd9f269a@194.163.141.19:26656,847726885ea565ff103b168dd1cdcfdae138d091@176.57.150.79:26656,19dbedd6aedb88891c224c8b8fc0be2350cd34c4@89.163.218.107:26656,f91f1434063abdcf69d80860a22836c286e077ca@65.21.132.27:26656,7fbd00d9faa216af125cc5580b3c9165ac9ec7e7@154.12.228.189:26656,aa0a12d7a8dbef340fb2d7e2f11663ed1db58e97@144.91.77.189:26656,df7b58806882d8e8b0ce122fde760f0cd21fe204@65.108.80.78:26656,e604bdce5751e7ed5784b0cebfc3a1e0c0da2d23@62.171.166.106:26656,10c28138a76231ec05df69c81021d11bb199c22a@95.111.231.207:26656,6b1954481b05410b7e6cc64977257ed5be483eab@38.242.200.57:26656,8d4fabbf163fff977889efeeda9f368e768d593e@88.99.184.193:26656,da4c4f80c7ea0f2083cbae130096420e646d81ad@194.146.12.166:26656,7ddbc59bbdac43c8eb7f449e38fcde1e58251654@141.94.161.58:26656,95b5033ce962d55d5f1be95ea1c7f16c7dc58c84@164.92.112.6:26656,9aa9ddaa66bf29c1709f86350893a05cc95ea93f@141.94.19.195:26656,5485202503e6ae6dd7b7f276661497b937ef95fa@154.12.242.17:26656,8a2df4be7a7e455b87b1f2e572639a28d44b0562@65.108.103.236:26656,bae460fe6fb73cc0b22bf61e170e4a858be5a6b5@95.216.161.126:26656,71d189d8f400fa01f27aa20782c12807dc78c1ad@185.211.5.24:26656,e9ce37a99c917cb859d1353e4be0cf83583d43ed@176.57.189.212:26656,4f35f741f5309201e75dc9eac677eed0e12f8780@185.209.229.135:26656,9dc23f2feb76d21935d12910106c2b2363970f1a@185.245.182.214:26656,303035dbd04c8ec073d7c7776fc20fd4acbcacdc@141.94.249.67:26656,e0402dd5da1c7a8b122c651d3cd1c6b5c23df251@38.242.216.246:26656,b2e6413a51757ca83684abfa6f7067ff0e525437@95.216.5.110:26656,ae1aa549bcd72bc4604b647fc79090de9301678d@178.79.148.175:26656,601e4ab5fd4bf987ea320556c4295a59a28cc765@5.161.48.9:26656,2e76ef8f0f57e47db716dbe1ecbef84d3944cc5b@38.242.201.139:26656,9a3e42e3dcf743d44017d3cc717abaad332687dc@135.181.249.183:26656,e063a9ceb64abc817e35783c7b5b72ec074dd4fe@185.218.126.78:26656,f7561b8b95db5eec341fe9da32eb4b1a387cc53e@185.208.206.176:26656,b942b0e002b1c5211ed510d5828ce833dc5574a7@135.181.212.183:26656,6323fb9d71856e0f8f692a97296740170e362304@135.125.2.148:26656,a9f46371b34e7e3bb5ec18e773a025fb35de8215@209.145.53.93:26656,159b5238b18ae1d93d152c885c06d9a7d725f63d@94.250.203.49:26656,bed9e55d4e25c6079183b1872e564099cc8f6d22@51.68.144.223:26656,e604d26bb44a62f50ef62e3936f7497ae78acf62@116.203.23.157:26656,c4cedc02e11f866050a68c1314eb005706e73c98@95.217.165.63:26656,7d7e7044af1c231dec855f7279bce15c292a3c3a@95.217.118.121:26656,3650f4f29e86d764ea7867d3c85d9cbcb36f81ec@17.0.0.100:26656,e20adda69f37b594c118d7ed8904f21ed92235de@94.130.170.95:26656,1d6f4abd54ed8da89ffce87b600da813afa9dc35@139.162.164.197:26656,e85ac49a6c527be36a4d0d6e325df4ec967e28c7@195.3.223.71:26656,2ddce91bec1169ab5f8b6812eca281a9978b8c06@208.85.19.2:26656,b8c3186ebf9e993886edb1af08fec6a90387fc0c@135.181.73.109:26656"


# save config

# create service file
cat > cohod.service << EOF
[Unit]
Description=coho-node
After=network-online.target

[Service]
User=$USER
ExecStart=$(which cohod) start
Restart=always
RestartSec=3
LimitNOFILE=16384
MemoryMax=8G
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
EOF

sudo mv cohod.service /etc/systemd/system/

# enable & start node
sudo systemctl enable cohod
sudo systemctl start cohod

# check logs
cohod_logs

create validator

run this only after your node is full synced Important: run this command with flag --gas=300000 as in example. For some reasons it is impossible to create validator using --gas="auto"

cohod tx staking create-validator \
  --amount=900000000000ucoho \
  --pubkey=$(cohod tendermint show-validator) \
  --moniker=$ACCOUNT \
  --chain-id=darkenergy-1 \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1" \
  --gas=300000 \
  --from=$ACCOUNT

Tutorial created by Validatrium (more info on our projects at validatrium.com)

If you have any additional questions regarding this tutorial, please join Cosmic Horizon official discord channel and tag Validatrium members.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment