查看原文
其他

NEXT社区小课堂 | 第十八课:NEO智能合约部署与调用

NEONEXT 2023-07-20

NEXT社区 | 小课堂


由于近期NEXT社区加入很多新的小伙伴,有在校大学生,有对区块链感兴趣的传统企业从业者。为了更方便、更系统的让NEXT社区的伙伴们了解NEO的技术知识,因此我们开设了小课堂,每周3节,向大家普及NEO相关的知识要点!

开始前插播一下,我们NEXT社区线上直播分享第三期明晚八点正式开播,记得不要错过,听课链接在下方!



NEXT社区小课堂 | 第十八课

NEO智能合约部署与调用



NEO智能合约部署

使用官方WooLong的demo来部署第一个智能合约


说明:


在使用WooLong之前,应该对程序稍微做一些修改,哪怕只是改一下字符串;这个我在测试的时候遇到一个坑,直接使用官方的demo,发布后根据ScriptHash查找发现作者版本都不是我填写的那样,后来才知道,ScriptHash是根据合约脚本的二进制码产生的。如果不修改,那么最终根据ScriptHash查找的可能不是你部署的合约。



创建项目并编译


创建NEO项目,将WooLong的代码拷贝到demo中,并稍作修改。



打开neo-gui开发者版本


对于开发者,官方建议使用coz提供的开发版neo-gui,clone代码下来,并通过visual studio 2017编译项目,然后按照官方文档同步testnet的区块,推荐使用离线同步包。参考文档


来自文档的坑


那么这里又有了一个坑,coz在github中提供的这个neo-gui-developer代码,在调用智能合约的时候,会无法添加参数,因此我们需要到neo官方的neo-gui,将项目下面UI目录下的以ParametersEditor开头的几个文件全部都拷贝进来。



打开部署智能合约界面,部署合约



点击[部署]按钮部署合约



拷贝ScriptHash


1

0x9499e029baba1221f903476b23a4d59866bb76e1



试运行并调用


部署完成并拷贝ScriptHash后,会弹出调用合约界面,先点击试运行,如果没有报错,就可以点击调用,这是在neo-gui-> 交易记录中会产生一个新的交易记录,记录开始是未确认状态,稍后会返回已经确认的节点数目。



这时,查看一下gas,你会发现发布合约消耗了一些gas。



智能合约调用


打开高级->调用合约->函数调用,填写ScriptHash并查找,会查找到我们之前发布的合约。


填写调用合约需要的参数。



填写完成后,点击调用,查看交易记录,有一条新的未确认。


至此,合约的部署和发布算是完成了,其中还有很多细节未完善,只是重点说了自己在爬坑的过程中消耗时间最多的几个小细节,大的方向,各位还是先看官方文档,然后慢慢爬坑吧。



本文来源:

http://neofans.org/2018/05/05/neo%E6%99%BA%E8%83%BD%E5%90%88%E7%BA%A6%E9%83%A8%E7%BD%B2%E4%B8%8E%E8%B0%83%E7%94%A8/



往期课堂


NEXT社区小课堂 | 第十七课:开发NEO智能合约的实用技巧

NEXT社区小课堂 | 第十六课:开发NEO智能合约的工作流程

NEXT社区小课堂 | 第十五课:NEO虚拟机



↓↓↓

  联系我们  

微博:https://weibo.com/u/6724929880

官网:https://neonext.club/

QQ群:612334080

电报:https://t.me/neonextop

twitter:https://twitter.com/NE0NEXT


扫码关注NEO NEXT官方公众号

获取更多一手社区资讯

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存