0G-Galileo-Testnet

Component Mainnet Testnet Memory 64 GB 64 GB CPU 8 cores 8 cores Disk 1 TB NVME SSD 4 TB NVME SSD Bandwidth 100 MBps for Download / Upload 100 MBps for Download / Upload 自动部署 75%

发布时间:Thu Jun 26 2025 08:04:04 GMT+0800 (Hong Kong Standard Time)分类:杂项记录

Component

Mainnet

Testnet

Memory

64 GB

64 GB

CPU

8 cores

8 cores

Disk

1 TB NVME SSD

4 TB NVME SSD

Bandwidth

100 MBps for Download / Upload

100 MBps for Download / Upload

```
官方教程。
1. 下载
下载节点二进制文件的最新包:

wget -O galileo.tar.gz https://github.com/0glabs/0gchain-NG/releases/download/v1.2.0/galileo-v1.2.0.tar.gz

2. 解压
将软件包解压到您的主目录:

tar -xzvf galileo.tar.gz -C ~

3.复制文件并设置
复制配置文件并设置适当的权限:

cd galileo
cp -r 0g-home {your data path}
sudo chmod 777 ./bin/geth
sudo chmod 777 ./bin/0gchaind

4. 初始化
使用创世文件初始化 Geth 客户端:

./bin/geth init --datadir /{your data path}/0g-home/geth-home ./genesis.json

5. 初始化
为初始配置创建临时目录:

./bin/0gchaind init {node name} --home /{your data path}/tmp

6.复制节点
将生成的密钥移动到适当的位置:

cp /{your data path}/tmp/data/priv_validator_state.json /{your data path}/0g-home/0gchaind-home/data/
cp /{your data path}/tmp/config/node_key.json /{your data path}/0g-home/0gchaind-home/config/
cp /{your data path}/tmp/config/priv_validator_key.json /{your data path}/0g-home/0gchaind-home/config/

注意:完成此步骤后即可删除临时目录。

7. 启动
cd ~/galileo
nohup ./bin/0gchaind start \
--rpc.laddr tcp://0.0.0.0:26657 \
--chaincfg.chain-spec devnet \
--chaincfg.kzg.trusted-setup-path=kzg-trusted-setup.json \
--chaincfg.engine.jwt-secret-path=jwt-secret.hex \
--chaincfg.kzg.implementation=crate-crypto/go-kzg-4844 \
--chaincfg.block-store-service.enabled \
--chaincfg.node-api.enabled \
--chaincfg.node-api.logging \
--chaincfg.node-api.address 0.0.0.0:3500 \
--pruning=nothing \
--home /{your data path}/0g-home/0gchaind-home \
--p2p.seeds 85a9b9a1b7fa0969704db2bc37f7c100855a75d9@8.218.88.60:26656 \
--p2p.external_address {your node ip}:26656 > /{your data path}/0g-home/log/0gchaind.log 2>&1 &

8. 启动
cd ~/galileo
nohup ./bin/geth --config geth-config.toml \
--nat extip:{your node ip} \
--bootnodes enode://de7b86d8ac452b1413983049c20eafa2ea0851a3219c2cc12649b971c1677bd83fe24c5331e078471e52a94d95e8cde84cb9d866574fec957124e57ac6056699@8.218.88.60:30303 \
--datadir /{your data path}/0g-home/geth-home \
--networkid 16601 > /{your data path}/0g-home/log/geth.log 2>&1 &

9.验证
检查日志以确认您的节点是否正常运行:

Check Geth logs tail -f /{your data path}/0g-home/log/geth.log

Check 0gchaind logs tail -f /{your data path}/0g-home/log/0gchaind.log

检查日志以确认您的节点是否正常运行。
```

*

自动部署

75%

```
#!/bin/bash
set -euo pipefail

========= 配置 ========= DEFAULT_VERSION="v1.2.0" NODE_NAME="my-node" INSTALL_DIR="$HOME/galileo" DATA_PATH="$HOME/0g-data" NODE_IP=$(curl -s ifconfig.me) LOG_DIR="${DATA_PATH}/0g-home/log" GLOG="${LOG_DIR}/geth.log" CLOG="${LOG_DIR}/0gchaind.log"

========= 工具函数 ========= log() { echo -e "\033[32m[$(date '+%Y-%m-%d %H:%M:%S')] $*\033[0m" }

retry() {
local cmd="$1"
local desc="$2"
local max_attempts=5
local count=0

until eval "$cmd"; do
count=$((count + 1))
if [[ $count -ge $max_attempts ]]; then
echo "❌ $desc 失败超过 $max_attempts 次,退出"
exit 1
fi
echo "⚠️ $desc 失败,重试第 $count 次..."
sleep 3
done

echo "✅ $desc 成功"
}

========= 步骤 1: 获取最新版本 ========= log "查询 Galileo 最新版本..." LATEST_VERSION=$(curl -s https://api.github.com/repos/0glabs/0gchain-NG/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+')

if [[ -z "$LATEST_VERSION" ]]; then
log "⚠️ 无法从 GitHub 获取版本信息,使用默认版本 $DEFAULT_VERSION"
LATEST_VERSION="$DEFAULT_VERSION"
else
log "✅ 获取到最新版本: $LATEST_VERSION"
fi

DOWNLOAD_URL="https://github.com/0glabs/0gchain-NG/releases/download/${LATEST_VERSION}/galileo-${LATEST_VERSION}.tar.gz"

========= 步骤 2: 下载并解压 ========= log "下载 Galileo 包..." retry "wget -O galileo.tar.gz $DOWNLOAD_URL" "下载 Galileo 包"

log "解压至 $HOME..."
rm -rf "$INSTALL_DIR"
mkdir -p "$INSTALL_DIR"
retry "tar -xzvf galileo.tar.gz -C ~" "解压 Galileo 包"

cd "$INSTALL_DIR"

========= 步骤 3: 设置数据目录和权限 ========= log "配置数据路径 $DATA_PATH..." mkdir -p "$DATA_PATH" cp -r 0g-home "$DATA_PATH/" chmod 777 ./bin/geth ./bin/0gchaind

========= 步骤 4: 初始化 ========= log "初始化 geth..." retry "./bin/geth init --datadir ${DATA_PATH}/0g-home/geth-home ./genesis.json" "初始化 geth"

log "初始化 0gchaind..."
rm -rf "${DATA_PATH}/tmp"
retry "./bin/0gchaind init ${NODE_NAME} --home ${DATA_PATH}/tmp" "初始化 0gchaind"

========= 步骤 5: 拷贝密钥 ========= log "拷贝密钥文件..." cp ${DATA_PATH}/tmp/data/priv_validator_state.json ${DATA_PATH}/0g-home/0gchaind-home/data/ cp ${DATA_PATH}/tmp/config/node_key.json ${DATA_PATH}/0g-home/0gchaind-home/config/ cp ${DATA_PATH}/tmp/config/priv_validator_key.json ${DATA_PATH}/0g-home/0gchaind-home/config/

========= 步骤 6: 启动节点 ========= log "启动 0gchaind 节点 (screen 会话)..." screen -S 0gchaind -dm bash -c "./bin/0gchaind start \ --rpc.laddr tcp://0.0.0.0:26657 \ --chaincfg.chain-spec devnet \ --chaincfg.kzg.trusted-setup-path=kzg-trusted-setup.json \ --chaincfg.engine.jwt-secret-path=jwt-secret.hex \ --chaincfg.kzg.implementation=crate-crypto/go-kzg-4844 \ --chaincfg.block-store-service.enabled \ --chaincfg.node-api.enabled \ --chaincfg.node-api.logging \ --chaincfg.node-api.address 0.0.0.0:3500 \ --pruning=nothing \ --home ${DATA_PATH}/0g-home/0gchaind-home \ --p2p.seeds 85a9b9a1b7fa0969704db2bc37f7c100855a75d9@8.218.88.60:26656 \ --p2p.external_address ${NODE_IP}:26656 \ > $CLOG 2>&1"

log "启动 Geth 节点 (screen 会话)..."
screen -S geth -dm bash -c "./bin/geth --config geth-config.toml \
--nat extip:${NODE_IP} \
--bootnodes enode://de7b86d8ac452b1413983049c20eafa2ea0851a3219c2cc12649b971c1677bd83fe24c5331e078471e52a94d95e8cde84cb9d866574fec957124e57ac6056699@8.218.88.60:30303 \
--datadir ${DATA_PATH}/0g-home/geth-home \
--networkid 16601 \
> $GLOG 2>&1"

========= 步骤 7: 验证日志 ========= sleep 5 log "验证 geth 日志..." if grep -q "Listening on" "$GLOG"; then echo "✅ Geth 节点运行正常" else echo "⚠️ Geth 日志中未检测到监听信息,请检查: $GLOG" fi

log "验证 0gchaind 日志..."
if grep -q "Starting multiAppConn" "$CLOG"; then
echo "✅ 0gchaind 节点运行正常"
else
echo "⚠️ 0gchaind 日志中未检测到启动信息,请检查: $CLOG"
fi

========= 完成 ========= log "🎉 部署完成!以下是常用命令:" echo "▶ 查看 Geth 日志: screen -r geth" echo "▶ 查看 0gchaind 日志: screen -r 0gchaind" echo "▶ 分离 screen 会话: Ctrl + A 然后 D" echo "▶ 实时查看日志: tail -f $GLOG 或 $CLOG" ```

如需交互式阅读、购买或评论,请打开站内完整版页面。