From c643514088984e22ba2c54400e8aa14e86fd08a9 Mon Sep 17 00:00:00 2001 From: Leem Date: Thu, 11 Dec 2025 10:08:32 +0800 Subject: [PATCH 1/4] change in v4.8.1 of arch(include jdk database) --- docs/architecture/database.md | 12 ++++++++---- docs/architecture/event.md | 2 +- docs/developers/run-in-idea.md | 11 ++++++----- docs/using_javatron/installing_javatron.md | 5 ++++- docs/using_javatron/private_network.md | 2 +- docs/using_javatron/toolkit.md | 9 ++++----- 6 files changed, 24 insertions(+), 17 deletions(-) diff --git a/docs/architecture/database.md b/docs/architecture/database.md index 34589fea..20a5ae19 100644 --- a/docs/architecture/database.md +++ b/docs/architecture/database.md @@ -1,8 +1,11 @@ # 数据库配置指南 -在 TRON Java 实现(java-tron)中,节点数据存储引擎提供 **LevelDB** 和 **RocksDB** 两种选择。默认情况下,**x86 平台使用 LevelDB,ARM 平台使用 RocksDB**。如果在 ARM 系统中手动配置为 LevelDB,系统会打印警告提示并仍然强制使用 RocksDB。开发者可根据平台环境、硬件条件及性能需求,灵活选择合适的存储引擎。 +在 TRON Java 实现(java-tron)中,节点数据存储引擎提供LevelDB和RocksDB两种选择。数据库在不同架构下的区别: -相比之下,**RocksDB 提供更丰富的配置参数,且通常具有更高的存储效率**。本文将介绍如何启用 RocksDB,以及如何将 x86 平台的 LevelDB 转换为 RocksDB。 +- x86架构下,数据库支持LevelDB和RocksDB,且RocksDB的版本是v5.15.10 +- ARM架构下,数据库仅支持RocksDB,且RocksDB的版本是v9.7.4 + +开发者可根据平台环境、硬件条件及性能需求,灵活选择合适的存储引擎。相比之下,RocksDB 提供更丰富的配置参数,且通常具有更高的存储效率。本文将介绍如何启用 RocksDB,以及如何将 x86 平台的 LevelDB 转换为 RocksDB。 ## 使用 RocksDB @@ -40,7 +43,7 @@ dbSettings = { ## x86 平台从 LevelDB 迁移至 RocksDB -LevelDB 与 RocksDB 的数据格式不兼容,节点间不支持直接切换存储引擎。若需从 LevelDB 迁移到 RocksDB,需使用官方提供的转换工具 `Toolkit.jar`。 +若需从 LevelDB 迁移到 RocksDB,需使用官方提供的转换工具 `Toolkit.jar`。 ### 1. 数据转换步骤 ``` @@ -79,11 +82,12 @@ java -jar build/libs/Toolkit.jar db cp output-directory/database /tmp/output-dir cd /tmp java -jar build/libs/Toolkit.jar db convert output-directory/database output-directory-dst/database ``` + >备注: 整个数据转换过程预计耗时约 **10 小时**,具体时间依赖于数据量和磁盘性能。 ## 关于 LevelDB -LevelDB 是 x86 平台 java-tron 默认的数据存储引擎,适用于资源有限或轻量级的部署场景。它结构简单、易于维护,但在数据压缩、备份能力和大规模节点性能上不如 RocksDB。 +LevelDB 是 x86 平台 java-tron 节点默认的数据存储引擎,适用于资源有限或轻量级的部署场景。它结构简单、易于维护,但在数据压缩、备份能力和大规模节点性能上不如 RocksDB。 若需深入了解两者的详细对比,请参考文档: 📘 [RocksDB 与 LevelDB 差异对比](https://github.com/tronprotocol/documentation/blob/master/TRX_CN/Rocksdb_vs_Leveldb.md) diff --git a/docs/architecture/event.md b/docs/architecture/event.md index 656bb7ec..e9c21f4e 100644 --- a/docs/architecture/event.md +++ b/docs/architecture/event.md @@ -619,7 +619,7 @@ db.createUser({user:"tron",pwd:"123456",roles:[{role:"dbOwner",db:"eventlog"}]}) 事件查询服务提供 HTTP 接口,用于查询 MongoDB 中存储的事件数据。该服务依赖 Java 环境。 -**注意**:请确保 JDK 使用的是 **Oracle JDK 8**,而不是 Open JDK 8。 +**注意**:x86架构下请使用Oracle JDK 8,ARM架构下请使用JDK 17 ##### 步骤 1:下载源码 diff --git a/docs/developers/run-in-idea.md b/docs/developers/run-in-idea.md index c340d994..12aa0aff 100644 --- a/docs/developers/run-in-idea.md +++ b/docs/developers/run-in-idea.md @@ -4,16 +4,17 @@ java-tron 节点支持部署在 `Linux` 或 `MacOS` 操作系统上。其依赖的 JDK 版本要求如下: -- **通用要求**:依赖 Oracle JDK 1.8 版本 -- **`v4.8.1` 及以上版本**:新增支持 ARM 架构下的 JDK 17 +- x86架构下:依赖 Oracle JDK 8 +- ARM架构下:依赖JDK 17 +下面的配置以x86架构、Oracle JDK 8为示例: ## 前置条件 在开始配置之前,请确保您的开发环境满足以下条件: - 操作系统为 `Linux` 或 `MacOS` - - 已安装 Oracle JDK 1.8 + - 已安装 Oracle JDK 8 - 已安装 `git` - 已安装 [IntelliJ IDEA](https://www.jetbrains.com/idea/download/) @@ -39,7 +40,7 @@ Lombok 通过注解的方式简化 Java 代码,是 java-tron 开发的必备 ![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/IDE_annotation.png) ### 步骤 3:验证并统一 JDK 版本 -为确保项目能够正确编译和运行,必须在 IntelliJ IDEA 的两个关键位置都将 JDK 版本设置为 Oracle JDK 1.8。 +为确保项目能够正确编译和运行,必须在 IntelliJ IDEA 的两个关键位置都将 JDK 版本设置为 Oracle JDK 8。 #### 1. 配置项目 SDK (Project SDK) 这是用于编译项目源代码和进行语法分析的核心 JDK。 @@ -55,7 +56,7 @@ Lombok 通过注解的方式简化 Java 代码,是 java-tron 开发的必备 ![image](https://raw.githubusercontent.com/tronprotocol/documentation-zh/master/images/IDE_JDK.png) -> **重要提示**: **Project SDK** 和 **Gradle JVM** 这两个设置必须完全一致,且都指向 Oracle JDK 1.8,否则可能会在构建过程中遇到意外错误。 +> **重要提示**: **Project SDK** 和 **Gradle JVM** 这两个设置必须完全一致,且都指向 Oracle JDK 8,否则可能会在构建过程中遇到意外错误。 diff --git a/docs/using_javatron/installing_javatron.md b/docs/using_javatron/installing_javatron.md index 06840240..6b6262cd 100644 --- a/docs/using_javatron/installing_javatron.md +++ b/docs/using_javatron/installing_javatron.md @@ -2,7 +2,10 @@ 本文档将指导开发者如何在 `Linux` 或 `macOS` 操作系统上部署 TRON java-tron 节点。 -**重要提示:**java-tron 节点目前仅支持 `Oracle JDK 1.8`,不支持其他版本的 JDK。 +java-tron 节点目前支持在x86和ARM架构下运行(ARM架构的支持从4.8.1版本开始)。不同架构下,JDK的支持情况: + +- x86架构下,目前仅支持Oracle JDK 8 +- ARM架构下,目前仅支持JDK 17。 ## 硬件配置要求 diff --git a/docs/using_javatron/private_network.md b/docs/using_javatron/private_network.md index 94d9daa5..56a0583e 100644 --- a/docs/using_javatron/private_network.md +++ b/docs/using_javatron/private_network.md @@ -5,7 +5,7 @@ ## 前置要求 在开始之前,请确保您的开发环境满足以下条件: -- **Java Development Kit (JDK)**:您的环境必须安装 Oracle JDK 1.8。 +- **Java Development Kit (JDK)**:x86架构下,须安装 Oracle JDK 8;ARM架构下,须安装JDK 17。 - **TRON 账户**:您需要预先创建至少两个 TRON 网络地址,并安全地保存好地址和其对应的私钥。其中一个地址将作为初始见证节点(超级代表),另一个用于普通账户。 - **地址创建工具**:您可以使用以下任一工具来生成和管理您的 TRON 账户: - [Wallet-cli](https://github.com/tronprotocol/wallet-cli):一个官方提供的命令行钱包工具,适合在服务器环境中使用。 diff --git a/docs/using_javatron/toolkit.md b/docs/using_javatron/toolkit.md index 4c987ed1..778d07c8 100644 --- a/docs/using_javatron/toolkit.md +++ b/docs/using_javatron/toolkit.md @@ -10,6 +10,8 @@ TRON Toolkit 是一个集成了多种 `java-tron` 周边工具的实用程序, 本文将详细介绍如何获取和使用 TRON Toolkit。 +**注意**: 由于在ARM架构下只支持RocksDB,所以像`db convert`和`db archive`这样处理leveldb的工具只能在x86下使用。 + ## Toolkit的获取 您可以通过编译 `java-tron` 源代码或直接从已发布的版本中获取 `Toolkit.jar` 文件。推荐从 [GitHub Releases](https://github.com/tronprotocol/java-tron/releases) 下载最新版本。 @@ -260,7 +262,7 @@ TRON Toolkit 支持数据库数据转换功能,可以将 LevelDB 格式的数 ``` # full command - java -jar Toolkit.jar db convert [-h] [--safe] + java -jar Toolkit.jar db convert [-h] # examples java -jar Toolkit.jar db convert output-directory/database /tmp/database ``` @@ -269,12 +271,9 @@ TRON Toolkit 支持数据库数据转换功能,可以将 LevelDB 格式的数 * ``:指定 LevelDB 数据目录。默认值为 `output-directory/database`。 * ``:指定输出的 RocksDB 数据目录。默认值为 `output-directory-dst/database`。 -* `--safe `:是否以安全模式转换数据。默认值为 `false`,但为了更好的数据兼容性,建议设置成`true`。 - * 如果启用安全模式,工具将从 LevelDB 读取数据并写入 RocksDB,此过程耗时较长。 - * 如果禁用安全模式(默认),由于当前版本中 RocksDB 与 LevelDB 兼容,工具仅会将 `engine.properties` 配置项从 `leveldb` 更改为 `rocksdb`,操作速度更快。 * `-h | --help `:显示帮助信息。默认值为 `false`。 -> **重要提示**:在使用本工具进行任何操作之前,**必须**停止当前运行的节点。 +> **重要提示**:在使用本工具进行任何操作之前,必须停止当前运行的节点。 ## LevelDB 启动优化工具 From 274ae0db0ad9774bebf8e4a984ffd42e20b03f32 Mon Sep 17 00:00:00 2001 From: Leem Date: Thu, 11 Dec 2025 16:54:46 +0800 Subject: [PATCH 2/4] normalize LevelDB --- docs/using_javatron/toolkit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/using_javatron/toolkit.md b/docs/using_javatron/toolkit.md index 778d07c8..481b24b2 100644 --- a/docs/using_javatron/toolkit.md +++ b/docs/using_javatron/toolkit.md @@ -10,7 +10,7 @@ TRON Toolkit 是一个集成了多种 `java-tron` 周边工具的实用程序, 本文将详细介绍如何获取和使用 TRON Toolkit。 -**注意**: 由于在ARM架构下只支持RocksDB,所以像`db convert`和`db archive`这样处理leveldb的工具只能在x86下使用。 +**注意**: 由于在ARM架构下只支持RocksDB,所以像`db convert`和`db archive`这样处理LevelDB的工具只能在x86下使用。 ## Toolkit的获取 您可以通过编译 `java-tron` 源代码或直接从已发布的版本中获取 `Toolkit.jar` 文件。推荐从 [GitHub Releases](https://github.com/tronprotocol/java-tron/releases) 下载最新版本。 From fabb3aa235aaa385086289965558f8dd6a181011 Mon Sep 17 00:00:00 2001 From: Leem Date: Thu, 11 Dec 2025 17:10:23 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=B8=80=E8=88=AC=E8=AF=B4=E6=9F=90?= =?UTF-8?q?=E6=9F=90=E6=9E=B6=E6=9E=84=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/architecture/database.md | 4 ++-- docs/architecture/event.md | 2 +- docs/developers/run-in-idea.md | 4 ++-- docs/using_javatron/installing_javatron.md | 4 ++-- docs/using_javatron/private_network.md | 2 +- docs/using_javatron/toolkit.md | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/architecture/database.md b/docs/architecture/database.md index 20a5ae19..a7f5cf7c 100644 --- a/docs/architecture/database.md +++ b/docs/architecture/database.md @@ -2,8 +2,8 @@ 在 TRON Java 实现(java-tron)中,节点数据存储引擎提供LevelDB和RocksDB两种选择。数据库在不同架构下的区别: -- x86架构下,数据库支持LevelDB和RocksDB,且RocksDB的版本是v5.15.10 -- ARM架构下,数据库仅支持RocksDB,且RocksDB的版本是v9.7.4 +- x86架构上,数据库支持LevelDB和RocksDB,且RocksDB的版本是v5.15.10 +- ARM架构上,数据库仅支持RocksDB,且RocksDB的版本是v9.7.4 开发者可根据平台环境、硬件条件及性能需求,灵活选择合适的存储引擎。相比之下,RocksDB 提供更丰富的配置参数,且通常具有更高的存储效率。本文将介绍如何启用 RocksDB,以及如何将 x86 平台的 LevelDB 转换为 RocksDB。 diff --git a/docs/architecture/event.md b/docs/architecture/event.md index e9c21f4e..3bbc8f4d 100644 --- a/docs/architecture/event.md +++ b/docs/architecture/event.md @@ -619,7 +619,7 @@ db.createUser({user:"tron",pwd:"123456",roles:[{role:"dbOwner",db:"eventlog"}]}) 事件查询服务提供 HTTP 接口,用于查询 MongoDB 中存储的事件数据。该服务依赖 Java 环境。 -**注意**:x86架构下请使用Oracle JDK 8,ARM架构下请使用JDK 17 +**注意**:x86架构上请使用Oracle JDK 8,ARM架构上请使用JDK 17 ##### 步骤 1:下载源码 diff --git a/docs/developers/run-in-idea.md b/docs/developers/run-in-idea.md index 12aa0aff..223e50a2 100644 --- a/docs/developers/run-in-idea.md +++ b/docs/developers/run-in-idea.md @@ -4,8 +4,8 @@ java-tron 节点支持部署在 `Linux` 或 `MacOS` 操作系统上。其依赖的 JDK 版本要求如下: -- x86架构下:依赖 Oracle JDK 8 -- ARM架构下:依赖JDK 17 +- x86架构上:依赖 Oracle JDK 8 +- ARM架构上:依赖JDK 17 下面的配置以x86架构、Oracle JDK 8为示例: diff --git a/docs/using_javatron/installing_javatron.md b/docs/using_javatron/installing_javatron.md index 6b6262cd..658027af 100644 --- a/docs/using_javatron/installing_javatron.md +++ b/docs/using_javatron/installing_javatron.md @@ -4,8 +4,8 @@ java-tron 节点目前支持在x86和ARM架构下运行(ARM架构的支持从4.8.1版本开始)。不同架构下,JDK的支持情况: -- x86架构下,目前仅支持Oracle JDK 8 -- ARM架构下,目前仅支持JDK 17。 +- x86架构上,目前仅支持Oracle JDK 8 +- ARM架构上,目前仅支持JDK 17。 ## 硬件配置要求 diff --git a/docs/using_javatron/private_network.md b/docs/using_javatron/private_network.md index 56a0583e..ff76b0bb 100644 --- a/docs/using_javatron/private_network.md +++ b/docs/using_javatron/private_network.md @@ -5,7 +5,7 @@ ## 前置要求 在开始之前,请确保您的开发环境满足以下条件: -- **Java Development Kit (JDK)**:x86架构下,须安装 Oracle JDK 8;ARM架构下,须安装JDK 17。 +- **Java Development Kit (JDK)**:x86架构上,须安装 Oracle JDK 8;ARM架构上,须安装JDK 17。 - **TRON 账户**:您需要预先创建至少两个 TRON 网络地址,并安全地保存好地址和其对应的私钥。其中一个地址将作为初始见证节点(超级代表),另一个用于普通账户。 - **地址创建工具**:您可以使用以下任一工具来生成和管理您的 TRON 账户: - [Wallet-cli](https://github.com/tronprotocol/wallet-cli):一个官方提供的命令行钱包工具,适合在服务器环境中使用。 diff --git a/docs/using_javatron/toolkit.md b/docs/using_javatron/toolkit.md index 481b24b2..fc644b1c 100644 --- a/docs/using_javatron/toolkit.md +++ b/docs/using_javatron/toolkit.md @@ -10,7 +10,7 @@ TRON Toolkit 是一个集成了多种 `java-tron` 周边工具的实用程序, 本文将详细介绍如何获取和使用 TRON Toolkit。 -**注意**: 由于在ARM架构下只支持RocksDB,所以像`db convert`和`db archive`这样处理LevelDB的工具只能在x86下使用。 +**注意**: 由于在ARM架构上只支持RocksDB,所以像`db convert`和`db archive`这样处理LevelDB的工具只能在x86下使用。 ## Toolkit的获取 您可以通过编译 `java-tron` 源代码或直接从已发布的版本中获取 `Toolkit.jar` 文件。推荐从 [GitHub Releases](https://github.com/tronprotocol/java-tron/releases) 下载最新版本。 From b1ebb83f523376acb8a6553d860a196794ea9159 Mon Sep 17 00:00:00 2001 From: Leem Date: Thu, 11 Dec 2025 17:27:32 +0800 Subject: [PATCH 4/4] same with last commit message --- docs/architecture/database.md | 6 +++--- docs/using_javatron/installing_javatron.md | 2 +- docs/using_javatron/toolkit.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/architecture/database.md b/docs/architecture/database.md index a7f5cf7c..128e9200 100644 --- a/docs/architecture/database.md +++ b/docs/architecture/database.md @@ -1,9 +1,9 @@ # 数据库配置指南 -在 TRON Java 实现(java-tron)中,节点数据存储引擎提供LevelDB和RocksDB两种选择。数据库在不同架构下的区别: +在 TRON Java 实现(java-tron)中,节点数据存储引擎提供LevelDB和RocksDB两种选择。数据库在不同架构上的区别: -- x86架构上,数据库支持LevelDB和RocksDB,且RocksDB的版本是v5.15.10 -- ARM架构上,数据库仅支持RocksDB,且RocksDB的版本是v9.7.4 +- x86架构上,数据库支持LevelDB和RocksDB,当前RocksDB的版本是v5.15.10 +- ARM架构上,数据库仅支持RocksDB,当前RocksDB的版本是v9.7.4 开发者可根据平台环境、硬件条件及性能需求,灵活选择合适的存储引擎。相比之下,RocksDB 提供更丰富的配置参数,且通常具有更高的存储效率。本文将介绍如何启用 RocksDB,以及如何将 x86 平台的 LevelDB 转换为 RocksDB。 diff --git a/docs/using_javatron/installing_javatron.md b/docs/using_javatron/installing_javatron.md index 658027af..3f0357ea 100644 --- a/docs/using_javatron/installing_javatron.md +++ b/docs/using_javatron/installing_javatron.md @@ -2,7 +2,7 @@ 本文档将指导开发者如何在 `Linux` 或 `macOS` 操作系统上部署 TRON java-tron 节点。 -java-tron 节点目前支持在x86和ARM架构下运行(ARM架构的支持从4.8.1版本开始)。不同架构下,JDK的支持情况: +java-tron 节点目前支持在x86和ARM架构上运行(ARM架构的支持从4.8.1版本开始)。不同架构上,JDK的支持情况: - x86架构上,目前仅支持Oracle JDK 8 - ARM架构上,目前仅支持JDK 17。 diff --git a/docs/using_javatron/toolkit.md b/docs/using_javatron/toolkit.md index fc644b1c..7585414b 100644 --- a/docs/using_javatron/toolkit.md +++ b/docs/using_javatron/toolkit.md @@ -10,7 +10,7 @@ TRON Toolkit 是一个集成了多种 `java-tron` 周边工具的实用程序, 本文将详细介绍如何获取和使用 TRON Toolkit。 -**注意**: 由于在ARM架构上只支持RocksDB,所以像`db convert`和`db archive`这样处理LevelDB的工具只能在x86下使用。 +**注意**: 由于在ARM架构上只支持RocksDB,所以像`db convert`和`db archive`这样处理LevelDB的工具只能在x86架构上使用。 ## Toolkit的获取 您可以通过编译 `java-tron` 源代码或直接从已发布的版本中获取 `Toolkit.jar` 文件。推荐从 [GitHub Releases](https://github.com/tronprotocol/java-tron/releases) 下载最新版本。