波场合约部署与测试

波场合约部署与测试,第1张

文章前言

本篇文章主要简单的介绍一下波场合约的部署流程以及如何对波场合约进行调试分析,这在后续波场合约审计中如果遇到可疑的逻辑设计问题以及编码安全(例如:溢出)时可以通过测试网络进行调试分析测试来确定问题的存在与否~

合约部署

钱包准备

首先,我们需要自己准备一个波场钱包,这里我们以tronlink插件为例:

 

创建账户

之后我们设置登录密码并创建一个账户:

 

设置账户名:

 存储助记词:

 之后填写刚才备份的助记词:

之后成功创建账户:

领测试币

领取地址:https://www.trongrid.io/faucet

测试合约

这里以USDT合约为例做演示说明,完整的合约可以到以下地址去下载:

https://cloud.189.cn/t/baIreqeym2Yn(访问码:qsy3)

切换网络

首先切换钱包的测试节点

 

同时我们可以看到测试币已到账了:

钱包连接

访问shasta网站并使用之前的TRX账户登录:https://shasta.tronscan.io/

 之后进入个人账户页面:

合约编译

下面上传合约:

 

 之后编译合约:

 合约部署  

之后部署合约:

之后进行签名:

合约部署成功:

 Successful deployed contract 'TetherToken'. Cost: 63.6974 TRX, 0 energy. Transaction confirm here f7e84de310bbb7cedb9ecd3175c61faa88da8e0e51d6678eeeb877cf214e5a46
Contract address:  TLtR2FBY5xGz7fqqEsRychpfqHEGYq8BGc

交易信息:

https://shasta.tronscan.io/#/transaction/f7e84de310bbb7cedb9ecd3175c61faa88da8e0e51d6678eeeb877cf214e5a46

添加资产

之后到钱包插件中添加资产:

成功添加资产:

合约调试

以上在测试网络中模拟了一个合约部署的整个流程,下面我们来看看如何在本地通过Tron-IDE调试分析工具结合钱包来进行合约的部署域调试分析,Tron-IDE可以访问以下地址来找到:http://www.tronide.io/

 从上图中可以看到Tron-IDE和Remix其实是差不多的,不过感觉少了一些编译工具之类的内容,我们可以通过以下方法将其调出来:

 之后进行合约的编译:

 

 之后部署:

 之后进行请求签名:

之后成功部署相关的合约:

 之后可以通过传递参数进行对合约中的方法进行调用:

其余不再展开赘述,具体碰到需要调试分析的相关业务逻辑自行进行构造传递参数进行调试分析即可~

周边扩展

Tron-IDE还提供了一个简易的小工具,里面包含了base64编码、Base58Check_HexString(以太坊合约迁移至波场时对原有的以太坊地址进行转换会使用到)、Hex与String互转、私钥生成公钥等等,这里对Base58Check_HexString做一个简单的演示:

波场地址:TVN5TEFK2XLZ5vPNspZRXUNvVgDmStXWBX

转以太坊:41D4BDA7D57423823D4DF15C72A42DA455BE53F0CB

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/943983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-18
下一篇 2022-05-18

发表评论

登录后才能评论

评论列表(0条)

保存