Metodi di pagamento Abuse

Mantra: descrizione, installazione del nodo

19.08.2024, 17:04

MANTRA agisce come una blockchain di livello 1 con la sicurezza come priorità, che rispetta tutte le normative e i requisiti di conformità. Costruita sulla base dell'SDK Cosmos per gli sviluppatori e le istituzioni, MANTRA Chain mira ad affrontare tutti gli ostacoli che impediscono una transizione fluida degli asset del mondo reale (RWA) alla blockchain. MANTRA Chain fornisce una tokenizzazione interoperabile di asset illiquidi sulla rete IBC e offre diversi moduli per la compliance, gli asset e i token.

Installazione del nodo

Mantra

Requisiti minimi di sistema:

  1. Tipo di nodo: Testnet
  2. CPU: 4
  3. RAM: 8 GB
  4. Memoria: 150GB

Installazione tramite script automatico

wget -O mantrat https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/mantrat && chmod +x mantrat && ./mantrat

Installazione manuale

Preparazione del server:

sudo apt update && sudo apt upgrade -y

sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc chrony liblz4-tool -y

Installazione di Go 1.21.6:

ver="1.21.6"
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
go version

Creazione di MantraChain:

cd $HOME && mkdir -p go/bin/
wget https://github.com/MANTRA-Finance/public/releases/download/v2.0.0/mantrachaind-2.0.0-linux-amd64.tar.gz
tar -xvzf mantrachaind-2.0.0-linux-amd64.tar.gz
chmod +x mantrachaind
rm -rf mantrachaind-2.0.0-linux-amd64.tar.gz
mv mantrachaind $HOME/go/bin

mantrachaind version --long | grep -e commit -e version
Версия: 2.0.0
Коммит: c0b4618

Inizializzazione del nodo

mantrachaind init STAVR_guide --chain-id=mantra-hongbai-1

mantrachaind config chain-id mantra-hongbai-1

Creare o ripristinare un portafoglio

mantrachaind keys add <name_wallet>

o

mantrachaind keys add <name_wallet> --recover

Caricare il file genesis

wget -L -O $HOME/.mantrachain/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/genesis.json"

sha256sum $HOME/.mantrachain/config/genesis.json

Configurazione del prezzo minimo del gas, dei picchi e di altri parametri

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = "0.0002uom"/;" ~/.mantrachain/config/app.toml
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = "$external_address:26656"/" $HOME/.mantrachain/config/config.toml
peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.mantrachain/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = "$seeds"/" $HOME/.mantrachain/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.mantrachain/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.mantrachain/config/config.toml

Impostazione della pulizia dei dati (opzionale)

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = "$pruning"/" $HOME/.mantrachain/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = "$pruning_keep_recent"/" $HOME/.mantrachain/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = "$pruning_keep_every"/" $HOME/.mantrachain/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = "$pruning_interval"/" $HOME/.mantrachain/config/app.toml

Disabilitazione dell'indicizzatore (opzionale)

indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.mantrachain/config/config.toml
Загрузка addrbook
bash
Copy code
wget -O $HOME/.mantrachain/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/addrbook.json"

Creazione del file di servizio

sudo tee /etc/systemd/system/mantrachaind.service > /dev/null <<EOF
[Unit]
Description=mantrachaind
After=network-online.target
[Service]
User=$USER
ExecStart=$(which mantrachaind) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Configurazione di StateSync per la rete di test Mantra

SNAP_RPC=https://mantra.rpc.t.stavr.tech:443
peers="b6943ba9d189c545d92051250d2a3641f2216b2b@mantra-t.seed.stavr.tech:36056"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.mantrachain/config/config.toml
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); 
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); 
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|1true| ; 
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|1"$SNAP_RPC,$SNAP_RPC"| ; 
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|1$BLOCK_HEIGHT| ; 
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|1"$TRUST_HASH"| ; 
s|^(seeds[[:space:]]+=[[:space:]]+).*$|1""|" $HOME/.mantrachain/config/config.toml
mantrachaind tendermint unsafe-reset-all --home $HOME/.mantrachain
curl -o - -L https://mantra-t.wasm.stavr.tech/wasm-mantra.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mantrachain --strip-components 2
wget -O $HOME/.mantrachain/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/addrbook.json"
sudo systemctl restart mantrachaind && journalctl -fu mantrachaind -o cat

Download dello snapshot per la rete di test (aggiornato ogni 5 ore)

cd $HOME
apt install lz4
sudo systemctl stop mantrachaind
cp $HOME/.mantrachain/data/priv_validator_state.json $HOME/.mantrachain/priv_validator_state.json.backup
rm -rf $HOME/.mantrachain/data
curl -o - -L https://mantra-t.snapshot.stavr.tech/mantra-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mantrachain --strip-components 2
curl -o - -L https://mantra-t.wasm.stavr.tech/wasm-mantra.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mantrachain --strip-components 2
mv $HOME/.mantrachain/priv_validator_state.json.backup $HOME/.mantrachain/data/priv_validator_state.json
wget -O $HOME/.mantrachain/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/addrbook.json"
sudo systemctl restart mantrachaind && journalctl -fu mantrachaind -o cat

Avvio di un nodo

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

Creazione del validatore

mantrachaind tx staking create-validator 
--commission-rate 0.1 
--commission-max-rate 1 
--commission-max-change-rate 1 
--min-self-delegation "1" 
--amount 1000000uom 
--pubkey $(mantrachaind tendermint show-validator) 
--from <кошелёк> 
--moniker="STAVR_guide" 
--chain-id mantra-hongbai-1 
--fees 35uom 
--gas 350000 
--identity="" 
--website="" 
--details="" -y

Eliminazione di un nodo

sudo systemctl stop mantrachaind
sudo systemctl disable mantrachaind
rm /etc/systemd/system/mantrachaind.service
sudo systemctl daemon-reload
cd $HOME
rm -rf .mantrachain
rm -rf $(which mantrachaind)

Opzionale

Downgrade
sudo wget -O /usr/lib/libwasmvm.x86_64.so https://github.com/CosmWasm/wasmvm/releases/download/v1.3.1/libwasmvm.x86_64.so
wget https://github.com/MANTRA-Finance/public/raw/main/mantrachain-hongbai/mantrachaind-linux-amd64.zip
unzip mantrachaind-linux-amd64.zip
rm mantrachaind-linux-amd64.zip
mv mantrachaind $(which mantrachaind)

Istantanea

sudo systemctl stop mantrachaind
cp $HOME/.mantrachain/data/priv_validator_state.json $HOME/.mantrachain/priv_validator_state.json.backup
rm -rf $HOME/.mantrachain/data
curl -o - -L https://mantra-t.snapshot.stavr.tech/mantra-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mantrachain --strip-components 2
curl -o - -L https://mantra-t.wasm.stavr.tech/wasm-mantra.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mantrachain --strip-components 2
mv $HOME/.mantrachain/priv_validator_state.json.backup $HOME/.mantrachain/data/priv_validator_state.json
wget -O $HOME/.mantrachain/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/addrbook.json"
sudo systemctl restart mantrachaind && journalctl -fu mantrachaind -o cat

Aggiornamento alla versione 2.0.0 (non è possibile riavviare il nodo dopo questi comandi)

wget https://github.com/MANTRA-Finance/public/releases/download/v2.0.0/mantrachaind-2.0.0-linux-amd64.tar.gz
tar -xvzf mantrachaind-2.0.0-linux-amd64.tar.gz
chmod +x mantrachaind
rm -rf mantrachaind-2.0.0-linux-amd64.tar.gz
mv mantrachaind $(which mantrachaind)
mantrachaind version --long | grep -e commit -e version
#commit: c0b4618
#version: 2.0.0
sudo systemctl restart mantrachaind && sudo journalctl -fu mantrachaind -o cat

Strumenti utili

  1. EXPLORER-T: https://explorer.stavr.tech/MANTRA-Hongbai Indexer "ON".
  2. API-T: https://mantra.api.t.stavr.tech
  3. RPC-T: https://mantra.rpc.t.stavr.tech Intervallo di snapshot = 1000
  4. gRPC-T: mantra.grpc.t.stavr.tech:3601

Seme-T

b6943ba9d189c545d92051250d2a3641f2216b2b@mantra-t.seed.stavr.tech:36056

Addrbook-T

wget -O $HOME/.mantrachain/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/addrbook.json"

Genesi-T

wget -L -O $HOME/.mantrachain/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/genesis.json"

WASM-T

curl -o - -L https://mantra-t.wasm.stavr.tech/wasm-mantra.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mantrachain --strip-components 2

auto_install_script-T

wget -O mantrat https://raw.githubusercontent.com/111STAVR111/props/main/Mantra/mantrat && chmod +x mantrat && ./mantrat

Aggiornamento della versione: 2.0.0 (14.08.24)

at Height -> 1633260
cd $HOME
wget https://github.com/MANTRA-Finance/public/releases/download/v2.0.0/mantrachaind-2.0.0-linux-amd64.tar.gz
tar -xvzf mantrachaind-2.0.0-linux-amd64.tar.gz
chmod +x mantrachaind
rm -rf mantrachaind-2.0.0-linux-amd64.tar.gz
mv mantrachaind $(which mantrachaind)
mantrachaind version --long | grep -e commit -e version
#commit: c0b4618
#version: 2.0.0
sudo systemctl restart mantrachaind && sudo journalctl -fu mantrachaind -o cat

Comandi utili

  1. mantrachaind stato 2>&1 | jq .NodeInfo
  2. mantrachaind stato 2>&1 | jq .SyncInfo
  3. mantrachaind stato 2>&1 | jq .ValidatorInfo

Convalida i log dei nodi

sudo journalctl -fu mantrachaind  -o cat

Controllo dello stato del servizio

sudo systemctl status mantrachaind  

Riavvio del servizio

sudo systemctl restart mantrachaind 

Arresto del servizio

sudo systemctl stop mantrachaind 

Avvio del servizio

sudo systemctl start mantrachaind 

Riavvio/spegnimento/spegnimento

sudo systemctl daemon-reload
sudo systemctl disable mantrachaind 
sudo systemctl enable mantrachaind 

Il vostro Peer

echo $(mantrachaind tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.mantrachain/config/config.toml | grep -oPm1 "(?<=^laddr = ").*(?=")" | cut -d ":" -f3)

Cancellare

sudo systemctl stop mantrachaind && 
sudo systemctl disable mantrachaind && 
rm /etc/systemd/system/mantrachaind.service && 
sudo systemctl daemon-reload && 
cd $HOME && 
rm -rf .mantrachain && 
rm -rf $(which mantrachaind)