风险提示:理性看待区块链,提高风险意识!
如何使用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线形态图解:上涨两颗星买入形态
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥265,902.86
37,256.43 USDT
+0.45%
ETH以太坊
¥14,471.18
2,027.60 USDT
+0.17%
USDT泰达币
¥7.20
1.01 USDT
-0.01%
BNB币安币
¥1,630.32
228.43 USDT
+0.63%
XRP瑞波币
¥4.36
0.61070 USDT
+1.51%
USDC
¥7.14
1.00 USDT
+0.03%
SOLSolana
¥400.57
56.13 USDT
+1.81%
ADA艾达币
¥2.70
0.37780 USDT
-1.02%
OKBOK币
¥399.11
55.92 USDT
-0.14%
DOGE狗狗币
¥0.55680
0.07802 USDT
-0.83%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.625E-5 USDT
-19.02%
Gala
¥0.18
0.025524 USDT
-5.1%
dYdX
¥22.72
3.2118 USDT
-0.29%
比特股
¥0.05
0.006515 USDT
-3.81%
PancakeSwap
¥15.64
2.2106 USDT
-2.19%
Conflux
¥1.09
0.1537 USDT
-1.91%
Filecoin
¥31.61
4.4688 USDT
-0.15%
FTX Token
¥29.39
4.1548 USDT
+15.8%
Yield Guild Games
¥2.56
0.3619 USDT
-0.44%
Shiba Inu
¥0.00
8.16E-6 USDT
-1.81%
比特币
¥263,550.12
37256.43 USDT
+0.45%
波场
¥0.72
0.102 USDT
-2.58%
最新快讯
更多
汇款公司Kalyssi旗下钱包已集成AlchemyPay法币出入金解决方案
2023-11-28 19:26:47
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
下载币界网APP