Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Normalize the spelling of TRON and java-tron #178

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/architecture/database.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 数据库配置
Java-tron数据存储支持使用 LevelDB 或者 RocksDB,默认使用LevelDB。您也可以选择RocksDB,它提供了丰富的配置参数,允许节点根据自身机器配置情况进行调优,节点数据库占用的磁盘空间相比于LevelDB更少,同时RocksDB支持在运行时进行数据备份,备份时间仅需要几秒钟。
java-tron数据存储支持使用 LevelDB 或者 RocksDB,默认使用LevelDB。您也可以选择RocksDB,它提供了丰富的配置参数,允许节点根据自身机器配置情况进行调优,节点数据库占用的磁盘空间相比于LevelDB更少,同时RocksDB支持在运行时进行数据备份,备份时间仅需要几秒钟。

下面介绍如何将Java-tron节点的存储引擎设置成RocksDB,以及如何进行leveldb和rocksdb的数据转换。
下面介绍如何将java-tron节点的存储引擎设置成RocksDB,以及如何进行leveldb和rocksdb的数据转换。
# rocksdb

### 1. config配置说明
Expand Down
8 changes: 4 additions & 4 deletions docs/architecture/event.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,10 @@ contractTopics: 合约主题
- [事件订阅数据查询服务http api](https://github.com/tronprotocol/documentation-en/blob/master/docs_without_index/plugin/event-query-http.md)


## 使用Java-tron内置的消息队列进行事件订阅
TRON提供了事件订阅服务,开发者不但可以通过事件插件来获取链上事件,还可以通过[Java-tron 内置的ZeroMQ消息队列](https://github.com/tronprotocol/tips/blob/master/tip-28.md)来订阅事件。所不同的是,事件插件需要额外部署,用来实现事件转储:开发者可以根据需求选择合适的存储工具,如MongoDB,Kafka等,插件帮助完成对订阅的事件的存储工作。而Java-tron内置的ZeroMQ,不需要额外的部署操作,事件订阅者直接连接发布者ip及端口、设置订阅主题,接收订阅的事件即可,但该方式不提供事件存储功能。因此,当开发者希望短期并直接从节点订阅事件,那么使用内置的消息队列将是一个更合适的选择。
## 使用java-tron内置的消息队列进行事件订阅
TRON提供了事件订阅服务,开发者不但可以通过事件插件来获取链上事件,还可以通过[java-tron 内置的ZeroMQ消息队列](https://github.com/tronprotocol/tips/blob/master/tip-28.md)来订阅事件。所不同的是,事件插件需要额外部署,用来实现事件转储:开发者可以根据需求选择合适的存储工具,如MongoDB,Kafka等,插件帮助完成对订阅的事件的存储工作。而java-tron内置的ZeroMQ,不需要额外的部署操作,事件订阅者直接连接发布者ip及端口、设置订阅主题,接收订阅的事件即可,但该方式不提供事件存储功能。因此,当开发者希望短期并直接从节点订阅事件,那么使用内置的消息队列将是一个更合适的选择。

本文将详细介绍如何通过Java-tron内置的消息队列来订阅事件。
本文将详细介绍如何通过java-tron内置的消息队列来订阅事件。


### 配置节点
Expand Down Expand Up @@ -185,4 +185,4 @@ $ node subscriber.js
```
received a message related to: blockTrigger, containing message: {"timeStamp":1678343709000,"triggerName":"blockTrigger","blockNumber":1361,"blockHash":"00000000000005519b3995cd638753a862c812d1bda11de14bbfaa5ad3383280","transactionSize":0,"latestSolidifiedBlockNumber":1361,"transactionList":[]}
received a message related to: blockTrigger, containing message: {"timeStamp":1678343712000,"triggerName":"blockTrigger","blockNumber":1362,"blockHash":"0000000000000552d53d1bdd9929e4533a983f14df8931ee9b3bf6d6c74a47b0","transactionSize":0,"latestSolidifiedBlockNumber":1362,"transactionList":[]}
```
```
8 changes: 4 additions & 4 deletions docs/clients/wallet-cli-command.md
Original file line number Diff line number Diff line change
Expand Up @@ -1956,18 +1956,18 @@ wallet> getproposal 34
```

### Votewitness
使用该命令为超级代表投票。投票需要相应的投票权, 即`Tron Power`,可以通过质押资产来获得。第一个参数为超级代表的地址,第二个参数为该超级代表投票的数量。
使用该命令为超级代表投票。投票需要相应的投票权, 即`TRON Power`,可以通过质押资产来获得。第一个参数为超级代表的地址,第二个参数为该超级代表投票的数量。
```
wallet> votewitness [SR address] [Tron Power Amount]
wallet> votewitness [SR address] [TRON Power Amount]

* Tron Power计算规则: 每冻结 1 TRX获得一个单位的Tron Power。
* TRON Power计算规则: 每冻结 1 TRX获得一个单位的TRON Power。
* 资产解冻后, 所有之前的投票即作废。可以重复冻结资产避免这种情况。

**注意** TRON 只会记录你的最后一次投票,新的投票会覆盖之前的投票。

示例:
```shell
wallet> freezeBalance 100000000 3 1 address # 冻结 10TRX,获得10个单位的Tron Power。
wallet> freezeBalance 100000000 3 1 address # 冻结 10TRX,获得10个单位的TRON Power。

wallet> votewitness [SR1] 4 [SR2] 6 # 为SR1投4票,同时再为SR2投6票

Expand Down
4 changes: 2 additions & 2 deletions docs/clients/wallet-cli.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

# 什么是Wallet-Cli?
Wallet-Cli是一个支持TRON网络的交互式命令行钱包,用于在安全的本地环境中签名和广播交易,也可以获取链上数据。Wallet-Cli支持密钥管理,您可以将私钥导入钱包中,Wallet-Cli会使用对称加密算法加密您的私钥,并存储到一个keystore文件中。Wallet-Cli本地不存储链上数据,它采用gRPC的方式与某一个Java-tron节点进行通信,您需要在配置文件中配置需要链接的Java-tron节点,下图是使用Wallet-Cli签名和广播TRX转账交易的流程:
Wallet-Cli是一个支持TRON网络的交互式命令行钱包,用于在安全的本地环境中签名和广播交易,也可以获取链上数据。Wallet-Cli支持密钥管理,您可以将私钥导入钱包中,Wallet-Cli会使用对称加密算法加密您的私钥,并存储到一个keystore文件中。Wallet-Cli本地不存储链上数据,它采用gRPC的方式与某一个java-tron节点进行通信,您需要在配置文件中配置需要链接的java-tron节点,下图是使用Wallet-Cli签名和广播TRX转账交易的流程:
![](https://i.imgur.com/NRKmZmE.png)

用户首先运行`Login`命令解锁钱包,然后运行`SendCoin`命令发送TRX,Wallet-Cli会本地构建和签名交易,然后将调用Java-tron节点的BroadcastTransaction gRPC API将交易广播的网络中,广播成功后Java-tron节点会返回交易hash给Wallet-Cli,Wallet-Cli将交易hash展示给用户。
用户首先运行`Login`命令解锁钱包,然后运行`SendCoin`命令发送TRX,Wallet-Cli会本地构建和签名交易,然后将调用java-tron节点的BroadcastTransaction gRPC API将交易广播的网络中,广播成功后java-tron节点会返回交易hash给Wallet-Cli,Wallet-Cli将交易hash展示给用户。

安装和运行: [Wallet-Cli](https://github.com/tronprotocol/wallet-cli)

Expand Down
6 changes: 3 additions & 3 deletions docs/contracts/contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
## 波场智能合约介绍

智能合约是一种能自动执行其条款的计算化交易协议。智能合约和普通合约一样,定义了参与者相关的条款和奖惩机制。一旦合约被启动,便能按照设定的条款执行,并自动检查所承诺的条款实施情形。
Tron兼容以太坊(Ethereum)上采用Solidity编写的智能合约。你可以在[Tron solidity 代码库](https://github.com/tronprotocol/solidity/releases)中了解最新的版本。合约编写、编译完成后,部署到Tron公链上。部署后的合约,被触发时,就会在公链的各个节点上自动执行。
TRON兼容以太坊(Ethereum)上采用Solidity编写的智能合约。你可以在[TRON solidity 代码库](https://github.com/tronprotocol/solidity/releases)中了解最新的版本。合约编写、编译完成后,部署到TRON公链上。部署后的合约,被触发时,就会在公链的各个节点上自动执行。

## 波场智能合约特性

Tron virtual machine 基于以太坊 solidity 语言实现,兼容以太坊虚拟机的特性,但基于tron自身属性也有部分的区别。
TRON virtual machine 基于以太坊 solidity 语言实现,兼容以太坊虚拟机的特性,但基于tron自身属性也有部分的区别。

### 1. 智能合约

Expand Down Expand Up @@ -121,7 +121,7 @@ transfer/send/call/callcode/delegatecall函数调用转账

```solidity
/**
* @dev convert uint256 (HexString add 0x at beginning) tron address to solidity address type
* @dev convert uint256 (HexString add 0x at beginning) TRON address to solidity address type
* @param tronAddress uint256 tronAddress, begin with 0x, followed by HexString
* @return Solidity address type
*/
Expand Down
24 changes: 12 additions & 12 deletions docs/contracts/tvm.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Tron虚拟机TVM
# TRON虚拟机TVM

波场虚拟机(Tron Virtual Machine, 简称TVM),是Tron团队为了满足自身生态发展的需求,开发出的轻量级架构、图灵完备的虚拟机, 旨在为全球百万级的开发者提供一个高效、简单、稳定、安全、且容易优化的区块链专用系统。
波场虚拟机(TRON Virtual Machine, 简称TVM),是TRON团队为了满足自身生态发展的需求,开发出的轻量级架构、图灵完备的虚拟机, 旨在为全球百万级的开发者提供一个高效、简单、稳定、安全、且容易优化的区块链专用系统。

TVM能无缝对接现有的开发者生态,并且能满足DPOS共识机制的要求。TVM前期兼容以太坊虚拟机环境。开发者无需学习新的编程语言,就能用 Solidity 等编程语言在熟悉的 Remix 环境中进行智能合约的开发、调试、编译。Tron智能合约编写完毕后,上传到Tron主网当中,在超级代表节点的TVM虚拟机执行,同时保持了对虚拟机外系统环境的隔离性。
TVM能无缝对接现有的开发者生态,并且能满足DPOS共识机制的要求。TVM前期兼容以太坊虚拟机环境。开发者无需学习新的编程语言,就能用 Solidity 等编程语言在熟悉的 Remix 环境中进行智能合约的开发、调试、编译。TRON智能合约编写完毕后,上传到TRON主网当中,在超级代表节点的TVM虚拟机执行,同时保持了对虚拟机外系统环境的隔离性。

此外,TVM 引进了带宽的概念。不同于以太坊EVM的gas消耗模式,Tron系统中的转账和智能合约的操作是免费的,不需要消耗任何代币,所以原则上在TVM中可执行的计算总量不受代币总量限制。
此外,TVM 引进了带宽的概念。不同于以太坊EVM的gas消耗模式,TRON系统中的转账和智能合约的操作是免费的,不需要消耗任何代币,所以原则上在TVM中可执行的计算总量不受代币总量限制。

## TVM设计原则

Expand All @@ -24,7 +24,7 @@ TVM能无缝对接现有的开发者生态,并且能满足DPOS共识机制的

TVM的带宽消耗模式减少了合约的开发成本。让开发者可以把更多精力放在合约代码的逻辑本身。同时,TVM提供了对开发者友好的一站式的部署、触发、查看智能合约的接口。

Tron Wallet-CLI中添加了以下对接接口,
TRON Wallet-CLI中添加了以下对接接口,

+ deploycontract(password, contractAddress, ABI, code, data, value)
+ triggercontract(password, contractAddress, selector, data, value)
Expand All @@ -34,29 +34,29 @@ Tron Wallet-CLI中添加了以下对接接口,

## TVM的运行过程

![Tron Virtual Machine的工作流程](https://raw.githubusercontent.com/tronprotocol/Documentation/master/images/Virtual_Machine/虚拟机.png)
![TRON Virtual Machine的工作流程](https://raw.githubusercontent.com/tronprotocol/Documentation/master/images/Virtual_Machine/虚拟机.png)

这张图整体描述了Tron Virtual Machine的工作流程:
Tron智能合约的编译 ---> 虚拟机的执行、计算引擎  ---->虚拟机对外的互操作层
这张图整体描述了TRON Virtual Machine的工作流程:
TRON智能合约的编译 ---> 虚拟机的执行、计算引擎  ---->虚拟机对外的互操作层

简单来说,上面的流程依次是:

1. 目前Tron虚拟机主要兼容Solidity。编译器将Solidity智能合约翻译成TVM可以识别并执行的字节码。
1. 目前TRON虚拟机主要兼容Solidity。编译器将Solidity智能合约翻译成TVM可以识别并执行的字节码。
2. 在虚拟机中,通过一条条的操作指令码实现对虚拟机栈中数据的操作处理,这个过程相当于实现对一个基于堆栈的有限状态机的逻辑处理。
3. 虚拟机通过互操作模块实现对区块链数据的访问,以及对外部数据的接口层的调用。

## TVM的发展方向

1. 构建更加友好的调试工具

Tron团队将努力构建完善的调试工具,建立用于调试的标准符号格式或是数据格式。提升开发者在TVM的开发、调试效率。
TRON团队将努力构建完善的调试工具,建立用于调试的标准符号格式或是数据格式。提升开发者在TVM的开发、调试效率。

2. 满足更加多样化的任务处理需求

和以太坊上每个操作消耗gas不同,~~Tron虚拟机对业务的处理并不收费~~,每个操作只是先占据带宽,并且在交易后的一段时间后释放。开发者们只用相当小的成本 便可设计更加复杂逻辑的智能合约。我们深信,除了数字货币交易的应用场景外,未来的智能合约也能在游戏开发,金融市场风险建模,科学计算等领域发挥重要作用。Tron虚拟机的设计具有先天的满足多样化任务场景的能力,并且在对处理速度,响应时间,对浮点数的支持上作进一步的优化。
和以太坊上每个操作消耗gas不同,~~TRON虚拟机对业务的处理并不收费~~,每个操作只是先占据带宽,并且在交易后的一段时间后释放。开发者们只用相当小的成本 便可设计更加复杂逻辑的智能合约。我们深信,除了数字货币交易的应用场景外,未来的智能合约也能在游戏开发,金融市场风险建模,科学计算等领域发挥重要作用。TRON虚拟机的设计具有先天的满足多样化任务场景的能力,并且在对处理速度,响应时间,对浮点数的支持上作进一步的优化。

3. 增加即时编译速度、整合WebAssembly。

增加即时编译的速度能够对本地代码进行更优化地编译,更快速地解读运行代码。

同时,Tron将考虑基于WebAssembly(简称WASM)进一步优化TVM虚拟机。WebAssembly 目前由 Apple、Google、 Microsoft和Mozilla牵头,为突破Web浏览器性能瓶颈而设计,并可由 C/C++ 等语言编译产生。WebAssembly应用在区块链场景上,可以提高基于Web的DApp的性能。实现整合了WASM的TVM,将会满足未来复杂业务场景对接区块链应用的高性能、高吞吐量要求。
同时,TRON将考虑基于WebAssembly(简称WASM)进一步优化TVM虚拟机。WebAssembly 目前由 Apple、Google、 Microsoft和Mozilla牵头,为突破Web浏览器性能瓶颈而设计,并可由 C/C++ 等语言编译产生。WebAssembly应用在区块链场景上,可以提高基于Web的DApp的性能。实现整合了WASM的TVM,将会满足未来复杂业务场景对接区块链应用的高性能、高吞吐量要求。
Loading