Modes de paiement Abuse

Réseau de sources : Installation et utilisation du nœud

27.09.2024, 19:41

Source Network et Decentralised Data (D2) Foundation, l'incarnation physique de l'écosystème, sont constitués de développeurs WEB3 engagés dans la démocratisation des données. Le réseau a été fondé sur l'idée d'un mouvement social visant à rendre le contrôle aux utilisateurs par le biais de la protection de la vie privée, de la sécurité et du consentement.

Configuration minimale requise

Type de nœud : Testnet.

CPU : 4.

RAM : 8GB.

Stockage : 150 Go.

Installation du nœud

Auto-installation

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

Installation manuelle

Préparation du serveur

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

Installation de 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 de GO 1.21.6

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

Créer/Restaurer le portefeuille

sourced keys add <walletname>

OU

sourced keys add <walletname> --recover

Installer Genesis

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

Mise en place du prix minimum de l'essence et des 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

Élagage (optionnel)

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

Indexation (facultatif)

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

Installation d'addrbook

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

Création d'un fichier de service

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 mis à jour toutes les 5 heures

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

Démarrage

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

Création du validateur

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

Suppression d'un noeud

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)

Commandes utiles

Informations

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

Vérifier les journaux de nœuds

sudo journalctl -fu sourced -o cat

Vérifier l'état du service

sudo systemctl status sourced

Redémarrer le service

sudo systemctl restart sourced

Arrêter le service

sudo systemctl stop sourced

Démarrage du service

sudo systemctl start sourced

Redémarrage/arrêt/activation

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

Votre pair

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

Travailler avec des clés

Nouvelle clé ou Restaurer la clé

sourced keys add Wallet_Name

OU

sourced keys add Wallet_Name --recover

Vérifier toutes les clés

sourced keys list

Vérification de l'équilibre

sourced query bank balances address....jkl1yjgn7z09ua9vms259j

Suppression d'une clé

sourced keys delete Wallet_Name

Exporter une clé

sourced keys export wallet

Importer une clé

sourced keys import wallet wallet.backup

Travailler avec le validateur

Modifier le validateur

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

Votre adresse Valope

sourced keys show Wallet_Name --bech val

Votre adresse Valcon

sourced tendermint show-address

Informations sur votre validateur

sourced query staking validator valoperaddress......

Informations sur la prison

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

Liste des validateurs actifs

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

Liste des validateurs inactifs

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

Vérifier les clés par rapport au validateur(Gagnant - bon. Perdant - mauvais).

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"

Retirer toutes les récompenses de tous les validateurs

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

Retirer les fonds et les commissions de votre validateur

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

Déléguer des jetons à votre validateur

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

Déléguer des jetons à un autre validateur

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

Transférer des jetons d'un portefeuille à l'autre

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

Gestion

Voir toutes les offres

sourced query gov proposals

Voir une proposition spécifique

sourced query gov proposal 1

Voter pour

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

Voter contre

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

S'abstenir

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

Voter contre avec veto

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

Transfert 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