Métodos de pago Abuse

Unión. Instalación del nodo

10.09.2024, 17:26

La red Union es una capa de infraestructura de divulgación cero altamente eficiente para mensajería universal, transferencias de activos, NFT y DeFi. Se basa en la verificación por consenso y no depende de terceros de confianza, multifirmas o criptografía multilateral computacional.

Requisitos mínimos del sistema:

  • Tipo de nodo: Testnet.
  • CPU: 4.
  • RAM: 8 GB.
  • Almacenamiento: 150 GB.

Instalación

Instalación automática

Script de instalación:

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

Instalación manual

Preparación del servidor:

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

Instalación 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

Inicialización:

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

Creación o restauración de un monedero:

uniond keys add <walletname>

O

uniond keys add <walletname> --recover

Cargando Génesis:

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

Configurar el precio mínimo del gas y los ajustes de conexión:

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

Recorte de datos (opcional):

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

Desactivación de la indexación (opcional):

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

Cargar addrbook:

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

Creación de un archivo de servicio:

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

Actualizar las instantáneas de testnet cada 5 horas

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

Puesta en marcha

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

Creación de un validador

#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

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

Comandos útiles

Comprobar el estado de un nodo

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

Ver los registros del nodo

sudo journalctl -fu uniond -o cat

Comprobar el estado del servicio

sudo systemctl status uniond

Reiniciar el servicio

sudo systemctl restart uniond

Detener el servicio

sudo systemctl stop uniond

Iniciar el servicio

sudo systemctl start uniond

Reiniciar/desconectar/activar

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

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

Trabajar con claves

Crear una nueva clave o restaurar una clave existente

uniond keys add Wallet_Name 

O

uniond keys add Wallet_Name --recover

Comprobar todas las claves

uniond keys list

Comprobar el saldo

uniond query bank balances union...addressjkl1yjgn7z09ua9vms259j

Gestionar el validador

Editar validador

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

Dirección del validador

uniond keys show Wallet_Name --bech val

Dirección del validador

uniond tendermint show-address

Información del validador

uniond query staking validator unionvaloperaddress......

Información de la cárcel

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

Lista de validadores activos

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

Lista de validadores inactivos

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

Comprueba si tu clave coincide con el validador(Ganar - Bien. Perder - Mal).

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"

Imprimir todos los premios de todos los validadores

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

Emitir la recompensa y la comisión de su validador

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

Delegar tokens a su validador

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

Delegar fichas a otro validador

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

Volver a delegar los tokens en otro validador

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

Desvincular los tokens del validador

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

Transferencia de tokens de monedero a monedero

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

Gestión

Ver todas las ofertas

uniond query gov proposals

Ver una oferta específica

uniond query gov proposal 1

Votar a favor

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

Votar en contra

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

Abstenerse de votar

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

Votar en contra con veto

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

Traducción IBC

Ejemplo: Unión -> Ósmosis

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