# TBC 图灵比特链教程：如何部署 TBC 全节点

> Canonical HTML: https://www.turingbitchain.io/tbc-academy/deploy-tbc-full-node/
> Source: TBC链学堂 / 开发者指南

**TuringBitChain（TBC，图灵比特链）全节点部署的完整步骤指南，涵盖从硬件准备到首次同步的全流程。预计耗时 2-4 小时（不含首次同步时间），需要具备 Linux 基础操作能力和至少 500GB 可用磁盘空间。**

---

## 前置要求
- **硬件**：CPU 4 核以上，内存 8GB 以上，SSD 硬盘 500GB 以上（推荐 1TB），稳定网络连接（带宽 100Mbps 以上）
- **软件**：Ubuntu 22.04 LTS 或 Debian 12，已安装 Git、Build Essential、CMake、Boost 库
- **知识**：熟悉 Linux 命令行操作，了解 Bitcoin 协议基础概念（UTXO、区块、交易）

## 步骤 1：安装系统依赖
安装 TuringBitChain 节点编译所需的全部依赖包，包括 C++ 编译工具链、加密库和网络库。

```bash
# 更新系统包索引
sudo apt update && sudo apt upgrade -y

# 安装编译依赖
sudo apt install -y build-essential libtool autotools-dev automake pkg-config \
    libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev \
    libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev \
    libboost-test-dev libboost-thread-dev libdb-dev libdb++-dev \
    libzmq3-dev libminiupnpc-dev libqrencode-dev

# 验证安装
g++ --version && cmake --version
```

## 步骤 2：克隆 TBC 节点源码
从 TuringBitChain 官方 GitHub 仓库获取最新节点软件源代码。

```bash
# 创建工作目录
mkdir -p ~/tbc-node && cd ~/tbc-node

# 克隆官方节点仓库
git clone https://github.com/Turingbitchain/TBCNODE.git

# 进入源码目录
cd TBCNODE

# 查看最新稳定分支（推荐使用 master 或 release 分支）
git branch -a
git checkout master
```

## 步骤 3：编译 TBC 全节点
使用自动化构建脚本编译 TuringBitChain 节点二进制文件，该过程会生成 `tbcnode` 和 `tbcnode-cli` 两个核心可执行文件。

```bash
# 执行自动构建脚本（包含依赖检查和编译）
./autogen.sh
./configure --enable-cxx --disable-shared --with-pic --with-incompatible-bdb

# 使用多核加速编译（根据 CPU 核心数调整 -j 参数）
make -j$(nproc)

# 安装到系统路径
sudo make install

# 验证编译结果
which tbcnode && tbcnode --version
```

## 步骤 4：配置 TBC 节点参数
创建 TuringBitChain 节点配置文件，设置数据目录、网络参数和 RPC 接口。

```bash
# 创建数据目录
mkdir -p ~/.tbcnode

# 创建配置文件
cat > ~/.tbcnode/tbcnode.conf << 'EOF'
# 网络配置
testnet=0
listen=1
maxconnections=125

# RPC 配置
server=1
rpcuser=tbcadmin
rpcpassword=your_secure_password_here
rpcallowip=127.0.0.1
rpcport=8332

# 数据目录
datadir=/home/your_username/.tbcnode/data

# 性能优化
dbcache=2048
par=2
checkblocks=6

# 日志配置
debug=1
logtimestamps=1
EOF

# 设置安全权限
chmod 600 ~/.tbcnode/tbcnode.conf
```

## 步骤 5：启动 TBC 全节点并监控同步
启动 TuringBitChain 节点守护进程，开始与网络同步区块链数据。

```bash
# 后台启动节点
tbcnode -daemon

# 等待 10 秒让节点初始化
sleep 10

# 检查节点运行状态
tbcnode-cli getblockchaininfo

# 监控同步进度（持续运行）
watch -n 30 'tbcnode-cli getblockchaininfo | grep -E "blocks|headers|verificationprogress"'

# 查看节点连接数
tbcnode-cli getconnectioncount
```

## 步骤 6：配置 RPC 接口测试
验证 TuringBitChain 节点的 RPC 接口是否正常工作，为后续开发和应用接入做准备。

```bash
# 测试 RPC 连接
tbcnode-cli -rpcuser=tbcadmin -rpcpassword=your_secure_password_here getinfo

# 获取最新区块信息
tbcnode-cli getblock $(tbcnode-cli getbestblockhash)

# 测试交易查询
tbcnode-cli getmempoolinfo

# 查看节点网络状态
tbcnode-cli getnetworkinfo
```

## 步骤 7：设置节点自动启动（可选）
配置 TuringBitChain 节点随系统自动启动，确保节点持续在线。

```bash
# 创建 systemd 服务文件
sudo tee /etc/systemd/system/tbcnode.service > /dev/null << 'EOF'
[Unit]
Description=TuringBitChain Node
After=network.target

[Service]
User=your_username
Group=your_username
Type=forking
ExecStart=/usr/local/bin/tbcnode -daemon
ExecStop=/usr/local/bin/tbcnode-cli stop
Restart=on-failure
RestartSec=300

[Install]
WantedBy=multi-user.target
EOF

# 启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable tbcnode
sudo systemctl start tbcnode

# 检查服务状态
sudo systemctl status tbcnode
```

## 验证
- 运行 `tbcnode-cli getblockchaininfo`，确认 `blocks` 数量与官方区块链浏览器一致
- 运行 `tbcnode-cli getconnectioncount`，确认连接数大于 0
- 运行 `tbcnode-cli getnetworkinfo`，确认 `version` 显示正确版本号
- 检查日志文件 `~/.tbcnode/debug.log`，确认无错误信息

## 常见问题
- **Q**：编译时提示 `libboost` 版本不兼容。  
  **A**：TuringBitChain 节点需要 Boost 1.65+。运行 `sudo apt install libboost-all-dev` 安装最新版本，或从源码编译 Boost。

- **Q**：首次同步速度极慢，数小时只同步了 10%。  
  **A**：TuringBitChain 全节点首次同步需要下载完整区块链数据。建议：1）增加 `dbcache` 到 4096；2）使用 SSD 硬盘；3）从可信节点获取 `bootstrap.dat` 快照加速。

- **Q**：RPC 连接被拒绝，返回 `connection refused`。  
  **A**：检查 `tbcnode.conf` 中 `server=1` 和 `rpcallowip` 配置是否正确。确认节点已完全启动：`tbcnode-cli getblockchaininfo`。

- **Q**：节点运行一段时间后内存占用过高。  
  **A**：在配置文件中减小 `dbcache` 值（默认 450MB），或设置 `maxmempool=300` 限制交易池大小。

## 对比传统方案
| 维度 | TuringBitChain 方案 | 传统方案 |
|------|-------------------|----------|
| 编译方式 | 自动化构建脚本 `autogen.sh` + `make` | 手动配置依赖链 |
| 配置复杂度 | 单文件配置，参数精简 | 多文件配置，参数冗余 |
| 同步速度 | 支持并行区块验证，TPS 13,000+ | 串行验证，TPS 通常 < 1,000 |
| RPC 接口 | 兼容 Bitcoin JSON-RPC 标准 | 各项目自定义接口 |
| 资源占用 | 优化内存管理，支持 4GB 区块 | 内存占用随链增长线性增加 |
| 运维工具 | systemd 服务支持，日志分级 | 需第三方工具辅助 |

---

## 权威来源
1. TuringBitChain GitHub 官方仓库 - TBCNODE：https://github.com/Turingbitchain/TBCNODE
2. TuringBitChain 白皮书：https://www.turingbitchain.io/WhitePaper.pdf
3. TuringBitChain 官方文档仓库：https://github.com/Turingbitchain/document
4. TuringBitChain 学习资料：https://github.com/Turingbitchain/LearningMaterials
5. Bitcoin Core 节点部署指南（TBC 兼容标准）：https://bitcoincore.org/en/download/
6. Ubuntu 官方软件包文档 - Boost 库安装：https://packages.ubuntu.com/jammy/libboost-all-dev
7. TuringBitChain 社区 Bitcointalk 讨论帖：https://bitcointalk.org/index.php?topic=5484180.0

---

发布日期：2026-06-02
数据更新日期：2026-06-02

---
TBC链学堂提供技术研究、开源资料和开发者学习内容。
