Info
Chain:
Copy nitiad version: v0.2.11
Chain ID : initiation-1
Public RPC Endpoint
Explorer
A. Install Node
The minimum hardware requirements for running an Initia node are:
Copy CPU: 16 cores
Memory: 64GB RAM
Disk: 1 TB SSD Storage
Bandwidth: 100 Mbps
Update system
Copy sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y
Install Go
Copy sudo rm -rvf /usr/local/go/
wget https://golang.org/dl/go1.21.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz
rm go1.21.1.linux-amd64.tar.gz
Configure Go
Copy export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
Install Cosmovisor
Copy go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@v1.0.0
Install Node
Copy git clone https://github.com/initia-labs/initia initia
cd initia
git checkout v0.2.15
make install
Initialize Node
Copy initiad init YOUR_MONIKER --chain-id initiation-1
Download genesis & addrbook
Copy wget https://github.com/Validator247/Innitia/raw/main/genesis.json
wget https://github.com/Validator247/Innitia/raw/main/addrbook.json
Create Service
Copy sudo tee /etc/systemd/system/initiad.service > /dev/null <<EOF
[Unit]
Description="initia node"
After=network-online.target
[Service]
User=root
ExecStart=/root/go/bin/cosmovisor start
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=initiad"
Environment="DAEMON_HOME=/root/.initia"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable initiad
Download Snapshot
Copy https://polkachu.com/testnets/initia/snapshots
https://dashboard.moonlet.app/dashboard/snapshots
Launch Node
Copy sudo systemctl restart initia
journalctl -u initia -f -o cat
Command services
Copy initiad status | jq
sudo journalctl -u initiad -f --no-hostname -o cat
sudo systemctl restart initiad
sudo systemctl status initiad
sudo systemctl start initiad
sudo systemctl enable initiad
sudo systemctl daemon-reload
Upgrade
Copy sudo systemctl st initiad
cd $HOME
rm -rf initia
git clone https://github.com/initia-labs/initia.git
cd initia
git checkout v0.2.15
make install
sudo systemctl daemon-reload
sudo systemctl restart initiad && sudo journalctl -u initiad -f -o cat
Above are the most important components. For details, please follow the team's guide
Create Validator
Copy initiad tx mstaking create-validator \
--amount="1000000uinit" \
--pubkey=$(initiad tendermint show-validator) \
--identity="your_keybase" \
--website="your_website" \
--security-contact="your_email" \
--details="I love validator247" \
--chain-id="initiation-1" \
--from="wallet" \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--gas="500000" \
--fees="75000uinit" \
-y
Edit Validator
Copy initiad tx mstaking edit-validator --website="<your_website>" --details="<I love validator247>" --moniker="<your_nodename>" --identity="<your_keybase">" --from=<wallet_name> --gas=2000000 --fees=300000uinit -y
Unjail
Copy initiad tx slashing unjail --from wallet --chain-id initiation-1 --gas=2000000 --fees=563000move/944f8dd8dc49f96c25fea9849f16436dcfa6d564eec802f3ef7f8b3ea85368ff -y
B . Oracle
Step 1 : Clone the Repository
Copy git clone https://github.com/skip-mev/slinky.git
cd slinky
# checkout proper version
git checkout v0.4.3
nano config/core/oracle.json
Check the final code and edit it to look like the following code: (if it's the same, keep it the same)
Copy {
"market_providers": [
{
"name": "marketmap_api",
"api": {
"enabled": true,
"timeout": 20000000000,
"interval": 10000000000,
"reconnectTimeout": 2000000000,
"maxQueries": 1,
"atomic": true,
"url": "0.0.0.0:9090",
"endpoints": null,
"batchSize": 0,
"name": "marketmap_api"
},
"type": "market_map_provider"
}
],
"metrics": {
"prometheusServerAddress": "0.0.0.0:8002",
"enabled": true
},
"host": "0.0.0.0",
"port": "8080"
}
Create a new tmux, then run the next step
Starting The Sidecar
Compile Slinky:
Copy # You can use one of the following two commands:
make build
# or
go build -o build/slinky ./cmd/slinky
Run sidecar:
Copy ./build/slinky --oracle-config-path ./config/core/oracle.json --market-map-endpoint 0.0.0.0:9090
Exit tmux to go to the next step
Create another tmux
Validating Prices:
Copy make run-oracle-client
Exit tmux
Enable Vote Extension Oracle:
open the <.initia/config/app.toml> file, scroll down to the bottom and edit the Oracle section to resemble the following code:
Copy ###############################################################################
### Oracle ###
###############################################################################
[oracle]
# Enabled indicates whether the oracle is enabled.
enabled = "true"
# Oracle Address is the URL of the out of process oracle sidecar. This is used to
# connect to the oracle sidecar when the application boots up. Note that the address
# can be modified at any point, but will only take effect after the application is
# restarted. This can be the address of an oracle container running on the same
# machine or a remote machine.
oracle_address = "127.0.0.1:8080"
# Client Timeout is the time that the client is willing to wait for responses from
# the oracle before timing out.
client_timeout = "500ms"
# MetricsEnabled determines whether oracle metrics are enabled. Specifically
# this enables instrumentation of the oracle client and the interaction between
# the oracle and the app.
metrics_enabled = "false"
Restart and checklogs:
Copy sudo systemctl daemon-reload
sudo systemctl restart initiad
sudo journalctl -u initiad -f --no-hostname -o cat
# DONE