5.7 KiB
5.7 KiB
NAC主网部署指南
NewAssetChain Mainnet Deployment Guide
版本: 1.0.0
更新时间: 2026-02-15
作者: NewAssetChain开发团队
📋 目录
系统要求
硬件要求
最低配置:
- 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
联系支持
- 官网: https://newassetchain.io
- 文档: https://docs.newassetchain.io
- GitHub: https://github.com/newassetchain
- 社区: https://community.newassetchain.io
- 邮箱: support@newassetchain.io
NAC主网部署指南 v1.0.0
© 2026 NewAssetChain. All rights reserved.