Ноды 💻
April 11

Galactica Testnet - установка ноды

Galactica Network — это протокол уровня 1, который использует криптографию с нулевым разглашением для достижения устойчивости Sybil, обеспечения конфиденциальности и внедрения надежных примитивов репутации в DeFi и DAO. Используя zkKYC и динамический белый список, протокол разработан так, чтобы оставаться закрытым, обеспечивая при этом соответствие нормативным требованиям для каждого dApp и конфиденциальность для каждого пользователя. Сеть Galactica использует сильную форму сопротивления Sybil, чтобы обеспечить постоянную репутацию учетной записи, социальные графы (например, DeSoc) и, в конечном итоге, привести в действие пространство дизайна пост-DAO, также известное как Cypher State.

Минимальные системные требования

CPU 4

RAM 8GB

Storage 150GB

Подготовка сервера

sudo apt update && sudo apt upgrade -y && \
sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc fail2ban htop -y

Установка GO 1.20.3

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

Сборка 04.10.24

cd $HOME && mkdir -p go/bin/
git clone https://github.com/Galactica-corp/galactica
cd galactica
git checkout v0.2.4
make install

galacticad version --long | grep -e version -e commit

  • version: 0.1.2
  • commit: fc20406dfb09f600f244f5eeae31928c835ff433
galacticad init <node name> --chain-id galactica_9302-1
galacticad config chain-id galactica_9302-1

где <node name> имя вашей ноды

Создать или восстановить кошелек

galacticad keys add <walletname>

<walletname> имя вашего кошелька ( не адрес )

*Для восстановления используем флаг --recover

galacticad keys add <walletname> --recover

galacticad keys add <walletname> --recover --keyring-backend test

Скачать файл генезиса

wget -O $HOME/.galactica/config/genesis.json "https://raw.githubusercontent.com/KokosP/galactica/main/genesis.json"

sha256sum $HOME/.galactica/config/genesis.json

  • 03f88591a3a60c9940c7f49d43f24e8bb6e39ea4ff22d783fcc6f12762446e59

Настройте минимальную цену на газ, пиры и сиды

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0agnet\"/;" ~/.galactica/config/app.toml
external_address=$(wget -qO- eth0.me) 
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.galactica/config/config.toml
peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.galactica/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.galactica/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.galactica/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.galactica/config/config.toml

Pruning (не обязательно)

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.galactica/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.galactica/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.galactica/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.galactica/config/app.toml

Indexer (не обязательно)

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

Скачать addrbook

wget -O $HOME/.galactica/config/addrbook.json "https://raw.githubusercontent.com/KokosP/galactica/main/addrbook.json"

Создать сервисный файл

sudo tee /etc/systemd/system/galacticad.service > /dev/null <<EOF
[Unit]
Description=galacticad
After=network-online.target

[Service]
User=$USER
ExecStart=$(which galacticad) start --chain-id galactica_9302-1
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Смена портов ( для нескольких космо нод на одном сервере)

CUSTOM_PORT=147

sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}66\"%" $HOME/.galactica/config/config.toml
sed -i -e "s%^address = \"tcp://localhost:1317\"%address = \"tcp://localhost:${CUSTOM_PORT}17\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}80\"%; s%^address = \"localhost:9090\"%address = \"localhost:${CUSTOM_PORT}90\"%; s%^address = \"localhost:9091\"%address = \"localhost:${CUSTOM_PORT}91\"%; s%^address = \"0.0.0.0:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}45\"%; s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}46\"%" $HOME/.galactica/config/app.toml

galacticad config node tcp://localhost:${CUSTOM_PORT}57

SnapShot

cd $HOME
snap install lz4
sudo systemctl stop galacticad
cp $HOME/.galactica/data/priv_validator_state.json $HOME/.galactica/priv_validator_state.json.backup
rm -rf $HOME/.galactica/data
curl -o - -L https://server-4.itrocket.net/testnet/galactica/galactica_2024-10-08_2709040_snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.galactica --strip-components 2
mv $HOME/.galactica/priv_validator_state.json.backup $HOME/.galactica/data/priv_validator_state.json
wget -O $HOME/.galactica/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Galactica/addrbook.json"

Запускаем

sudo systemctl daemon-reload
sudo systemctl enable galacticad
sudo systemctl restart galacticad && sudo journalctl -u galacticad -f -o cat

Faucet

Извлеките HEX-адрес, чтобы запросить токены из крана

galacticad debug addr gala1ххххххххххххххххххххх

*gala1ххххххххххххххххххххх адрес вашего кошелька

Создаем валидатора

galacticad tx staking create-validator \
--commission-rate 0.1 \
--commission-max-rate 0.1 \
--commission-max-change-rate 0.1 \
--min-self-delegation "1" \
--amount 1000000000000000000agnet \
--pubkey $(galacticad tendermint show-validator) \
--from <walletname> \
--moniker="<node name>" \
--chain-id galactica_9302-1 \
--gas 300000 \
--identity="" \
--website="" \
--details="" \
--gas-prices 20agnet \
-y

Удалить ноду

sudo systemctl stop galacticad
sudo systemctl disable galacticad
rm /etc/systemd/system/galacticad.service
sudo systemctl daemon-reload
cd $HOME
rm -rf galactica
rm -rf .galactica
rm -rf $(which galacticad)

Информация о синхронизации

galacticad status 2>&1 | jq .SyncInfo

Информация о ноде

galacticad status 2>&1 | jq .NodeInfo

Логи

sudo journalctl -fu galacticad -o cat

Проверить баланс кошелька

galacticad query bank balances gala...addressjkl1yjgn7z09ua9vms259j

Информация о валидаторе

galacticad query staking validator galavaloperaddress......

Выйти из тюрьмы

galacticad tx slashing unjail --from <walletname> --chain-id galactica_9302-1 --gas 350000 -y

Выведите все вознаграждения со всех валидаторов

galacticad tx distribution withdraw-all-rewards --from <walletname> --chain-id galactica_9302-1 --gas 350000 -y

Вывод средств и комиссия с вашего Валидатора

galacticad tx distribution withdraw-rewards galavaloperaddress...... --from <walletname> --gas 350000 --chain-id=galactica_9302-1 --commission -y

Делегируйте токены своему валидатору

galacticad tx staking delegate galavaloperaddress...... "100000000"agnet --from <walletname> --gas 350000 --chain-id=galactica_9302-1 -y

Ваш Valoper-Адрес

galacticad keys show <walletname> --bech val

Website

Discord