1. 链一财经首页
  2. 资讯

TRON开发者指南 | 第二期:使用TRON Docker快速入门

欢迎来到

波场TRON开发者指南

在这里您将找到最全面的指南与文档

助力您完美使用

TRON开发者指南 | 第二期:使用TRON Docker快速入门

TRON是一个雄心勃勃的项目,致力于建立真正分散的互联网及其基础设施。 TRON协议是世界上最大的基于区块链的操作系统之一,为TRON生态系统中的所有分散应用提供基本公共区块链支持,具有高吞吐量,高可扩展性和高可用性。

简介

 

本指南引导用户完成TRON Docker快速启动映像设置。 该图像为用户提供了一个专用网络,其中包含一个完整节点、一个Solidity节点、一个事件服务器。默认情况下,每个帐户中有10个TRX帐户充满10,000个测试TRX,且 帐户提供相应的私钥。 因此, Docker快速启动的目的 是快速提供与本地测试环境,通过它们可以相互作用并了解TRON区块链用户。

 

Docker 请参考Docker官方网站下载并安装最新的Docker版本:

Docker安装为Mac DockerWindows安装(https://docs.docker.com/docker-for-windows/install/)

 

Node.JS控制台 这将用于通过TRON-Web与完整和稳定节点进行交互。

 

Node.JS控制台下载(https://nodejs.org/en/)

 

克隆TRON Docker快速开始

TRON开发者指南 | 第二期:使用TRON Docker快速入门

设置TRON Docker什么是TRON Docker?

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

TRON Docker Structure

TRON Docker 快速入门通过使用公开完整节点、有效性节点和事件服务器的映像为 TRON 的开发人员创建一个专用网络。 完整节点存储所有交易数据并将块数据与Solidity节点同步。 一旦您在智能合约中触发事件,MongoDB就会存储事件日志数据,然后为要查询的事件服务器提供数据。

 

注:Docker 图像 仅在本地设备上设置专用测试网。 这意味着它无法连接到Shasta测试网或TRON主网。 要连接到主网或Shasta测试网,请访问设置 完整节点。

设置

 

首先,检查应该在 docker run 命令中引用的 最新版本的TRON Docker Quickstart。(https://hub.docker.com/r/trontools/quickstart/tags/) 执行 docker run 命令时,请确保通过从Docker Hub页面指定相应的标记名称编号来运行最新版本。 在下图中,最新的Docker版本是1.1.3。

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门


关于版本号的说明

对于最新的 Java-Tron Odyssey 3.2 版本,最低兼容Tron Quickstart版本是Tron Quickstart 1.2.2 。请确保您已安装此版本。

下一个步骤是执行 docker 运行 命令。 docker run 命令公开五个端口:端口8090和8091用于完整节点和Solidity节点HTTP。 端口50051和50052用于完整节点和Solidity节点gRPC。 端口8092用于事件服务器。 在命令语法的末尾,请参考您在Docker Hub页面中看到的 最新版本号。

 

Mac/Linux Shell(https://cn.developers.tron.network/docs/quickstart-with-tron-docker)

docker run -it -p 8091:8091 -p 8092:8092 -p 8090:8090 -p 50051:50051 -p 50052:50052 –rm –name tron trontools/quickstart:1.1.3

输出

成功输出的删节版本类似于以下内容:

 

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

TRON开发者指南 | 第二期:使用TRON Docker快速入门

 

要验证完整节点,Solidity节点,事件服务器和MongoDB运行状态,请打开另一个终端窗口并运行以下命令。

shell:

docker exec -it tron tail -f /tron/FullNode/logs/tron.log # check full node log

docker exec -it tron tail -f /tron/SolidityNode/logs/tron.log# check solidity node log

docker exec -it tron mongo

 

要验证映像是否正常运行,请执行命令 docker exec -it tron ps aux。 输出应类似于以下:

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

 

查询帐户信息

如果您关闭终端或只想再次显示帐户和私钥列表,请运行以下API调用:

Shell

curl http://127.0.0.1:8090/admin/accounts

TRON-Studio智能合约

TRON-Studio是一个用于开发、部署和调试基于TVM的智能合约的IDE。 GRPC端口与Tron Docker完整节点配合使用,可以注册帐户,部署智能合约以及触发智能合约。

设置

请确保您的系统上安装了 JDK 1.8环境。 克隆Tron-Studio存储库,然后导航到 tron-studio目录。

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

 

运行gradlew build:

 

要验证映像是否正常运行,请执行命令 docker exec -it tron ps aux。 输出应类似于以下:cd ~/tron/tron-studio

./gradlew build -x test -x check # build project

 

Starting a Gradle Daemon (subsequent builds will be faster)

Download http://mvnrepository.com/com/github/jengelman/gradle/plugins/shadow/2.0.2/shadow-2.0.2.pom

Download http://mvnrepository.com/org/sonarsource/scanner/gradle/sonarqube-gradle-plugin/2.6/sonarqube-gradle-plugin-2.6.pom

Download http://mvnrepository.com/com/google/protobuf/protobuf-gradle-plugin/0.8.3/protobuf-gradle-plugin-0.8.3.pom

Download http://mvnrepository.com/commons-lang/commons-lang/2.6/commons-lang-2.6.pom

Download http://mvnrepository.com/com/google/guava/guava/18.0/guava-18.0.pom

……….

……….

BUILD SUCCESSFUL in 56s

13 actionable tasks: 13 executed

 

保持在同一目录并执行jar文件以启动TRON-Studio:

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

TRON-Studio IDE将如下所示启动:

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门


运行智能合约

将以下智能合约复制到Tron-Studio编辑器中。

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

 

单击 Compile 按钮, 成功编译会在右下角弹出一个弹出窗口,让您知道它是成功的。

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

Tron Studio Compile Panel

点击在IDE右上拐角的设置按钮。 这将打开“现有设置”窗口。

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

调节 本地TVM 的地址端口,以反映 TRON Docker GRPC完全节点端口,这是50051。 请记住, Tron-Studio仅通过gRPC端口与外部环境进行交互.

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

点击OK保存设置。 然后单击刷新按钮以确保在本地TVM上选择了gRPC端口。 现在单击 Deploy 按钮以部署合同的实例。

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

Tron Studio Run Panel

一旦合约部署到本地测试网,通过在中心底部窗口中展开事务的详细信息来验证部署是否成功, 结果类别的值为成功表示成功部署。 现在我们可以测试已部署的合同。 在“部署联系人”面板中展开合同。 您将看到 postMessage 和 getMessage的两个函数。 输入字符串值“1000 Trx”并单击 postMessage 按钮以触发状态更改功能,然后单击 getMessage 按钮查询更改。 这将在控制台面板中显示“1000 Trx”消息。

Tron-Web 交互介绍

到目前为止,智能合约已部署在您当地的私人测试网上。 本节将引导用户通过名为 Tron-Web的API库与完整节点,Solidity节点和部署的智能合约进行交互。 本 指南的目的 是给用户与生态系统交互的感觉。

Node.JS控制台

在 docker-tron-quickstart 文件夹的 app 文件夹中,有一个名为 tronWeb.js的JavaScript文件。 完整节点,Solidity 节点和事件服务器的默认地址指向本地Docker Quickstart节点的HTTP端口。

JavaScript

const TronWeb = require(‘tronweb’)

 

let fullNode = ‘http://127.0.0.1:8090’

let solidityNode = ‘http://127.0.0.1:8091’

let eventServer = ‘http://127.0.0.1:8092’

let defaultPrivateKey = ‘da146374a75310b9666e834ee4ad0866d6f4035967bfc76217c5a495fff9f0d0’

 

global.tronWeb = new TronWeb

fullNode,

solidityNode,

eventServer,

defaultPrivateKey

require(‘repl’).start({})

 

在新的终端中,导航到 docker-tron-quickstart 目录。 安装npm依赖项并执行 节点tronWeb。 这将进入Node.JS控制台。

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

 

查询API调用

我们将运行一个简单的API调用来查询我们的智能合约交易信息。 这将使用 tronWeb.trx.getTransactionInfo API调用。 在Tron-Studio中,扩展原始智能合约的部署详细信息显示 transaction_id:

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

与TRANSACTION_ID作为参数执行所述API调用输出以下JSON数据:

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

Executing the API call in Terminal 1

状态更改API调用

我们现在将对 postMessage 函数进行API调用,在您的私有Docker区块链上记录一条新消息,然后输出该消息。 创建一个具有以下代码的Javascript程序。 在代码中,确保您的本地TVM URL和端口正确,并将您的智能合约地址替换为 contractAddress 字段。 如果您愿意,您也可以修改 postMessage 字符串输入:

changestate()

分解程序:程序首先定义本地Docker节点和事件服务器的地址和端口。 此信息存储在 tronWeb 对象中。 定义一个名为 changestate 的函数然后执行。 该函数首先定义合同对象。 然而,它执行该 的postMessage 使用功能 。发送() 的方法,以及所述 的getMessage 使用函数 .call() 方法。 最后,该函数输出 getMessage 结果。

输出看起来像:

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

 

TRON开发者指南 | 第二期:使用TRON Docker快速入门

恭喜! 您现在已经设置了本地TRON区块链,部署了您的智能合约,通过TronWeb API调用不可变地更改了区块链,并查询了结果。

根据国家《关于防范代币发行融资风险的公告》,大家应警惕代币发行融资与交易的风险隐患。

本文来自LIANYI转载,不代表链一财经立场,转载请联系原作者。

发表评论

登录后才能评论

联系我们

微信:kkyves

邮件:kefu@lianyi.com

时间:7x24,节假日bu休息

QR code