NAC_Blockchain/MAINNET_DEPLOYMENT_GUIDE.md

5.7 KiB
Raw Blame History

NAC主网部署指南

NewAssetChain Mainnet Deployment Guide

版本: 1.0.0
更新时间: 2026-02-15
作者: NewAssetChain开发团队


📋 目录

  1. 系统要求
  2. 部署前准备
  3. 编译和构建
  4. 配置文件
  5. 启动节点
  6. 验证部署
  7. 监控和维护
  8. 故障排除

系统要求

硬件要求

最低配置:

  • CPU: 4核心
  • 内存: 8GB RAM
  • 存储: 500GB SSD
  • 网络: 100Mbps

推荐配置:

  • CPU: 8核心+
  • 内存: 16GB+ RAM
  • 存储: 1TB+ NVMe SSD
  • 网络: 1Gbps

软件要求

  • 操作系统: Ubuntu 22.04 LTS或更高版本
  • Rust: 1.75.0或更高版本
  • Git: 2.34.0或更高版本
  • 其他依赖: build-essential, pkg-config, libssl-dev

部署前准备

1. 安装Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustup update

2. 安装系统依赖

sudo apt update
sudo apt install -y build-essential pkg-config libssl-dev git

3. 克隆代码仓库

git clone https://github.com/newassetchain/nac-mainnet.git
cd nac-mainnet

编译和构建

1. 编译所有模块

# Charter编译器
cd charter-compiler
cargo build --release
cargo test --release

# CNNL编译器
cd ../cnnl-compiler
cargo build --release
cargo test --release

# NAC-UDM
cd ../nac-udm
cargo build --release

# NVM-L0
cd ../nvm_v2/nvm-l0
cargo build --release

# NVM-L1
cd ../nvm-l1
cargo build --release

# NAC-SDK
cd ../../nac-sdk
cargo build --release

# NAC宪法宏
cd ../nac-constitution-macros
cargo build --release

2. 验证编译结果

# 检查所有二进制文件
find . -name "*.so" -o -name "*.rlib" | grep release

配置文件

1. 主网配置

复制并编辑主网配置文件:

cp mainnet_config.toml /etc/nac/mainnet.toml

2. 关键配置项

网络配置:

[network]
chain_id = 1
network_type = "mainnet"

共识配置:

[consensus]
protocol = "CBPP"
initial_soft_limit = 1048576  # 1MB
max_soft_limit = 8388608  # 8MB

安全配置:

[security]
constitutional_receipt_enabled = true
gnacs_enabled = true
sovereignty_rules_enabled = true

启动节点

1. 创建系统服务

创建 /etc/systemd/system/nac-node.service:

[Unit]
Description=NAC Mainnet Node
After=network.target

[Service]
Type=simple
User=nac
Group=nac
WorkingDirectory=/opt/nac
ExecStart=/opt/nac/bin/nac-node --config /etc/nac/mainnet.toml
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

2. 启动服务

sudo systemctl daemon-reload
sudo systemctl enable nac-node
sudo systemctl start nac-node

3. 查看日志

sudo journalctl -u nac-node -f

验证部署

1. 检查节点状态

curl http://localhost:8545 -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"nac_nodeInfo","params":[],"id":1}'

2. 检查区块同步

curl http://localhost:8545 -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"nac_blockNumber","params":[],"id":1}'

3. 检查连接的节点

curl http://localhost:8545 -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"nac_peerCount","params":[],"id":1}'

监控和维护

1. 性能监控

使用Prometheus监控节点性能:

# 访问Prometheus metrics
curl http://localhost:9091/metrics

2. 健康检查

# 访问健康检查端点
curl http://localhost:9090/health

3. 日志管理

# 查看实时日志
tail -f /var/log/nac/mainnet.log

# 查看错误日志
grep ERROR /var/log/nac/mainnet.log

4. 数据库备份

# 停止节点
sudo systemctl stop nac-node

# 备份数据库
tar -czf nac-backup-$(date +%Y%m%d).tar.gz /var/lib/nac/mainnet

# 启动节点
sudo systemctl start nac-node

故障排除

1. 节点无法启动

问题: 节点启动失败

解决方案:

# 检查配置文件
cat /etc/nac/mainnet.toml

# 检查日志
sudo journalctl -u nac-node -n 100

# 检查端口占用
sudo netstat -tulpn | grep -E '(8545|8546|30303)'

2. 区块同步缓慢

问题: 区块同步速度慢

解决方案:

# 检查网络连接
ping -c 5 mainnet.newassetchain.io

# 检查磁盘IO
iostat -x 1 5

# 增加连接数
# 编辑 /etc/nac/mainnet.toml
max_peers = 100

3. 内存不足

问题: 节点内存使用过高

解决方案:

# 减少缓存大小
# 编辑 /etc/nac/mainnet.toml
cache_size = 512

# 重启节点
sudo systemctl restart nac-node

安全建议

1. 防火墙配置

# 允许P2P端口
sudo ufw allow 30303/tcp
sudo ufw allow 30303/udp

# 允许RPC端口仅本地
sudo ufw allow from 127.0.0.1 to any port 8545
sudo ufw allow from 127.0.0.1 to any port 8546

# 启用防火墙
sudo ufw enable

2. SSH安全

# 禁用密码登录
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

# 使用SSH密钥认证
ssh-keygen -t ed25519

3. 定期更新

# 更新系统
sudo apt update && sudo apt upgrade -y

# 更新NAC节点
cd /opt/nac
git pull
cargo build --release
sudo systemctl restart nac-node

联系支持


NAC主网部署指南 v1.0.0
© 2026 NewAssetChain. All rights reserved.