Union-netværket er et højeffektivt infrastrukturlag med fuld diskretion til universelle meddelelser, overførsel af aktiver, NFT og DeFi. Det er baseret på konsensusverifikation og er ikke afhængigt af betroede tredjeparter, multisignaturer eller beregningsmæssig multilateral kryptografi.
Minimumskrav til systemet:
Installationsscript:
wget -O uniont https://raw.githubusercontent.com/111STAVR111/props/main/Union/uniont && chmod +x uniont && ./uniont
Forberedelse af 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
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
Initialisering:
uniond --home $HOME/.union init STAVR_guide --chain-id union-testnet-8
Oprettelse eller gendannelse af en wallet:
uniond keys add <walletname>
ELLER
uniond keys add <walletname> --recover
Indlæsning af Genesis:
wget -O $HOME/.union/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/genesis.json"
sha256sum $HOME/.union/config/genesis.json
Konfiguration af mindste gaspris og forbindelsesindstillinger:
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
Trimning af data (valgfrit):
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
Deaktivering af indeksering (valgfrit):
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.union/config/config.toml
Indlæsning af addrbook:
wget -O $HOME/.union/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/addrbook.json"
Oprettelse af en servicefil:
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
Opdater testnet-snapshots hver 5. time
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)
Tjek node-status
uniond status 2>&1 | jq .NodeInfo
uniond status 2>&1 | jq .SyncInfo
uniond status 2>&1 | jq .ValidatorInfo
Se node-logfiler
sudo journalctl -fu uniond -o cat
Tjek servicestatus
sudo systemctl status uniond
Genstart service
sudo systemctl restart uniond
Stop tjenesten
sudo systemctl stop uniond
Start tjenesten
sudo systemctl start uniond
Genstart/afbryd/aktiver
sudo systemctl daemon-reload
sudo systemctl disable uniond
sudo systemctl enable uniond
Din 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/".*//')
Opret en ny nøgle eller gendan en eksisterende nøgle
uniond keys add Wallet_Name
ELLER
uniond keys add Wallet_Name --recover
Tjek alle nøgler
uniond keys list
Kontroller balance
uniond query bank balances union...addressjkl1yjgn7z09ua9vms259j
Rediger validator
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
Din Valoper-adresse
uniond keys show Wallet_Name --bech val
Din Valcons-adresse
uniond tendermint show-address
Info om validator
uniond query staking validator unionvaloperaddress......
Info om fængsel
uniond query slashing signing-info $(uniond tendermint show-validator)
Ikke fængslet
uniond tx slashing unjail --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y
Liste over aktive validatorer
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 over inaktive validatorer
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
Tjek, om din nøgle matcher validatoren(Vind
- godt. Tab
- dårligt).
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"
Udlæs alle belønninger fra alle validatorer
uniond tx distribution withdraw-all-rewards --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y
Output af belønning og provision fra din validator
uniond tx distribution withdraw-rewards unionvaloper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 --commission -y
Delegér tokens til din validator
uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Delegér tokens til en anden validator
uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Re-delegér tokens til en anden validator
uniond tx staking redelegate unionvaloper........ unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Afkobl tokens fra validator
uniond tx staking unbond unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Overfør tokens fra wallet til wallet
uniond tx bank send unionaddress............ unionaddress........... "1000000000000000000"muno --gas 350000 --chain-id=union-testnet-8 -y
Se alle tilbud
uniond query gov proposals
Se et specifikt tilbud
uniond query gov proposal 1
Stem for tilbuddet
uniond tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Stem imod
uniond tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Undlad at stemme
uniond tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Stem imod med veto
uniond tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Eksempel: 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