Metodi di pagamento Abuse

Unione. Installazione del nodo

10.09.2024, 17:26

La rete dell'Unione è un livello infrastrutturale altamente efficiente e privo di divulgazione per la messaggistica universale, i trasferimenti di beni, la NFT e la DeFi. Si basa sulla verifica del consenso e non dipende da terze parti fidate, da firme multiple o dalla crittografia computazionale multilaterale.

Requisiti minimi di sistema:

  • Tipo di nodo: Testnet.
  • CPU: 4.
  • RAM: 8 GB.
  • Memoria: 150 GB.

Installazione

Installazione automatica

Script di installazione:

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

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 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

Build 10.06.24:

cd $HOME && mkdir -p go/bin/
wget https://uniont.binary.stavr.tech/union/uniond
chmod +x uniond
mv uniond $HOME/go/bin/
uniond --home $HOME/.union version --long

Inizializzazione:

uniond --home $HOME/.union init STAVR_guide --chain-id union-testnet-8

Creazione o ripristino di un portafoglio:

uniond keys add <walletname>

O

uniond keys add <walletname> --recover

Caricamento di Genesis:

wget -O $HOME/.union/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/genesis.json"
sha256sum $HOME/.union/config/genesis.json

Configurazione del prezzo minimo del gas e delle impostazioni di connessione:

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

Ritaglio dei dati (opzionale):

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

Disabilitazione dell'indicizzazione (opzionale):

indexer="null"
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.union/config/config.toml

Caricamento di addrbook:

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

Creazione di un file di servizio:

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

StateSync Union Testnet

SNAP_RPC=https://union.rpc.t.stavr.tech:443
peers="59d554ab6bee4d814afb3e15af4031df19b2084c@union-t.seed.stavr.tech:4256"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.union/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/.union/config/config.toml
uniond tendermint unsafe-reset-all --home /root/.union
wget -O $HOME/.union/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/addrbook.json"
systemctl restart uniond && journalctl -u uniond -f -o cat

Aggiornare le istantanee di testnet ogni 5 ore

cd $HOME
apt install lz4
sudo systemctl stop uniond
cp $HOME/.union/data/priv_validator_state.json $HOME/.union/priv_validator_state.json.backup
rm -rf $HOME/.union/data
curl -o - -L https://union-t.snapshot.stavr.tech/union-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.union --strip-components 2
curl -o - -L https://union-t.wasm.stavr.tech/wasm-union.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.union --strip-components 2
mv $HOME/.union/priv_validator_state.json.backup $HOME/.union/data/priv_validator_state.json
wget -O $HOME/.union/config/addrbook.json "https://raw.githubusercontent.com/obajay/nodes-Guides/main/Projects/Union/addrbook.json"
sudo systemctl restart uniond && journalctl -u uniond -f -o cat

Avvio

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

Creazione di un validatore

#pubkey
uniond tendermint show-validator --home /root/.union
cd $HOME
nano validator.json
{
  "pubkey": {#pubkey},
  "amount": "1000000muno",
  "moniker": "STAVR_Guide",
  "identity": "",
  "website": "",
  "security": "",
  "details": "",
  "commission-rate": "0.1",
  "commission-max-rate": "0.2",
  "commission-max-change-rate": "0.1",
  "min-self-delegation": "1"
}
uniond --home /root/.union tx staking create-validator /root/validator.json --from Wallet_name  --chain-id union

Eliminazione di un nodo

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

Comandi utili

Controllare lo stato del nodo

uniond status 2>&1 | jq .NodeInfo
uniond status 2>&1 | jq .SyncInfo
uniond status 2>&1 | jq .ValidatorInfo

Visualizzazione dei log del nodo

sudo journalctl -fu uniond -o cat

Controllare lo stato del servizio

sudo systemctl status uniond

Riavviare il servizio

sudo systemctl restart uniond

Arrestare il servizio

sudo systemctl stop uniond

Avviare il servizio

sudo systemctl start uniond

Riavvio/disconnessione/abilitazione

sudo systemctl daemon-reload
sudo systemctl disable uniond
sudo systemctl enable uniond

Il vostro Peer

echo $(uniond tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.union/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Lavorare con le chiavi

Creare una nuova chiave o ripristinare una chiave esistente

uniond keys add Wallet_Name 

OPPURE

uniond keys add Wallet_Name --recover

Controllare tutte le chiavi

uniond keys list

Controllare il saldo

uniond query bank balances union...addressjkl1yjgn7z09ua9vms259j

Gestire il validatore

Modifica il validatore

uniond tx staking edit-validator 
--new-moniker "Name"  
--identity "Keybase_ID" 
--details "Description"  
--website "Site"  
--security-contact "Email" 
--chain-id union-testnet-8 
--commission-rate 0.05 
--from Wallet_Name 
--gas 350000 -y

Indirizzo del validatore

uniond keys show Wallet_Name --bech val

Indirizzo del Validatore

uniond tendermint show-address

Info sul validatore

uniond query staking validator unionvaloperaddress......

Informazioni sul carcere

uniond query slashing signing-info $(uniond tendermint show-validator)

Non carcerato

uniond tx slashing unjail --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y

Elenco dei validatori attivi

uniond q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " t " + .description.moniker' | sort -gr | nl

Elenco dei validatori inattivi

uniond q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " t " + .description.moniker' | sort -gr | nl

Controlla se la chiave corrisponde al validatore(vincere - buono. perdere - cattivo).

VALOPER=Enter_Your_valoper_Here 
[[ $(uniond q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(uniond status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "nYou winn" || echo -e "nYou losen"

Visualizza tutte le ricompense di tutti i validatori

uniond tx distribution withdraw-all-rewards --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y

Emettere la ricompensa e la commissione dal proprio validatore

uniond tx distribution withdraw-rewards unionvaloper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 --commission -y

Delegare i gettoni al proprio validatore

uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y

Delegare i gettoni a un altro validatore

uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y

Ridelegare i gettoni a un altro validatore

uniond tx staking redelegate unionvaloper........ unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000  --chain-id=union-testnet-8 -y

Disaccoppiare i token dal validatore

uniond tx staking unbond unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y

Trasferire i token da portafoglio a portafoglio

uniond tx bank send unionaddress............ unionaddress........... "1000000000000000000"muno  --gas 350000 --chain-id=union-testnet-8 -y

Gestione

Visualizzare tutte le offerte

uniond query gov proposals

Visualizzare un'offerta specifica

uniond query gov proposal 1

Vota a favore

uniond tx gov vote 1 yes --from Wallet_Name --gas 350000  --chain-id=union-testnet-8 -y

Votare contro

uniond tx gov vote 1 no --from Wallet_Name --gas 350000  --chain-id=union-testnet-8 -y

Astenersi dal voto

uniond tx gov vote 1 abstain --from Wallet_Name --gas 350000  --chain-id=union-testnet-8 -y

Votare contro con veto

uniond tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000  --chain-id=union-testnet-8 -y

Traduzione IBC

Esempio: Unione -> Osmosi

uniond tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"muno --from Your_Union_Wallet ---gas 350000 --fees 7000"muno" --chain-id=union-testnet-8 -y