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.
Type de nœud : Testnet.
CPU : 4.
RAM : 8GB.
Stockage : 150 Go.
wget -O sources https://raw.githubusercontent.com/111STAVR111/props/main/Source/Testnet/sources && chmod +x sources && ./sources
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)
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/".*//')
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
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
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