风险提示:理性看待区块链,提高风险意识!
如何使用TRON Docker部署本地化波场TRON区块链?
首页 > 币界资讯 > 区块链知识 2019-05-14 09:32:31
币界网报道:



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

简介


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

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

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

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

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

克隆TRON Docker快速开始


设置TRON Docker

什么是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。


关于版本号的说明

对于最新的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

输出

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




要验证完整节点,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。 输出应类似于以下:



查询帐户信息

如果您关闭终端或只想再次显示帐户和私钥列表,请运行以下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目录。



运行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-Studio IDE将如下所示启动:


运行智能合约

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



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



Tron Studio Compile Panel

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



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



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




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控制台。




查询API调用

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



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



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区块链,部署了您的智能合约,通过TronWeb API调用不可变地更改了区块链,并查询了结果。

上一篇: 什么是数字货币中的山寨币、竞争币、空气币、传销币?
下一篇: 数字货币K线形态图解:上涨两颗星买入形态
推荐专栏
Boss Wallet Web3 Econom Pass
专注币圈最新资讯
通俗浅显地聊透Web3大事小情
读懂区块链生态与未来,尽在币界网!
热门币种
更多
币种
美元价格
24H涨跌幅
BTC比特币
60,963.61 USDT
¥435,103.38
-2.72%
ETH以太坊
3,368.69 USDT
¥24,042.67
-0.3%
BNB币安币
570.68 USDT
¥4,073.00
-0.28%
USDT泰达币
1.02 USDT
¥7.25
-0.19%
SOL
135.96 USDT
¥970.36
+7.66%
USDC
1.00 USDT
¥7.15
-0.01%
TON
7.59 USDT
¥54.14
+4.55%
XRP瑞波币
0.47720 USDT
¥3.41
+0.48%
DOGE狗狗币
0.12210 USDT
¥0.87140
+2.43%
ADA艾达币
0.39050 USDT
¥2.79
+3.88%
热搜币种
更多
币种
美元价格
24H涨跌幅
比特币
61102.32 USDT
¥443,902.24
-1.28%
Solana
137.3 USDT
¥997.47
-0.56%
Filecoin
4.3497 USDT
¥31.60
-1.89%
Curve
0.2964 USDT
¥2.15
-6.5%
柚子
0.5735 USDT
¥4.17
+0.1%
Terra Classic
8.158E-5 USDT
¥0.00
-1.75%
Shiba Inu
1.722E-5 USDT
¥0.00
-3.26%
Conflux
0.156 USDT
¥1.13
-1.27%
狗狗币
0.1225 USDT
¥0.89
-3.47%
dYdX
1.379 USDT
¥10.02
-0.74%
Arweave
25.8273 USDT
¥187.63
-10.11%
以太坊
3383.95 USDT
¥24,584.06
-0.19%
最新快讯
更多
新SwellrswETH池已上线Penpie
2024-06-27 11:34:46
Custodia要求上诉法院指示地区法院撤销对Custodia主账户的拒绝
2024-06-27 11:26:52
Custodia寻求法官撤回授权美联储拒绝其主账户申请的决定
2024-06-27 11:26:52
XT即将上线新一期鲨鱼鳍理财
2024-06-27 11:26:33
WEEX唯客将于7月1日开启第二期Launchpool,投入WXT瓜分37,000ZK
2024-06-27 11:25:57
币界网实时价格午报:PEPE站上0.000012722美元/枚,涨幅达3.03%
2024-06-27 11:23:47
数字资产银行Custodia寻求法官撤回授权美联储拒绝其主账户申请的决定
2024-06-27 11:22:40
下载币界网APP