# 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 ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env rustup update ``` ### 2. 安装系统依赖 ```bash sudo apt update sudo apt install -y build-essential pkg-config libssl-dev git ``` ### 3. 克隆代码仓库 ```bash git clone https://github.com/newassetchain/nac-mainnet.git cd nac-mainnet ``` --- ## 编译和构建 ### 1. 编译所有模块 ```bash # 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. 验证编译结果 ```bash # 检查所有二进制文件 find . -name "*.so" -o -name "*.rlib" | grep release ``` --- ## 配置文件 ### 1. 主网配置 复制并编辑主网配置文件: ```bash cp mainnet_config.toml /etc/nac/mainnet.toml ``` ### 2. 关键配置项 **网络配置**: ```toml [network] chain_id = 1 network_type = "mainnet" ``` **共识配置**: ```toml [consensus] protocol = "CBPP" initial_soft_limit = 1048576 # 1MB max_soft_limit = 8388608 # 8MB ``` **安全配置**: ```toml [security] constitutional_receipt_enabled = true gnacs_enabled = true sovereignty_rules_enabled = true ``` --- ## 启动节点 ### 1. 创建系统服务 创建 `/etc/systemd/system/nac-node.service`: ```ini [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. 启动服务 ```bash sudo systemctl daemon-reload sudo systemctl enable nac-node sudo systemctl start nac-node ``` ### 3. 查看日志 ```bash sudo journalctl -u nac-node -f ``` --- ## 验证部署 ### 1. 检查节点状态 ```bash curl http://localhost:8545 -X POST -H "Content-Type: application/json" \ --data '{"jsonrpc":"2.0","method":"nac_nodeInfo","params":[],"id":1}' ``` ### 2. 检查区块同步 ```bash curl http://localhost:8545 -X POST -H "Content-Type: application/json" \ --data '{"jsonrpc":"2.0","method":"nac_blockNumber","params":[],"id":1}' ``` ### 3. 检查连接的节点 ```bash curl http://localhost:8545 -X POST -H "Content-Type: application/json" \ --data '{"jsonrpc":"2.0","method":"nac_peerCount","params":[],"id":1}' ``` --- ## 监控和维护 ### 1. 性能监控 使用Prometheus监控节点性能: ```bash # 访问Prometheus metrics curl http://localhost:9091/metrics ``` ### 2. 健康检查 ```bash # 访问健康检查端点 curl http://localhost:9090/health ``` ### 3. 日志管理 ```bash # 查看实时日志 tail -f /var/log/nac/mainnet.log # 查看错误日志 grep ERROR /var/log/nac/mainnet.log ``` ### 4. 数据库备份 ```bash # 停止节点 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. 节点无法启动 **问题**: 节点启动失败 **解决方案**: ```bash # 检查配置文件 cat /etc/nac/mainnet.toml # 检查日志 sudo journalctl -u nac-node -n 100 # 检查端口占用 sudo netstat -tulpn | grep -E '(8545|8546|30303)' ``` ### 2. 区块同步缓慢 **问题**: 区块同步速度慢 **解决方案**: ```bash # 检查网络连接 ping -c 5 mainnet.newassetchain.io # 检查磁盘IO iostat -x 1 5 # 增加连接数 # 编辑 /etc/nac/mainnet.toml max_peers = 100 ``` ### 3. 内存不足 **问题**: 节点内存使用过高 **解决方案**: ```bash # 减少缓存大小 # 编辑 /etc/nac/mainnet.toml cache_size = 512 # 重启节点 sudo systemctl restart nac-node ``` --- ## 安全建议 ### 1. 防火墙配置 ```bash # 允许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安全 ```bash # 禁用密码登录 sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config sudo systemctl restart sshd # 使用SSH密钥认证 ssh-keygen -t ed25519 ``` ### 3. 定期更新 ```bash # 更新系统 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.**