Methods of payment Abuse

Union. Installing the node

10.09.2024, 17:26

The Union network is a highly efficient zero-disclosure infrastructure layer for universal messaging, asset transfers, NFT and DeFi. It is based on consensus verification and does not depend on trusted third parties, multisignatures or computational multilateral cryptography.

Minimum system requirements:

  • Node type: Testnet.
  • CPU: 4.
  • RAM: 8 GB.
  • Storage: 150 GB.

Installation

Automatic installation

Installation script:

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

Manual installation

Server preparation:

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

Initialization:

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

Creating or restoring a wallet:

uniond keys add <walletname>

OR

uniond keys add <walletname> --recover

Loading Genesis:

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

Configuring minimum gas price and connection settings:

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

Trimming data (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

Disabling indexing (optional):

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

Loading addrbook:

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

Creating a service file:

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

Refresh testnet snapshots every 5 hours

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

Startup

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

Creating validator

#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

Deleting a node

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)

Useful commands

Check node status

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

View node logs

sudo journalctl -fu uniond -o cat

Check service status

sudo systemctl status uniond

Restart service

sudo systemctl restart uniond

Stop service

sudo systemctl stop uniond

Start the service

sudo systemctl start uniond

Reboot/shutdown/enable

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

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

Working with keys

Create a new key or restore an existing key

uniond keys add Wallet_Name 

OR

uniond keys add Wallet_Name --recover

Check all keys

uniond keys list

Check balance

uniond query bank balances union...addressjkl1yjgn7z09ua9vms259j

Manage validator

Edit 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

Your Valoper-Address

uniond keys show Wallet_Name --bech val

Your Valcons-Address

uniond tendermint show-address

Validator Info

uniond query staking validator unionvaloperaddress......

Jail Info

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

List of active validators

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

List of inactive validators

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

Check if your key matches the validator(Win - Good. Lose - Bad).

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"

Output all rewards from all validators

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

Output rewards and commissions from your validator

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

Delegate tokens to your validator

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

Delegate tokens to another validator

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

Re-delegate tokens to another validator

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

Decouple tokens from validator

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

Transfer tokens from wallet to wallet

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

Management

View all offers

uniond query gov proposals

View a specific offer

uniond query gov proposal 1

Vote in favor

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

Vote against

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

Abstain from voting

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

Vote against with veto

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

IBC translation

Example: Union -> 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