Methods of payment Abuse

Source Network: Installing and working with node

27.09.2024, 19:41

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

Minimum system requirements

Node type: Testnet.

CPU: 4.

RAM: 8GB.

Storage: 150GB.

Node installation

Auto-installation

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

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/Restore Wallet

sourced keys add <walletname>

OR

sourced keys add <walletname> --recover

Install Genesis

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

Setting up 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

Startup

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

Create 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

Check node logs

sudo journalctl -fu sourced -o cat

Check service status

sudo systemctl status sourced

Restarting the service

sudo systemctl restart sourced

Stopping the service

sudo systemctl stop sourced

Service start

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

Check all keys

sourced keys list

Balance check

sourced query bank balances address....jkl1yjgn7z09ua9vms259j

Delete key

sourced keys delete Wallet_Name

Export key

sourced keys export wallet

Import key

sourced keys import wallet wallet.backup

Working with Validator

Edit 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......

Jail information

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 for validator matches(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 winn" || echo -e "nYou losen"

Withdraw all rewards from all validators

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

Withdraw 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 in favor

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

Vote against

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 against with 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