- Minimal
- 4 GB RAM
- 100 GB SSD
- 3.2 x4 GHz CPU
- Recommended
- 8 GB RAM
- 1 TB NVME SSD
- 3.2 GHz x4 GHz CPU
- Recommended
- Linux(x86_64)
# update the local package list and install any available upgrades
sudo apt-get update && sudo apt upgrade -y
# install toolchain and ensure accurate time synchronization
sudo apt-get install make build-essential gcc git jq chrony -y
Follow the instructions here to install Go.
Alternatively, for Ubuntu LTS, you can do:
wget https://golang.org/dl/go1.17.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz
Unless you want to configure in a non standard way, then set these in the .profile
in the user's home (i.e. ~/
) folder.
cat <<EOF >> ~/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source ~/.profile
go version
Output should be: go version go1.17.3 linux/amd64
- Clone git repository
git clone https://github.com/GeoDB-Limited/odin-core.git
- Checkout latest tag
cd odin-core
git fetch --tags
git checkout v0.1.0
make all
To confirm that the installation was successful, you can run:
odind version
Output should be: v0.1.0
# To create new keypair - make sure you save the mnemonics!
odind keys add <key-name>
or
# Restore existing odin wallet with mnemonic seed phrase.
# You will be prompted to enter mnemonic seed.
odind keys add <key-name> --recover
or
# Add keys using ledger
odind keys show <key-name> --ledger
Check your key:
# Query the keystore for your public address
odind keys show <key-name> -a
- Install odin core application
- Initialize node
odind init "{{NODE_NAME}}" --chain-id odin-mainnet-freya
- Replace the contents of your
${HOME}/.odin/config/genesis.json
with that of mainnets/odin-mainnet-freya/pre_genesis.json.
wget https://raw.githubusercontent.com/ODIN-PROTOCOL/networks/master/mainnets/odin-mainnet-freya/pre_genesis.json
WARNING: DO NOT PUT MORE THAN 10000000loki or your gentx will be rejected
odind add-genesis-account "{{KEY_NAME}}" 10000000loki
odind gentx "{{KEY_NAME}}" 10000000loki \
--chain-id odin-mainnet-freya \
--moniker="{{VALIDATOR_NAME}}" \
--commission-max-change-rate=0.01 \
--commission-max-rate=0.2 \
--commission-rate=0.1 \
--details="XXXXXXXX" \
--security-contact="XXXXXXXX" \
--website="XXXXXXXX"
-
Copy the contents of
${HOME}/.odin/config/gentx/gentx-XXXXXXXX.json
. -
Fork the repository
-
Create a file
gentx-{{VALIDATOR_NAME}}.json
under the mainnets/odin-mainnet-freya/gentxs folder in the forked repo, paste the copied text into the file. Find reference file gentx-examplexxxxxxxx.json in the same folder. -
Run
odind tendermint show-node-id
and copy your nodeID. -
Run
ifconfig
orcurl ipinfo.io/ip
and copy your publicly reachable IP address. -
Create a file
peers-{{VALIDATOR_NAME}}.json
under the mainnets/odin-mainnet-freya/peers folder in the forked repo, paste the copied text from the last two steps into the file. Find reference file sample-peers.json in the same folder. (e.g. [email protected]) -
Create a Pull Request to the
master
branch of the repository
NOTE: The Pull Request will be merged by the maintainers to confirm the inclusion of the validator at the genesis.Maximum number of validators - 100. The final genesis file will be published under the file mainnets/odin-mainent-freya/genesis_final.json.