我们在编写智能合约的时候,入口函数有且只有main函数一个。根据不同的需求我们可能有不同的入参需要。
下面列出几种常用例子
Main 函数为:public static object Main()
参数构造为: []
Main 函数为:public static object Main(string method)
参数构造为: ["(str)#"] #为你要传入合约的参数method
Main 函数为:public static object Main(BigInteger int)
参数构造为: ["(int)#"] #为你要传入合约的参数int
Main 函数为:public static object Main(object[] arr)
参数构造为: [[]]
举例:[["(int)#"]] 意味着传入的arr[0] 是一个类型为int的参数
Main 函数为:public static object Main(string method , object[] arr)
参数构造为: ["(str)#",[]]
(str) (int) 之类的参数前缀的使用发放如下:
String类的前缀加(str)。 例如
(str)get ; (str) put。
int类的前缀加(int)。例如
(int)10 ; (int) 10000。ps:这里需要注意的是智能合约只有整形
钱包地址前缀加(addr)。 例如
(addr)AeYiwwjiy2nKXoGLDafoTXc1tGvfkTYQcM
betyarray 前缀加(bytes)。例如
(bytes)029020
256位16进制大整数 前缀加(hex256)。例如
(hex256)0xef19eb65fe82a009ba005d656251927796255ac86d149135da619319dddfcd77
160位16进制大整数 前缀加(hex160)。例如
(hex160)0x212d6dbe3767e2877326e115ad73d3f5788ffc55