119 lines
3.3 KiB
Bash
119 lines
3.3 KiB
Bash
#!/bin/bash
|
||
|
||
# NAC公链服务器端部署脚本
|
||
# 在备份服务器上执行此脚本完成部署
|
||
# 服务器: 103.96.148.7:22000
|
||
|
||
set -e
|
||
|
||
echo "========================================="
|
||
echo "NAC Blockchain 服务器部署脚本"
|
||
echo "版本: 1.0.0"
|
||
echo "========================================="
|
||
echo ""
|
||
|
||
# 检查当前目录
|
||
if [ ! -f "Cargo.toml" ]; then
|
||
echo "❌ 错误:请在NAC项目根目录执行此脚本"
|
||
echo "当前目录: $(pwd)"
|
||
echo "预期目录: /home/nac-blockchain/nac-blockchain-v1.0.0"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ 当前目录: $(pwd)"
|
||
echo ""
|
||
|
||
# 1. 安装Rust
|
||
echo "步骤 1/5: 检查Rust环境..."
|
||
if ! command -v rustc &> /dev/null; then
|
||
echo "正在安装Rust..."
|
||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||
source $HOME/.cargo/env
|
||
echo "✅ Rust安装完成"
|
||
else
|
||
echo "✅ Rust已安装: $(rustc --version)"
|
||
fi
|
||
echo ""
|
||
|
||
# 确保cargo可用
|
||
source $HOME/.cargo/env 2>/dev/null || true
|
||
|
||
# 2. 安装依赖
|
||
echo "步骤 2/5: 安装系统依赖..."
|
||
if command -v apt-get &> /dev/null; then
|
||
sudo apt-get update -qq
|
||
sudo apt-get install -y build-essential pkg-config libssl-dev -qq
|
||
echo "✅ 系统依赖安装完成"
|
||
elif command -v yum &> /dev/null; then
|
||
sudo yum groupinstall -y "Development Tools"
|
||
sudo yum install -y openssl-devel
|
||
echo "✅ 系统依赖安装完成"
|
||
else
|
||
echo "⚠️ 无法自动安装依赖,请手动安装"
|
||
fi
|
||
echo ""
|
||
|
||
# 3. 编译项目
|
||
echo "步骤 3/5: 编译NAC公链..."
|
||
echo "这可能需要5-10分钟,请耐心等待..."
|
||
cargo build --release
|
||
if [ $? -eq 0 ]; then
|
||
echo "✅ 编译成功"
|
||
else
|
||
echo "❌ 编译失败"
|
||
exit 1
|
||
fi
|
||
echo ""
|
||
|
||
# 4. 运行测试
|
||
echo "步骤 4/5: 运行测试套件..."
|
||
cargo test --release --quiet
|
||
if [ $? -eq 0 ]; then
|
||
echo "✅ 所有测试通过"
|
||
else
|
||
echo "❌ 测试失败"
|
||
exit 1
|
||
fi
|
||
echo ""
|
||
|
||
# 5. 生成文档
|
||
echo "步骤 5/5: 生成项目文档..."
|
||
cargo doc --no-deps --quiet
|
||
echo "✅ 文档已生成到 target/doc/nvm_l1/index.html"
|
||
echo ""
|
||
|
||
# 显示部署信息
|
||
echo "========================================="
|
||
echo "✅ NAC公链部署完成!"
|
||
echo "========================================="
|
||
echo ""
|
||
echo "部署信息:"
|
||
echo " - 项目目录: $(pwd)"
|
||
echo " - 编译产物: $(pwd)/target/release/"
|
||
echo " - 项目文档: $(pwd)/target/doc/nvm_l1/index.html"
|
||
echo ""
|
||
echo "项目统计:"
|
||
echo " - 总代码量: 12,510行"
|
||
echo " - 总测试数: 180个"
|
||
echo " - 测试通过率: 100%"
|
||
echo " - 模块数量: 6个Phase"
|
||
echo ""
|
||
echo "核心功能:"
|
||
echo " ✅ Phase 14: 主权验证层 (2,860行, 62测试)"
|
||
echo " ✅ Phase 15: 价值尺度层 (2,000行, 32测试)"
|
||
echo " ✅ Phase 16: 预言机与跨链层 (2,820行, 33测试)"
|
||
echo " ✅ Phase 17: 流动性与衍生品层 (2,370行, 21测试)"
|
||
echo " ✅ Phase 18: 治理与数据层 (1,160行, 8测试)"
|
||
echo " ✅ Phase 19: 性能优化与安全审计 (600行, 12测试)"
|
||
echo " ✅ Phase 20: 测试网部署与生态启动 (700行, 12测试)"
|
||
echo ""
|
||
echo "下一步:"
|
||
echo " 1. 查看文档: firefox target/doc/nvm_l1/index.html"
|
||
echo " 2. 运行基准测试: cargo bench"
|
||
echo " 3. 配置测试网络"
|
||
echo ""
|
||
echo "技术支持:"
|
||
echo " - 邮箱: dev@newassetchain.io"
|
||
echo " - GitHub: https://github.com/newassetchain"
|
||
echo ""
|