Installation

Manual Installation

Gerekli Sistem

Ubuntu 22.04

CPU
RAM
SSD

4 vCPU

8 GB RAM

160 SSD

Install dependencies

UPDATE SYSTEM AND INSTALL BUILD TOOLS

sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
sudo apt-get install -y libssl-dev

INSTALL GO

ver="1.23.0" 
cd $HOME 
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" 

sudo rm -rf /usr/local/go 
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" 
rm "go$ver.linux-amd64.tar.gz"

echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile    

Download and build binaries

cd $HOME
wget -O gonative-v0.1.1-linux-amd64.gz https://github.com/gonative-cc/gonative/releases/download/v0.1.1/gonative-v0.1.1-linux-amd64.gz
gunzip gonative-v0.1.1-linux-amd64.gz
mv gonative-v0.1.1-linux-amd64 gonative
chmod +x gonative
mv gonative $HOME/go/bin/
echo "export PATH=$PATH:$HOME/go/bin" >> ~/.bashrc
source ~/.bashrc

Set Vars

Moniker yerine validator adınızı ekliyoruz.

gonative config set client keyring-backend os
gonative config set client chain-id native-t1
gonative init $MONIKER --chain-id native-t1

Download Genesis and Addrbook

wget -O $HOME/.gonative/config/genesis.json https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/native/genesis.json
wget -O $HOME/.gonative/config/addrbook.json https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/native/addrbook.json

Update config.toml

cat > $HOME/.gonative/config/config.toml << EOF
minimum-gas-prices = "0.08untiv"
pruning = "custom"
pruning-keep-recent = "100"
pruning-keep-every = "0"
pruning-interval = "50"
halt-height = 0
halt-time = 0
min-retain-blocks = 0
inter-block-cache = true
index-events = []

[telemetry]
enabled = true
prometheus-retention-time = 60

[api]
enable = true
swagger = true
address = "tcp://0.0.0.0:1317"
max-open-connections = 1000

[grpc]
enable = false
address = "0.0.0.0:9090"

[grpc-web]
enable = false
address = "0.0.0.0:9091"

[state-sync]
snapshot-interval = 0
snapshot-keep-recent = 2

[p2p]
laddr = "tcp://0.0.0.0:26656"
external-address = "$(wget -qO- eth0.me):26656"
seeds = "${SEEDS}"
persistent-peers = "${PEERS}"
max-num-inbound-peers = 50
max-num-outbound-peers = 50
max-connections = 100
handshake-timeout = "20s"
dial-timeout = "3s"

[mempool]
size = 5000
max-tx-bytes = 1048576
max-batch-bytes = 0

[consensus]
wal-file = "data/cs.wal/wal"
timeout-propose = "2s"
timeout-propose-delta = "500ms"
timeout-prevote = "1s"
timeout-prevote-delta = "500ms"
timeout-precommit = "1s"
timeout-precommit-delta = "500ms"
timeout-commit = "3s"
skip-timeout-commit = false
create-empty-blocks = true
create-empty-blocks-interval = "0s"
peer-gossip-sleep-duration = "100ms"
peer-query-maj23-sleep-duration = "2s"
EOF

### Update app.toml
cat > $HOME/.gonative/config/app.toml << EOF
minimum-gas-prices = "0.08untiv"
pruning = "custom"
pruning-keep-recent = "100"
pruning-keep-every = "0"
pruning-interval = "50"
halt-height = 0
halt-time = 0

[telemetry]
enabled = true
prometheus-retention-time = 60

[api]
enable = true
swagger = true
address = "tcp://0.0.0.0:1317"
max-open-connections = 1000

[grpc]
enable = false
address = "0.0.0.0:9090"

[state-sync]
snapshot-interval = 0
snapshot-keep-recent = 2
EOF

create service file

sudo tee /etc/systemd/system/gonatived.service > /dev/null <<EOF
[Unit]
Description=gonative node
After=network-online.target

[Service]
User=$USER
ExecStart=$(which gonative) start
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

enable and start service

sudo systemctl daemon-reload
sudo systemctl enable gonatived
sudo systemctl restart gonatived && sudo journalctl -fu gonatived -o cat

Automatic Installation

Moniker yerine Validator isminizi yazıp enter basın.

bash <(wget -qO- https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/AutoInstall/native.sh)

Sync Node

Node ağ ile eşleşmiş olması gerekiyor. Bunun için gonative status 2>&1 | jq komutunu çalıştırdığınızda false çıktısı vermesi gerekir. True çıktı alırsanız aşağıdaki adımlara devam etmeyin.

Run a Validator

cd $HOME

Node sync olduktan sonra bir tane cüzdan oluşturuyoruz.

# yeni cüzdan oluşturmak için wallet yerine istediğiniz bir ismi yazın.
gonative keys add wallet

# Var olan bir cüzdan eklemek için aşağıdaki komutu kullanabilirsiniz. 
gonative keys add wallet--recover

Aşağıdaki dosyayı kendinize göre düzenlemeyi unutmayın. Validator ismi, site linkleri vs.

gonative tx staking create-validator \
--amount=1000000untiv \
--pubkey=$(gonative comet show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=native-t1 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--fees=20000untiv \
-y

Last updated