本文将指导你如何使用 Docker Compose 快速启动 Tron 节点。我们将使用 tronprotocol/java-tron 镜像,并挂载本地目录以持久化存储节点数据和日志文件。

Tron 节点硬件要求

在运行 Tron 节点之前,确保你的系统符合以下最低硬件要求或推荐配置:

最低硬件要求

  • CPU: 8 核
  • 内存: 16GB
  • 存储: 2TB 空闲存储空间(用于同步 Mainnet)
  • 网络: 稳定的网络连接

推荐硬件配置

  • CPU: 16 核以上(超级代表节点建议使用 32 核或以上)
  • 内存: 32GB 或以上(超级代表节点建议 64GB 以上)
  • 存储: 高性能 SSD,至少 2.5TB 的空闲空间
  • 网络: 至少 100MB/s 下载速度的网络服务

确保你的系统符合这些要求以保证 Tron 节点的稳定性和同步效率,尤其是在运行超级代表节点时,硬件要求会更高。

前提条件

在开始之前,请确保你已经在系统上安装了以下工具:

  1. Docker:你可以通过以下命令检查是否已安装:

    docker --version
    
  2. Docker Compose:可以使用以下命令确认 Docker Compose 是否已安装:

    docker-compose --version
    

如果未安装 Docker 和 Docker Compose,请参考 Docker 官方文档 进行安装。

使用 Docker Compose 启动 Tron 节点

1. 创建工作目录

首先,为 Tron 节点创建一个新的工作目录,并进入该目录:

mkdir tron-node
cd tron-node

2. 创建 docker-compose.yml 文件

tron-node 目录下,创建一个 docker-compose.yml 文件。这个文件将定义 Tron 节点的服务配置,包括端口映射、数据持久化目录等。

version: '3'

services:
  java-tron:
    image: tronprotocol/java-tron
    container_name: java-tron
    ports:
      - "8090:8090"  # FullNode HTTP API
      - "18888:18888"  # P2P 端口
      - "50051:50051"  # gRPC API
    volumes:
      - ./output-directory:/java-tron/output-directory  # 持久化存储区块链数据
      - ./logs:/java-tron/logs  # 持久化日志文件
    command: ["-c", "/java-tron/config/main_net_config.conf"]
    restart: always

main_net_config.conf

  localwitness = [
    "your_private_key"
  ]

示例说明 your_private_key 是你超级代表地址的私钥。请确保此私钥安全,并不要泄露给任何人。私钥是你对超级代表节点身份的证明,用于签名区块和参与网络共识。

3. 目录结构说明

在启动容器之前,确保已创建本地目录以保存区块链数据和日志。假设这些目录位于当前的工作目录下:

  • ./output-directory: 用于持久化 Tron 节点的区块链数据。
  • ./logs: 用于存储节点的日志文件。

创建这些目录:

mkdir -p output-directory
mkdir -p logs

4. 启动 Tron 节点

使用 docker-compose 命令来启动 Tron 节点:

docker-compose up -d

这个命令会根据 docker-compose.yml 文件的配置,在后台启动 Tron 节点。节点将会自动同步 Tron 网络的区块链数据,并将数据和日志保存到指定的本地目录中。

5. 检查节点状态

你可以使用以下命令查看容器的日志,确保节点正常启动并同步数据:

docker logs -f java-tron

6. 访问 Tron 节点 API

Tron 节点启动后,你可以通过以下端口访问它的 API:

  • FullNode HTTP API: http://localhost:8090
  • P2P 端口: http://localhost:18888
  • gRPC API: http://localhost:50051

这些 API 可以用于与 Tron 网络进行交互,例如查询区块链数据、提交交易等。

7. 停止 Tron 节点

如果需要停止 Tron 节点,可以使用以下命令:

docker-compose down

这将停止并移除 Tron 节点容器,但不会删除本地存储的数据和日志文件。

8. 清理数据(可选)

如果你不再需要 Tron 节点并想要删除数据,可以使用以下命令:

docker-compose down -v

这将移除所有容器和挂载的卷,包括保存的区块链数据和日志文件。

结论

通过使用 Docker Compose,你可以轻松地在本地或服务器上快速启动和管理 Tron 节点。使用 tronprotocol/java-tron 镜像,你可以同步 Tron 区块链数据并通过 API 与 Tron 网络进行交互。持久化的存储目录确保节点重启后数据不会丢失,提供了稳定的运行环境。

你现在已经拥有一个可以运行的 Tron 节点,开始与 Tron 区块链交互。如果有任何问题或需要更高级的配置,请参考 Tron 官方文档.