Methods of payment Abuse

Source Network: Installing and working with node

27.09.2024, 19:41

Description:

Source Network and Decentralized Data (D2) Foundation, the physical embodiment of the ecosystem, are made up of web3 developers who are committed to democratizing data. The network was founded based on the idea of a social movement to give control back to users through privacy, security and consent.

Minimum System Requirements:

Node type: Testnet

CPU: 4

RAM: 8GB

Storage: 150GB

Установка ноды:

1) Auto-installation

wget -O sources https://raw.githubusercontent.com/111STAVR111/props/main/Source/Testnet/sources && chmod +x sources && ./sources

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

Installing 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

Version 01.08.24

cd $HOME && mkdir $HOME/go/bin/
git clone https://github.com/Source-Protocol-Cosmos/source.git
cd ~/source
git checkout v.3.0.2
make install

Installation

sourced init STAVR_guide --chain-id=source-1
sourced config chain-id source-1

Create/Recover Wallet

sourced keys add <walletname>
           OR
sourced keys add <walletname> --recover

Installing Genesis

curl -s  https://raw.githubusercontent.com/Source-Protocol-Cosmos/testnets/master/sourcetest-1/genesis.json > ~/.source/config/genesis.json

Setting the Minimum Gas Price and Peers/Seeds

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.25usource\"/;" ~/.source/config/app.toml
external_address=$(wget -qO- eth0.me) 
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.source/config/config.toml
peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.source/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.source/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.source/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.source/config/config.toml

Pruning (optional)

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="100"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.source/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.source/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.source/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.source/config/app.toml

Indexer (optional)

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

Installing addrbook

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

Creating a service file

sudo tee /etc/systemd/system/sourced.service > /dev/null <<EOF
[Unit]
Description=source test
After=network-online.target

[Service]
User=$USER
ExecStart=$(which sourced) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

SnapShot Testnet updated every 5 hours

cd $HOME
sudo systemctl stop sourced
cp $HOME/.source/data/priv_validator_state.json $HOME/.source/priv_validator_state.json.backup
rm -rf $HOME/.source/data
curl -o - -L https://source-t.snapshot.stavr.tech/source-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.source --strip-components 2
curl -o - -L https://source-t.wasm.stavr.tech/wasm-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.source/data --strip-components 3
mv $HOME/.source/priv_validator_state.json.backup $HOME/.source/data/priv_validator_state.json
wget -O $HOME/.source/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Source/addrbook.json"
sudo systemctl restart sourced && journalctl -u sourced -f -o cat

Start

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

Creating a validator

sourced tx staking create-validator \
--amount=1000000usource \
--pubkey=$(sourced tendermint show-validator) \
--moniker=STAVR_guide \
--chain-id=sourcetest-1 \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.1" \
--min-self-delegation="1" \
--fees=100usource \
--from=<walletName> \
--identity="" \
--website="" \
--fees 5000usource \
--details="" -y

Deleting a node

sudo systemctl stop sourced
sudo systemctl disable sourced
rm /etc/systemd/system/sourced.service
sudo systemctl daemon-reload
cd $HOME
rm -rf .source
rm -rf source
rm -rf $(which sourced)

Useful commands

Information

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

Checking node logs

sudo journalctl -fu sourced -o cat

Check service status

sudo systemctl status sourced

Service restart

sudo systemctl restart sourced

Service stop

sudo systemctl stop sourced

Service startup

sudo systemctl start sourced

Restart/shutdown/enable

sudo systemctl daemon-reload
sudo systemctl disable sourced
sudo systemctl enable sourced

Your Peer

echo $(sourced tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.source/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Working with keys

New key or Restore key

sourced keys add Wallet_Name
      OR
sourced keys add Wallet_Name --recover

Checking all keys

sourced keys list

Balance check

sourced query bank balances address....jkl1yjgn7z09ua9vms259j

Key removal

sourced keys delete Wallet_Name

Key export

sourced keys export wallet

Importing a key

sourced keys import wallet wallet.backup

Working with Validator

Editing the Validator

sourced tx staking edit-validator \
--new-moniker "Your_Moniker" \
--identity "Keybase_ID" \
--details "Your_Description" \
--website "Your_Website" \
--security-contact "Your_Email" \
--chain-id source-1 \
--commission-rate 0.05 \
--from Wallet_Name \
--gas 350000 \
--fees "7000"usource -y

Your Valope address

sourced keys show Wallet_Name --bech val

Your Valcon address

sourced tendermint show-address

Information about your validator

sourced query staking validator valoperaddress......

Information about Jail

sourced query slashing signing-info $(sourced tendermint show-validator)

Unjail

sourced tx slashing unjail --from Wallet_name --chain-id source-1 --gas 350000 --fees "7000"usource -y

List of active validators

sourced 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

sourced 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

Checking keys against the validator (Win - good. Lose - bad)

VALOPER=Enter_Your_valoper_Here
[[ $(sourced q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(sourced status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\nYou win\n" || echo -e "\nYou lose\n"

Вывести все награды со всех валидаторов

sourced tx distribution withdraw-all-rewards --from Wallet_Name --chain-id source-1 --gas 350000 --fees "7000"usource  -y

Withdrawal of funds and commission from your Validator

sourced tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 --commission -y

Delegate tokens to your validator

sourced tx staking delegate Your_valpoer........ "100000000"usource --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y

Delegate tokens to another validator

sourced tx staking delegate valpoer........ "100000000"usource --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y

Transfer tokens from wallet to wallet

sourced tx bank send Your_address............ address........... "1000000000000000000"usource --gas 350000 --fees "7000"usource --chain-id=source-1 -y

Management

View all offers

sourced query gov proposals

View a specific proposal

sourced query gov proposal 1

Vote "yes."

sourced tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y

Vote "no."

sourced tx gov vote 1 no --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y

Abstain

sourced tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y

Vote no with a veto

sourced tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y

IBC transfer

sourced tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"usource --from Your_Source_Wallet_Name ---gas 350000 --fees "70000"usource --chain-id=source-1 -y