Skip to content

Instantly share code, notes, and snippets.

@silentnoname
Last active December 18, 2023 15:14
Show Gist options
  • Save silentnoname/9be3b4b76d8648548dded29ef16ae6c3 to your computer and use it in GitHub Desktop.
Save silentnoname/9be3b4b76d8648548dded29ef16ae6c3 to your computer and use it in GitHub Desktop.
celestia rpc

基础环境安装

sudo apt update -y &&sudo apt upgrade -y 
sudo apt install curl tar wget lz4 jq build-essential git make   -y

go 安装

sudo rm -rf /usr/local/go
curl https://dl.google.com/go/go1.21.5.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat <<'EOF' >>$HOME/.bashrc
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.bashrc

变量设置

chain=celestia
github=https://github.com/celestiaorg/celestia-app
gitfoldername=celestia-app
gittag=v1.3.0
daemonname=celestia-appd
daemonhome=celestia-app
genesis=https://snapshots.polkachu.com/genesis/celestia/genesis.json
seeds=
[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:16656,[email protected]:1500,[email protected]:26626,[email protected]:26656,[email protected]:46656,[email protected]:29656,[email protected]:26200,[email protected]:30783,[email protected]:26656,[email protected]:2000,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:16656,[email protected]:26656,[email protected]:27656,[email protected]:26656,[email protected]:26670,[email protected]:26656,[email protected]:26776,[email protected]:26656,[email protected]:2000,[email protected]:26666,[email protected]:11656,[email protected]:2000,[email protected]:26656,[email protected]:26656,[email protected]:26200,[email protected]:26200,[email protected]:26656,[email protected]:2000,[email protected]:26656,[email protected]:26656,[email protected]:31330,[email protected]:11656,[email protected]:2000,[email protected]:26656,[email protected]:15670,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:20056,[email protected]:26656,[email protected]:26656,[email protected]:11656,[email protected]:11656,[email protected]:26656,[email protected]:26656,[email protected]:26200,[email protected]:2000,[email protected]:26656,[email protected]:11656,[email protected]:11656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:15007,[email protected]:26630,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:2600,[email protected]:26656,[email protected]:26656,[email protected]:32438,[email protected]:26656,[email protected]:26656,[email protected]:11656,[email protected]:26656,[email protected]:46657,[email protected]:56656,[email protected]:26656,[email protected]:26656,[email protected]:11656,[email protected]:32668,[email protected]:26656,[email protected]:11656,[email protected]:26656,[email protected]:56656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26605,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:11656,[email protected]:26656,[email protected]:26668,[email protected]:11656,[email protected]:26656,[email protected]:32656,[email protected]:26656,[email protected]:43656,[email protected]:26656,[email protected]:55656,[email protected]:26656,[email protected]:26659,[email protected]:26656,[email protected]:26656,[email protected]:31660,[email protected]:13656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26630,[email protected]:27657,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:11656,[email protected]:26656,[email protected]:26001,[email protected]:26656,[email protected]:26656,[email protected]:26756,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:2000,[email protected]:52656,[email protected]:26656,[email protected]:12056,[email protected]:26656,[email protected]:13656,[email protected]:26656,[email protected]:26656,[email protected]:51656
chainid=celestia

安装节点二进制文件

git clone $github
cd $gitfoldername
git checkout $gittag
make install
$daemonname init node --chain-id=$chainid --home=$HOME/.$daemonhome
cd

设置cosmovisor

go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/[email protected]
cat <<'EOF' >>$HOME/.bashrc
export DAEMON_NAME=$daemonname
export DAEMON_HOME=$HOME/.$daemonhome
EOF
source ~/.bashrc
mkdir -p $DAEMON_HOME/cosmovisor/genesis/bin
mkdir -p $DAEMON_HOME/cosmovisor/upgrades
cp $(which $DAEMON_NAME) $DAEMON_HOME/cosmovisor/genesis/bin

打开端口(可选)

sed -i 's/127.0.0.1:26657/0.0.0.0:26657/g' $DAEMON_HOME/config/config.toml 
sed -i '/\[api\]/{:a;n;/enable/s/false/true/;Ta;}' $DAEMON_HOME/config/app.toml
$daemonname config node http://127.0.0.1:26657

开启txindex

sed -i 's/indexer = "null"/indexer = "kv"/g' $DAEMON_HOME/config/config.toml 

修改pruning

sed -i 's/pruning = "default"/pruning = "custom"/g' $DAEMON_HOME/config/app.toml 
sed -i 's/pruning-keep-recent = "0"/pruning-keep-recent = "100"/g' $DAEMON_HOME/config/app.toml 
sed -i 's/pruning-interval = "0"/pruning-interval = "10"/g' $DAEMON_HOME/config/app.toml 

genesis和peer配置

wget -O $DAEMON_HOME/config/genesis.json $genesis
sed -i -e "s/^seeds *=.*/seeds = \"$seeds\"/; s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $DAEMON_HOME/config/config.toml

设置最低Gas price (但是发交易时gas太低不一定能上链,建议先测试最低多少gas price能被验证者节点接受,默认为0.002utia)

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0utia\"/" $DAEMON_HOME/config/app.toml 

下载快照

wget -O celestia_354172.tar.lz4 https://snapshots.polkachu.com/snapshots/celestia/celestia_354172.tar.lz4 --inet4-only
lz4 -c -d celestia_354172.tar.lz4  | tar -x -C $HOME/.celestia-app

配置服务

sudo tee /etc/systemd/system/${chain}-cosmovisor.service > /dev/null <<EOF
[Unit]
Description=cosmovisor
After=network-online.target

[Service]
User=$USER
ExecStart=$(which cosmovisor) start --home=${DAEMON_HOME}
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=${daemonname}"
Environment="DAEMON_HOME=${DAEMON_HOME}"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="DAEMON_LOG_BUFFER_SIZE=512"

[Install]
WantedBy=multi-user.target
EOF

启动

sudo systemctl enable celestia-cosmovisor.service
sudo systemctl restart celestia-cosmovisor.service 

看日志

sudo journalctl -u  celestia-cosmovisor.service  -f -o cat

检查是否同步 (可能要半小时到1小时才能同步)

 curl localhost:26657/status | jq .result.sync_info

"catching_up": 显示为false 即已经同步

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment