Modes de paiement Abuse

Union. Installation du nœud

10.09.2024, 17:26

Le réseau de l'Union est une couche d'infrastructure à divulgation zéro très efficace pour la messagerie universelle, les transferts d'actifs, le NFT et le DeFi. Il est basé sur la vérification du consensus et ne dépend pas de tiers de confiance, de multisignatures ou de cryptographie multilatérale computationnelle.

Configuration minimale requise :

  • Type de nœud : Testnet.
  • CPU : 4.
  • RAM : 8 GO.
  • Stockage : 150 Go.

Installation

Installation automatique

Script d'installation :

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

Installation manuelle

Préparation du serveur :

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

Go 1.21.6 Installation :

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

Initialisation :

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

Création ou restauration d'un portefeuille :

uniond keys add <walletname>

OU

uniond keys add <walletname> --recover

Chargement de Genesis :

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

Configuration du prix minimum du gaz et des paramètres de connexion :

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

Découpage des données (optionnel) :

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

Désactivation de l'indexation (facultatif) :

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

Chargement de addrbook :

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

Création d'un fichier de service :

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

Rafraîchissement des instantanés testnet toutes les 5 heures

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

Démarrage

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

Création d'un validateur

#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

Suppression d'un noeud

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)

Commandes utiles

Vérifier l'état du nœud

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

Consulter les journaux de nœuds

sudo journalctl -fu uniond -o cat

Vérifier l'état du service

sudo systemctl status uniond

Redémarrer le service

sudo systemctl restart uniond

Arrêter le service

sudo systemctl stop uniond

Démarrer le service

sudo systemctl start uniond

Redémarrer/déconnecter/activer

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

Votre pair

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/".*//')

Travailler avec des clés

Créer une nouvelle clé ou restaurer une clé existante

uniond keys add Wallet_Name 

OU

uniond keys add Wallet_Name --recover

Vérifier toutes les clés

uniond keys list

Vérifier le solde

uniond query bank balances union...addressjkl1yjgn7z09ua9vms259j

Gérer le validateur

Modifier le validateur

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

Votre adresse de validation

uniond keys show Wallet_Name --bech val

Adresse de vos valcons

uniond tendermint show-address

Informations sur le validateur

uniond query staking validator unionvaloperaddress......

Informations sur la prison

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

Unjail

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

Liste des validateurs actifs

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

Liste des validateurs inactifs

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

Vérifier si votre clé correspond au validateur(Gagnant - Bon. Perdant - Mauvais).

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"

Afficher toutes les récompenses de tous les validateurs

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

Produire la récompense et la commission de votre validateur

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

Déléguer des jetons à votre validateur

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

Déléguer les jetons à un autre validateur

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

Redéléguer les jetons à un autre validateur

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

Découpler les jetons du validateur

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

Transférer des jetons d'un portefeuille à l'autre

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

Gestion

Voir toutes les offres

uniond query gov proposals

Voir une offre spécifique

uniond query gov proposal 1

Voter pour

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

Voter contre

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

S'abstenir de voter

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

Voter contre avec veto

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

Traduction du BAC

Exemple : Union -> Osmose

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