美文网首页
NEO智能合约调试流程说明

NEO智能合约调试流程说明

作者: NEO持有者 | 来源:发表于2018-12-26 17:29 被阅读0次

Neo智能合约调试比较麻烦,我们NEL在开发NNS的过程中,发现现存的工具根本无法支撑我们开发如此复杂的智能合约。

所以我们搞了一整套自己的智能合约调试工具

第一步、编译智能合约

安装neondebug

Git 抓取编译:https://github.com/NewEconoLab/neondebug

你将得到一个崭新的neon.exe

用他替换掉你原来用的那个neon.exe

怎么替换呢,请参照如下步骤移除你原来neon.exe 的path,换上neondebug的

为什么要安装neondebug

Neondebug 多导出了一个map.json文件,实现avm到源码的映射。

同时按照hash 将 avm abi cs map.json 整理到一起

比如生成

就会直接用scripthash整理相关文件

检查编译结果

用neondebuggui “ load avm from file “ 按钮,加载刚生成的avm文件

可以进行查看,查看以后,就可以用NEONDEBUGGUI的调试交易工具调试使用此脚本的交易。

查看一次即可。文件会被copy到neondebuggui的目录中

开源智能合约

使用upload this to server 按钮,可以将智能合约代码上传到服务器,则任何人可以获取到此合约信息

使用 load from server 按钮,可以根据scripthash查看服务器上的合约信息。

第二步、产生一个交易

安装neo-gui-nel

Git抓取编译:https://github.com/NewEconoLab/neo-gui-nel

你将得到一个NEL定制版本的NEO-GUI

这个定制版本乍看没有什么东西,但是来发布一下刚才的智能合约你就会发现一点不同

请注意neo-gui-nel 默认配置在testnet上面。

发布合约

NEL定制版本NEO-GUI已经率先支持了发布NEP4( dyncall)合约

第三步、调试

调用合约

调用合约NEOGUI定制版也可以添加一个Array

试想这个智能合约Main(string,object[] args),其中args[0]  是 一个 string[]

这就需要array里面嵌套array,现在的neogui 是没有办法调用这样的合约的

调试试运行合约

当你点击试运行以后就已经可以调试了

按照Neo-gui-nel默认的配置,你点击试运行之后,就会在这个目录得到一个0x00文件

使用它就可以完成NEO智能合约调试了。

使用NEONDEBUGGUI的Debug Transaction 选项卡

LoadFromFile button,打开这个0x00文件

你就得到了一个拥有智能合约详细执行的每一步的工具。

并且可以对应到源码,可以观察执行栈细节,可以观察每一个数据的细节的工具。

让你可以完全了解到这次test是怎么运行的

调试交易

发送一笔交易,等一会儿,等这笔交易被确认

你就可以在fulllog目录找到这笔交易对应的文件

打开它,就能够调试这笔交易在链上的实际运行细节。

第四步、更多更方便

1. 只要有人upload过一次的智能合约,所有人随时都能调试时看到源码

2. 我们有一个爬虫,随时将testnet的合约的log文件上传到服务器

即使你没有安装NEO-GUI-NEL,你使用loadformserver按钮也可以调试,只要你知道交易id就行。

3. 未来我们将开发纯网页版的调试工具

4. 未来我们也将同步主网的数据也上传服务器

原文转自:https://mp.weixin.qq.com/s/sZQ5lLU-T3ZBKZ2UQhlwKQ

相关文章

  • NEO智能合约调试流程说明

    Neo智能合约调试比较麻烦,我们NEL在开发NNS的过程中,发现现存的工具根本无法支撑我们开发如此复杂的智能合约。...

  • 1-3基本知识-智能合约是什么

    NEO智能合约 智能合约是以数字形式定义承诺的协议,是区块链技术的重要特征。 NEO智能合约就是一段程序,NEO系...

  • 有了NeoRay,NEO智能合约开发从未如此简单

    在过去,NEL发布了neon_debug_gui调试工具,用来进行neo上的智能合约调试。现在,我们发布了它的on...

  • ASCH阿希链周报(9.8~9.14)

    【技术进展】 阿希1.4版本 •ETH智能合约调试; •完成智能合约详细交互流程设计; •修复1.4版本选择...

  • Neo私链

    为了研究Neo的代码,需要看一下Neo到底怎么运行的,在网络上跑一个智能合约,并且调试该网络。所以先搭建一个私链玩...

  • 智能合约调试

    学习目标: 了解智能合约调试 掌握智能合约调试的方法 以太坊的智能合约就是代码。与你在其他地方找到的“纸质”合同不...

  • NEO改进协议提案4(NEP-4)

    文章目录 摘要 动机 详述 neo neo-vm neo编译器 智能合约示例 原理 向后兼容性 实...

  • 【走向大时代】之屌丝聊小蚁币

    小蚁币(NEO)是国内首个开源公有链项目和智能资产平台。简单来说,NEO=数字资产+智能合约+数字身份,可用...

  • NEO-ONE:一款全新的一体化NEO开发套件

    NEO-ONE是一款全新的端到端智能合约框架,旨在让用户轻松在NEO平台上创建dApp。由NEO区块链浏览器NEO...

  • 一个eos dapp的区块链小游戏开发学习笔记

    开发流程:1,eos环境搭建,及adpp开发流程说明2,创建前端源码框架,编写前端源码3,创建智能合约目录,编写智...

网友评论

      本文标题:NEO智能合约调试流程说明

      本文链接:https://www.haomeiwen.com/subject/heqklqtx.html