"Union" tinklas - tai itin efektyvus, informacijos neatskleidžiantis infrastruktūros sluoksnis, skirtas universaliam pranešimų siuntimui, turto pervedimams, NFT ir DeFi. Jis pagrįstas konsensuso patikra ir nepriklauso nuo patikimų trečiųjų šalių, daugiapasirašių ar skaičiavimo daugiašalės kriptografijos.
Minimalūs sistemos reikalavimai:
Diegimo scenarijus:
wget -O uniont https://raw.githubusercontent.com/111STAVR111/props/main/Union/uniont && chmod +x uniont && ./uniont
Serverio paruošimas:
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 Diegimas:
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
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
Inicializacija:
uniond --home $HOME/.union init STAVR_guide --chain-id union-testnet-8
Sukurti arba atkurti piniginę:
uniond keys add <walletname>
ARBA .
uniond keys add <walletname> --recover
Genesis įkėlimas:
wget -O $HOME/.union/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/genesis.json"
sha256sum $HOME/.union/config/genesis.json
Minimalios dujų kainos ir ryšio nustatymų konfigūravimas:
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
Duomenų trynimas (neprivaloma):
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
Indeksavimo išjungimas (pasirinktinai):
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.union/config/config.toml
Addrbook įkėlimas:
wget -O $HOME/.union/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/addrbook.json"
Paslaugų failo kūrimas:
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
Atnaujinti testnet momentines nuotraukas kas 5 valandas
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
sudo systemctl daemon-reload
sudo systemctl enable uniond
sudo systemctl restart uniond && sudo journalctl -fu uniond -o cat
#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
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)
Patikrinti mazgo būseną
uniond status 2>&1 | jq .NodeInfo
uniond status 2>&1 | jq .SyncInfo
uniond status 2>&1 | jq .ValidatorInfo
Peržiūrėti mazgų žurnalus
sudo journalctl -fu uniond -o cat
Patikrinti paslaugos būseną
sudo systemctl status uniond
Iš naujo paleisti paslaugą
sudo systemctl restart uniond
Sustabdyti paslaugą
sudo systemctl stop uniond
Paleisti paslaugą
sudo systemctl start uniond
Perkrauti / atjungti / įjungti
sudo systemctl daemon-reload
sudo systemctl disable uniond
sudo systemctl enable uniond
Jūsų bendraamžis
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/".*//')
Sukurkite naują raktą arba atkurkite esamą raktą
uniond keys add Wallet_Name
ARBA
uniond keys add Wallet_Name --recover
Patikrinkite visus raktus
uniond keys list
Patikrinkite balansą
uniond query bank balances union...addressjkl1yjgn7z09ua9vms259j
Redaguoti validatorių
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
Jūsų Valoper-Adresas
uniond keys show Wallet_Name --bech val
Jūsų Valcons-adresas
uniond tendermint show-address
Validatoriaus informacija
uniond query staking validator unionvaloperaddress......
Kalėjimo informacija
uniond query slashing signing-info $(uniond tendermint show-validator)
Atšaukti kalėjimą
uniond tx slashing unjail --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y
Aktyvių validatorių sąrašas
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
Neaktyvių tvirtintojų sąrašas
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
Patikrinkite, ar jūsų raktas atitinka validatorių(Laimėti
- gerai. Prarasti
- blogai).
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"
Išveskite visus atlygius iš visų validatorių
uniond tx distribution withdraw-all-rewards --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y
Išveskite atlygį ir komisinius iš savo validatoriaus
uniond tx distribution withdraw-rewards unionvaloper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 --commission -y
Deleguoti žetonus į savo validatorių
uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Deleguoti žetonus kitam tvirtintojui
uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Pakartotinai deleguokite žetonus kitam tvirtintojui
uniond tx staking redelegate unionvaloper........ unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Atsieti žetonus nuo validatoriaus
uniond tx staking unbond unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Perkelti žetonus iš piniginės į piniginę
uniond tx bank send unionaddress............ unionaddress........... "1000000000000000000"muno --gas 350000 --chain-id=union-testnet-8 -y
Peržiūrėti visus pasiūlymus
uniond query gov proposals
Peržiūrėti konkretų pasiūlymą
uniond query gov proposal 1
Balsuoti už
uniond tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Balsuoti prieš
uniond tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Susilaikyti nuo balsavimo
uniond tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Balsuoti prieš su veto teise
uniond tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Pavyzdys: Sąjunga -> Osmosis
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