Share Dialog
Share Dialog

Subscribe to chaingon | web3topia

Subscribe to chaingon | web3topia
<100 subscribers
<100 subscribers
Обновляем систему
sudo apt update && sudo apt upgrade -y
Ставим зависимости
sudo apt install curl build-essential git wget jq make gcc -y
sudo curl https://get.ignite.com/cli! | sudo bash
Ставим GO
ver="1.18.3" # set ver.
cd $HOME
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" >> ~/.bash_profile
source ~/.bash_profile
go version
Клонируем репо
cd $HOME
rm source -rf
git clone https://github.com/Source-Protocol-Cosmos/source.git --branch testnet
Собираем бинарники
cd source
ignite chain build
Задаем имя ноды придумываем и вставляем сами
NODENAME=ПРИДУМАЙ_САМ
Задаем переменные
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
SOURCE_CHAIN_ID=sourcechain-testnet
source $HOME/.bash_profile
Инициализируем ноду
sourced init $NODENAME --chain-id=$SOURCE_CHAIN_ID
Скачиваем генезис
wget -qO $HOME/.source/config/genesis.json "https://raw.githubusercontent.com/Source-Protocol-Cosmos/testnets/master/sourcechain-testnet/genesis.json"
настраиваем минимальную цену за газ в app.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0usource\"/" $HOME/.source/config/app.toml
настраиваем чейнid чтобы не вводить каждый раз
sourced config chain-id $SOURCE_CHAIN_ID
настраиваем сиды и пиры
SEEDS="6ca675f9d949d5c9afc8849adf7b39bc7fccf74f@164.92.98.17:26656"
PEERS="6ca675f9d949d5c9afc8849adf7b39bc7fccf74f@164.92.98.17:26656,6721349b8a9846b730fdadb9ddf0b0596acf98e7@217.13.223.167:26656,7ccb6331c8f8aed3439fe2f88d01f8808564f9e2@164.92.98.14:26656,c293787dd1aeede1e1716196db4abb30d171710e@38.242.220.245:26656,ee528debedd6b1dca93fbb5774519ea67c0eeb9b@142.93.134.100:26656,dbba2131476082da8cdf6158931eeca72de6bfd3@62.171.181.47:26656,03873e48e419cee0830e64860c81552e3c8a2df5@188.166.38.18:26656,d9aac0b2753ef46858d03f8497431b99740e8abe@5.161.147.146:26656,b02e2bd359623aeee2d4fad94d37af8b064508f6@167.235.224.141:26656,3e2c92297b30263c726725eabb1e0927a7aff6cf@20.198.115.141:26656,3874444d8504dc31836c1e41ffe408bee6b80904@38.242.159.243:39656,f0a070fde1ed643021c45b3c439bb0a8346338e7@89.179.33.100:26656,094bd69cb65fd3b284283d7960e2fdc4989cc39c@167.235.142.71:2665"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.source/config/config.toml
меняем порты (опционально)
config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:36658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:36657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:6061\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:36656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":36660\"%" $HOME/.source/config/config.toml
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:36656\"/" $HOME/.source/config/config.toml
app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:9190\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:9191\"%" $HOME/.source/config/app.toml
client.toml
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.source/config/client.toml
Настраиваем прунинг (опционально)
pruning="custom" && \
pruning_keep_recent="1000" && \
pruning_keep_every="0" && \
pruning_interval="50" && \
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
Включаем прометеус
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.source/config/config.toml
Сбрасываем данные чейна
sourced unsafe-reset-all
Создаем сервис
sudo tee /etc/systemd/system/sourced.service > /dev/null <<EOF
[Unit]
Description=source
After=network-online.target
[Service]
User=$USER
ExecStart=$(which sourced) --home $HOME/.source start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Запускаем сервис
sudo systemctl daemon-reload
sudo systemctl enable sourced
sudo systemctl restart sourced && sudo journalctl -u sourced -f -o cat
Запуск со СтейтСинк (опционально, быстро, просто)
снапшот от https://github.com/obajay . Спасибо ему.
sudo systemctl stop sourced
rm -rf $HOME/.source/data/
mkdir $HOME/.source/data/
# download archive
cd $HOME
wget http://116.202.236.115:8000/sourcedata.tar.gz
# unpack the archive
tar -C $HOME/ -zxvf sourcedata.tar.gz --strip-components 1
# !! IMPORTANT POINT. If the validator was created earlier. Need to reset priv_validator_state.json !!
wget -O $HOME/.source/data/priv_validator_state.json "https://raw.githubusercontent.com/obajay/StateSync-snapshots/main/priv_validator_state.json"
cd && cat .source/data/priv_validator_state.json
{
"height": "0",
"round": 0,
"step": 0
}
# after unpacking, run the node
# don't forget to delete the archive to save space
cd $HOME
rm sourcedata.tar.gz
# start the node
sudo systemctl restart sourced && journalctl -u sourced -f -o cat
создаем кошелек
sourced keys add wallet
или восстанавливаем из сид
sourced keys add wallet --recover
и экспортируем паблики в переменные
SOURCE_WALLET_ADDRESS=$(sourced keys show $WALLET -a)
SOURCE_VALOPER_ADDRESS=$(sourced keys show $WALLET --bech val -a)
echo 'export SOURCE_WALLET_ADDRESS='${SOURCE_WALLET_ADDRESS} >> $HOME/.bash_profile echo 'export SOURCE_VALOPER_ADDRESS='${SOURCE_VALOPER_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
идем в кран в дискорде и просим монеты, затем проверяем баланс
sourced query bank balances $SOURCE_WALLET_ADDRESS
Создаем валидатора
sourced tx staking create-validator \
--amount 1000000usource \
--from $WALLET \
--commission-max-change-rate "0.01" \
--commission-max-rate "0.2" \
--commission-rate "0.07" \
--min-self-delegation "1" \
--pubkey $(sourced tendermint show-validator) \
--moniker $NODENAME \
--chain-id $SOURCE_CHAIN_ID
Редактировать информацию о валидаторе можно так
sourced tx staking edit-validator \
--moniker=$NODENAME \
--identity=<your_keybase_id> \
--website="<your_website>" \
--details="<your_validator_description>" \
--chain-id=$SOURCE_CHAIN_ID \
--from=$WALLET
Снести ноду
sudo systemctl stop sourced
sudo systemctl disable sourced
sudo rm /etc/systemd/system/source* -rf
sudo rm $(which sourced) -rf
sudo rm $HOME/.source* -rf
sudo rm $HOME/source -rf
Логи
journalctl -u sourced -f -o cat
collect://
Обновляем систему
sudo apt update && sudo apt upgrade -y
Ставим зависимости
sudo apt install curl build-essential git wget jq make gcc -y
sudo curl https://get.ignite.com/cli! | sudo bash
Ставим GO
ver="1.18.3" # set ver.
cd $HOME
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" >> ~/.bash_profile
source ~/.bash_profile
go version
Клонируем репо
cd $HOME
rm source -rf
git clone https://github.com/Source-Protocol-Cosmos/source.git --branch testnet
Собираем бинарники
cd source
ignite chain build
Задаем имя ноды придумываем и вставляем сами
NODENAME=ПРИДУМАЙ_САМ
Задаем переменные
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
SOURCE_CHAIN_ID=sourcechain-testnet
source $HOME/.bash_profile
Инициализируем ноду
sourced init $NODENAME --chain-id=$SOURCE_CHAIN_ID
Скачиваем генезис
wget -qO $HOME/.source/config/genesis.json "https://raw.githubusercontent.com/Source-Protocol-Cosmos/testnets/master/sourcechain-testnet/genesis.json"
настраиваем минимальную цену за газ в app.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0usource\"/" $HOME/.source/config/app.toml
настраиваем чейнid чтобы не вводить каждый раз
sourced config chain-id $SOURCE_CHAIN_ID
настраиваем сиды и пиры
SEEDS="6ca675f9d949d5c9afc8849adf7b39bc7fccf74f@164.92.98.17:26656"
PEERS="6ca675f9d949d5c9afc8849adf7b39bc7fccf74f@164.92.98.17:26656,6721349b8a9846b730fdadb9ddf0b0596acf98e7@217.13.223.167:26656,7ccb6331c8f8aed3439fe2f88d01f8808564f9e2@164.92.98.14:26656,c293787dd1aeede1e1716196db4abb30d171710e@38.242.220.245:26656,ee528debedd6b1dca93fbb5774519ea67c0eeb9b@142.93.134.100:26656,dbba2131476082da8cdf6158931eeca72de6bfd3@62.171.181.47:26656,03873e48e419cee0830e64860c81552e3c8a2df5@188.166.38.18:26656,d9aac0b2753ef46858d03f8497431b99740e8abe@5.161.147.146:26656,b02e2bd359623aeee2d4fad94d37af8b064508f6@167.235.224.141:26656,3e2c92297b30263c726725eabb1e0927a7aff6cf@20.198.115.141:26656,3874444d8504dc31836c1e41ffe408bee6b80904@38.242.159.243:39656,f0a070fde1ed643021c45b3c439bb0a8346338e7@89.179.33.100:26656,094bd69cb65fd3b284283d7960e2fdc4989cc39c@167.235.142.71:2665"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.source/config/config.toml
меняем порты (опционально)
config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:36658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:36657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:6061\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:36656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":36660\"%" $HOME/.source/config/config.toml
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:36656\"/" $HOME/.source/config/config.toml
app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:9190\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:9191\"%" $HOME/.source/config/app.toml
client.toml
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.source/config/client.toml
Настраиваем прунинг (опционально)
pruning="custom" && \
pruning_keep_recent="1000" && \
pruning_keep_every="0" && \
pruning_interval="50" && \
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
Включаем прометеус
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.source/config/config.toml
Сбрасываем данные чейна
sourced unsafe-reset-all
Создаем сервис
sudo tee /etc/systemd/system/sourced.service > /dev/null <<EOF
[Unit]
Description=source
After=network-online.target
[Service]
User=$USER
ExecStart=$(which sourced) --home $HOME/.source start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Запускаем сервис
sudo systemctl daemon-reload
sudo systemctl enable sourced
sudo systemctl restart sourced && sudo journalctl -u sourced -f -o cat
Запуск со СтейтСинк (опционально, быстро, просто)
снапшот от https://github.com/obajay . Спасибо ему.
sudo systemctl stop sourced
rm -rf $HOME/.source/data/
mkdir $HOME/.source/data/
# download archive
cd $HOME
wget http://116.202.236.115:8000/sourcedata.tar.gz
# unpack the archive
tar -C $HOME/ -zxvf sourcedata.tar.gz --strip-components 1
# !! IMPORTANT POINT. If the validator was created earlier. Need to reset priv_validator_state.json !!
wget -O $HOME/.source/data/priv_validator_state.json "https://raw.githubusercontent.com/obajay/StateSync-snapshots/main/priv_validator_state.json"
cd && cat .source/data/priv_validator_state.json
{
"height": "0",
"round": 0,
"step": 0
}
# after unpacking, run the node
# don't forget to delete the archive to save space
cd $HOME
rm sourcedata.tar.gz
# start the node
sudo systemctl restart sourced && journalctl -u sourced -f -o cat
создаем кошелек
sourced keys add wallet
или восстанавливаем из сид
sourced keys add wallet --recover
и экспортируем паблики в переменные
SOURCE_WALLET_ADDRESS=$(sourced keys show $WALLET -a)
SOURCE_VALOPER_ADDRESS=$(sourced keys show $WALLET --bech val -a)
echo 'export SOURCE_WALLET_ADDRESS='${SOURCE_WALLET_ADDRESS} >> $HOME/.bash_profile echo 'export SOURCE_VALOPER_ADDRESS='${SOURCE_VALOPER_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
идем в кран в дискорде и просим монеты, затем проверяем баланс
sourced query bank balances $SOURCE_WALLET_ADDRESS
Создаем валидатора
sourced tx staking create-validator \
--amount 1000000usource \
--from $WALLET \
--commission-max-change-rate "0.01" \
--commission-max-rate "0.2" \
--commission-rate "0.07" \
--min-self-delegation "1" \
--pubkey $(sourced tendermint show-validator) \
--moniker $NODENAME \
--chain-id $SOURCE_CHAIN_ID
Редактировать информацию о валидаторе можно так
sourced tx staking edit-validator \
--moniker=$NODENAME \
--identity=<your_keybase_id> \
--website="<your_website>" \
--details="<your_validator_description>" \
--chain-id=$SOURCE_CHAIN_ID \
--from=$WALLET
Снести ноду
sudo systemctl stop sourced
sudo systemctl disable sourced
sudo rm /etc/systemd/system/source* -rf
sudo rm $(which sourced) -rf
sudo rm $HOME/.source* -rf
sudo rm $HOME/source -rf
Логи
journalctl -u sourced -f -o cat
collect://
No activity yet