Das Unionsnetz ist eine hocheffiziente, geheimhaltungsfreie Infrastrukturebene für universelle Nachrichtenübermittlung, Vermögensübertragung, NFT und DeFi. Es basiert auf Konsensüberprüfung und ist nicht auf vertrauenswürdige Dritte, Multisignaturen oder rechnerische multilaterale Kryptographie angewiesen.
Minimale Systemanforderungen:
Skript zur Installation:
wget -O uniont https://raw.githubusercontent.com/111STAVR111/props/main/Union/uniont && chmod +x uniont && ./uniont
Server-Vorbereitung:
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
Initialisierung:
uniond --home $HOME/.union init STAVR_guide --chain-id union-testnet-8
Erstellen oder Wiederherstellen einer Brieftasche:
uniond keys add <walletname>
OR
uniond keys add <walletname> --recover
Laden von Genesis:
wget -O $HOME/.union/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/genesis.json"
sha256sum $HOME/.union/config/genesis.json
Konfigurieren des Mindestgaspreises und der Verbindungseinstellungen:
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
Trimmen der Daten (optional):
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
Deaktivieren der Indizierung (optional):
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.union/config/config.toml
Laden von addrbook:
wget -O $HOME/.union/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Union/addrbook.json"
Erstellen einer Servicedatei:
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
Aktualisieren der Testnet-Schnappschüsse alle 5 Stunden
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)
Knotenstatus prüfen
uniond status 2>&1 | jq .NodeInfo
uniond status 2>&1 | jq .SyncInfo
uniond status 2>&1 | jq .ValidatorInfo
Knotenprotokolle anzeigen
sudo journalctl -fu uniond -o cat
Dienststatus prüfen
sudo systemctl status uniond
Dienst neu starten
sudo systemctl restart uniond
Dienst anhalten
sudo systemctl stop uniond
Start des Dienstes
sudo systemctl start uniond
Neustart/Trennung/Aktivierung
sudo systemctl daemon-reload
sudo systemctl disable uniond
sudo systemctl enable uniond
Ihr 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/".*//')
Erstellen Sie einen neuen Schlüssel oder stellen Sie einen vorhandenen Schlüssel wieder her
uniond keys add Wallet_Name
ODER
uniond keys add Wallet_Name --recover
Alle Schlüssel prüfen
uniond keys list
Saldo prüfen
uniond query bank balances union...addressjkl1yjgn7z09ua9vms259j
Validator bearbeiten
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
Ihre Valoper-Adresse
uniond keys show Wallet_Name --bech val
Ihre Valcons-Adresse
uniond tendermint show-address
Prüfer-Infos
uniond query staking validator unionvaloperaddress......
Knast-Infos
uniond query slashing signing-info $(uniond tendermint show-validator)
Gefängnis aufheben
uniond tx slashing unjail --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y
Liste der aktiven Prüfer
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 der inaktiven Prüfer
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
Prüfen Sie, ob Ihr Schlüssel mit dem Prüfer übereinstimmt(Gewinnen
- Gut. Verlieren
- Schlecht).
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"
Alle Belohnungen von allen Validatoren ausgeben
uniond tx distribution withdraw-all-rewards --from Wallet_Name --chain-id union-testnet-8 --gas 350000 -y
Geben Sie den Reward und die Provision von Ihrem Validierer aus
uniond tx distribution withdraw-rewards unionvaloper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 --commission -y
Delegieren Sie Token an Ihren Prüfer
uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Delegieren Sie Token an einen anderen Prüfer
uniond tx staking delegate unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Token an einen anderen Prüfer weitergeben
uniond tx staking redelegate unionvaloper........ unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Token vom Validator entkoppeln
uniond tx staking unbond unionvaloper........ "100000000"muno --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Übertragung von Token von Wallet zu Wallet
uniond tx bank send unionaddress............ unionaddress........... "1000000000000000000"muno --gas 350000 --chain-id=union-testnet-8 -y
Alle Angebote anzeigen
uniond query gov proposals
Ein bestimmtes Angebot anzeigen
uniond query gov proposal 1
Für das Angebot stimmen
uniond tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Dagegen stimmen
uniond tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Sich der Stimme enthalten
uniond tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Mit Veto dagegen stimmen
uniond tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=union-testnet-8 -y
Beispiel: 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