NEO智能合约部署与调用
别丢弃我猿
发表于 2022-11-30 18:58:34
2402
0
0
. N+ ?$ t1 D5 H+ P" T. ~9 Y
创建项目并编译8 s) H! n. f8 ^' p
% C# T/ B# l# I; m5 P6 T
创建Neo项目,将WooLong的代码拷贝到demo中,并稍作修改。: L* O# a# p2 x
3 o5 i# Z! n" g6 p
打开neo-gui开发者版本5 C+ X% m6 e) }$ \4 D# r
对于开发者,官方建议使用coz提供的开发版neo-gui,clone代码下来,并通过visualstudio2017编译项目,然后按照官方文档同步testnet的区块,推荐使用离线同步包。参考文档。
! X" z- t5 |6 q% [7 y( E
来自文档的坑
来自文档的坑
那么这里又有了一个坑,coz在github中提供的这个neo-gui-developer代码,在调用智能合约的时候,会无法添加参数,因此我们需要到neo官方的neo-gui,将项目下面UI目录下的以ParametersEditor开头的几个文件全部都拷贝进来。那么这里又有了一个坑,coz在github中提供的这个neo-gui-developer代码,在调用智能合约的时候,会无法添加参数,因此我们需要到neo官方的neo-gui,将项目下面UI目录下的以ParametersEditor开头的几个文件全部都拷贝进来。
Z8 y3 G8 N- n& T% ?
打开部署智能合约界面,部署合约
点击[部署]按钮部署合约
拷贝ScriptHash
0x9499e029baba1221f903476b23a4d59866bb76e1
+ D M& M9 {' J; V3 h& `5 S
试运行并调用
部署完成并拷贝ScriptHash后,会弹出调用合约界面,先点击试运行,如果没有报错,就可以点击调用,这是在neo-gui->交易记录中会产生一个新的交易记录,记录开始是未确认状态,稍后会返回已经确认的节点数目。
这时,查看一下gas,你会发现发布合约消耗了一些gas。# M/ M$ V7 C" w# V
~! X& {$ [$ i* _( ~ P, y
智能合约调用
4 q! Y+ b) @( U" b7 q% z& h. Z; \) I$ z
打开高级->调用合约->函数调用,填写ScriptHash并查找,会查找到我们之前发布的合约。
填写调用合约需要的参数。! |: }) n$ Q7 c6 v- Y8 i
填写完成后,点击调用,查看交易记录,有一条新的未确认。
% \* C, K/ e, l: y s2 V
至此,合约的部署和发布算是完成了,其中还有很多细节未完善,只是重点说了自己在爬坑的过程中消耗时间最多的几个小细节,大的方向,各位还是先看官方文档,然后慢慢爬坑吧。
成为第一个吐槽的人