调用合约的参数构造方法

naoye 10月前 669


在调试合约之前,需要将合约部署到链上,并发出一笔调用该合约的交易,然后通过这笔交易对合约进行调试。

调用合约时需要填写调用所需的参数。参数为合约入口函数所需的参数。在neoray1.0中需要手动填写,而在2.0中只需要选择参数并填写数值即可。

我们在编写智能合约的时候,入口函数有且只有main函数一个。根据不同的需求我们可能有不同的入参需要。

下面列出几种常用例子


Main 函数为:public static object Main()

在Neoray1.0中参数构造为: []

在Neoray2.0中输入如下:

 image.png

Main 函数为:public static object Main(string method)

在Neoray1.0中参数构造为:     ["(str)#"]   #为你要传入合约的参数method 

在Neoray2.0中输入如下:

 image.png

Main 函数为:public static object Main(BigInteger int)

在Neoray1.0中参数构造为:     ["(int)#"]   #为你要传入合约的参数int 

在Neoray2.0中输入如下:

  image.png

Main 函数为:public static object Main(object[] arr)

在Neoray1.0中参数构造为:     [[]]  

举例:[["(int)#"]] 意味着传入的arr[0] 是一个类型为int的参数

在Neoray2.0中输入如下:

 image.png

Main 函数为:public static object Main(string method , object[] arr)

在Neoray1.0中参数构造为:     ["(str)#",[]]  

在Neoray2.0中输入如下:

 image.png

————————————————————————————————

以下为其他在Neoray1.0中需要的数前缀的使用方法


String类的前缀加str。 例如

strget ; (str) put

int类的前缀加int。例如

int10 ; (int) 10000ps:这里需要注意的是智能合约只有整形


钱包地址前缀加addr。 例如

addrAeYiwwjiy2nKXoGLDafoTXc1tGvfkTYQcM


betyarray 前缀加(bytes)。例如

bytes029020


25616进制大整数 前缀加hex256。例如

hex2560xef19eb65fe82a009ba005d656251927796255ac86d149135da619319dddfcd77

16016进制大整数 前缀加hex160。例如

hex1600x212d6dbe3767e2877326e115ad73d3f5788ffc55


最后于 17天前 被naoye编辑 ,原因:
最新回复 (0)
全部楼主
返回