Skip to content

Latest commit

 

History

History
94 lines (46 loc) · 3.21 KB

01-debug-a-Smart-Contract.md

File metadata and controls

94 lines (46 loc) · 3.21 KB

智能合约开发

SmartX

SmartX是DNA区块链的在线智能合约开发工具,为DNA提供了最完善的功能和最稳定的开发体验。

Debug流程

步骤1 - 创建一个Python工程

选择Python语言和空白模板, 从OEP4Sample.py中拷贝代码并复制到编辑器中。

step1.png

step1.png

步骤2 - 编译

点击编译按钮编译智能合约。ABI与AVM文件会自动生成且操作码会显示在底部。

step2.png

步骤3 - 设置断点

点击行数的左侧空白处,将会生成一个红色的断点。

step3.png

步骤4 - 以Debug模式运行

第一,选择要执行的函数,再选择参数的类型并填充参数值。

第二,点击“Debug run”按钮。

step4.png

点击“Debug run”按钮之后,“Debug run”的字样会显示成“Waiting”。

步骤5 - 使用Debug控制面板

使用导航面板debug

debug panel.png

从左到右:

继续运行(跳转到下一个断点), 终止debug, 跳转到下一行, 跳转到下一个操作码, 清屏

Debug控制面板

控制面板会显示当前合约的基础信息。

5.png

从左到右:

Logs: 显示合约执行的结果

Evaluation Stack: 临时存放当前合约正在使用的数据

Alt Stack: 存储所有变量。Locals将会从Alt Stack中读取本地变量

History: 显示操作码的执行记录

Locals: 显示当前合约的本地变量

Storage: 智能合约的数据库

用控制面板改变参数

如何改变变量值

改变括号内的数值,其相对应的变量值将会改变。

change locals.png

如何改变存储的数据值

你可以使用Storage来新增或删除任意合约数据。

change storage.png

如何使用转换工具

选择转换工具并填入相应的数据。

工具面板的功能列表

tool panel.png