Source Network e Decentralised Data (D2) Foundation, l'incarnazione fisica dell'ecosistema, sono costituiti da sviluppatori WEB3 impegnati nella democratizzazione dei dati. La rete è stata fondata sulla base dell'idea di un movimento sociale per restituire il controllo agli utenti attraverso la privacy, la sicurezza e il consenso.
Tipo di nodo: Testnet.
CPU: 4.
RAM: 8 GB.
Storage: 150GB.
wget -O sources https://raw.githubusercontent.com/111STAVR111/props/main/Source/Testnet/sources && chmod +x sources && ./sources
Preparazione del 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
Installazione di 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
Versione 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
Installazione
sourced init STAVR_guide --chain-id=source-1
sourced config chain-id source-1
Creare/ripristinare il portafoglio
sourced keys add <walletname>
O
sourced keys add <walletname> --recover
Installare Genesis
curl -s https://raw.githubusercontent.com/Source-Protocol-Cosmos/testnets/master/sourcetest-1/genesis.json > ~/.source/config/genesis.json
Impostazione del prezzo minimo del gas e dei 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
Potatura (opzionale)
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
Indicizzatore (opzionale)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.source/config/config.toml
Installazione di addrbook
wget -O $HOME/.source/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Source/Testnet/addrbook.json"
Creazione di un file di servizio
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 aggiornato ogni 5 ore
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
Avvio
sudo systemctl daemon-reload
sudo systemctl enable sourced
sudo systemctl restart sourced && sudo journalctl -fu sourced -o cat
Creazione del validatore
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
Eliminazione di un nodo
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)
Informazioni
sourced status 2>&1 | jq .NodeInfo
sourced status 2>&1 | jq .SyncInfo
sourced status 2>&1 | jq .ValidatorInfo
Controllare i log del nodo
sudo journalctl -fu sourced -o cat
Controllare lo stato del servizio
sudo systemctl status sourced
Riavviare il servizio
sudo systemctl restart sourced
Arresto del servizio
sudo systemctl stop sourced
Avvio del servizio
sudo systemctl start sourced
Riavvio/spegnimento/abilitazione
sudo systemctl daemon-reload
sudo systemctl disable sourced
sudo systemctl enable sourced
Il vostro 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/".*//')
Nuova chiave o Ripristino della chiave
sourced keys add Wallet_Name
OPPURE
sourced keys add Wallet_Name --recover
Controllo di tutte le chiavi
sourced keys list
Controllo del bilanciamento
sourced query bank balances address....jkl1yjgn7z09ua9vms259j
Eliminazione di una chiave
sourced keys delete Wallet_Name
Esportazione della chiave
sourced keys export wallet
Importazione della chiave
sourced keys import wallet wallet.backup
Modifica del 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
Il vostro indirizzo Valope
sourced keys show Wallet_Name --bech val
Il vostro indirizzo Valcon
sourced tendermint show-address
Informazioni sul Validator
sourced query staking validator valoperaddress......
Informazioni sulla prigione
sourced query slashing signing-info $(sourced tendermint show-validator)
Carcere
sourced tx slashing unjail --from Wallet_name --chain-id source-1 --gas 350000 --fees "7000"usource -y
Elenco dei validatori attivi
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
Elenco dei validatori inattivi
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
Controllare le chiavi rispetto al validatore(vincere
- bene. perdere
- male).
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"
Prelevare tutte le ricompense da tutti i validatori
sourced tx distribution withdraw-all-rewards --from Wallet_Name --chain-id source-1 --gas 350000 --fees "7000"usource -y
Prelevare i fondi e le commissioni dal proprio Validatore
sourced tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 --commission -y
Delegare i token al proprio validatore
sourced tx staking delegate Your_valpoer........ "100000000"usource --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y
Delegare i token a un altro validatore
sourced tx staking delegate valpoer........ "100000000"usource --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y
Trasferire token da portafoglio a portafoglio
sourced tx bank send Your_address............ address........... "1000000000000000000"usource --gas 350000 --fees "7000"usource --chain-id=source-1 -y
Visualizzare tutte le offerte
sourced query gov proposals
Visualizza una proposta specifica
sourced query gov proposal 1
Vota a favore
sourced tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y
Votare contro
sourced tx gov vote 1 no --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y
Astenersi
sourced tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y
Voto contrario con veto
sourced tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees "7000"usource --chain-id=source-1 -y
Trasferimento IBC
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