jsonrpc 调用智能合约传参问题

~{会~一}~ 8月前 514

1、官方文档显示有三个关于智能合约的api(invoke,invokefunction,invokescript)带合约参数的就前两个

 

我创建的智能合约如下

现在想通过jsonrpc调用该智能合约,去查看了一下api的源码

然后用postman请求

传参还是有问题,有没有大佬解惑一下

最后于 8月前 被naoye编辑 ,原因: 奖励 ~{会~一}~ 20NNC 地址:AQGjjidStBmgLjfuNXaShYjLLpHuyF8tUs
最新回复 (5)
全部楼主
  • 0 2
    合约有没有发布
  • ~{会~一}~ 8月前
    0 3
    发布了,事先在neo-gui上调用成功了,然后想试试jsonrpc调用
  • 0 4


    一。你图中贴的合约256903ffea60c4d01934cd97f56bcf8742ab1776我在主网和测试网都没有找到这个合约。是不是我弄错了。你贴一下合约的hash

    二。用postman把官网上的例子走通,用json来传输。

  • ~{会~一}~ 8月前
    0 5
    咦~這裏有只豬 一。你图中贴的合约256903ffea60c4d01934cd97f56bcf8742ab1776我在主网和测试网都没有找到这个合约。是不是我弄错了。你贴一下合约的hash二。用postman把官网上 ...
    我是自己搭的私链,我去申请点测试网gas部署再测试网上吧,如果你看到的话也麻烦你帮我说一下,我在论坛里申请gas的帖子留了言。
  • ~{会~一}~ 8月前
    0 6

    解决了,原因是
    [
        "0x256903ffea60c4d01934cd97f56bcf8742ab1776",
        "register",
        [
          {
            "type": "string",
            "value": "key201811301608"
          },{
            "type": "string",
            "value": "value201811301608"
          }
        ]
      ]
    里参数类型 "type":"string"  中的类型string 必须是String 大写开头,也就是说需要对应参数类型应该是String、Boolean、Integer 。。等符合官网的参数与返回值设定
        /// <summary>
        /// 表示智能合约的参数类型
        /// </summary>
        public enum ContractParameterType : byte
        {
            /// <summary>
            /// 签名
            /// </summary>
            Signature = 0,
            Boolean = 1,
            /// <summary>
            /// 整数
            /// </summary>
            Integer = 2,
            /// <summary>
            /// 160位散列值
            /// </summary>
            Hash160 = 3,
            /// <summary>
            /// 256 位散列值
            /// </summary>
            Hash256 = 4,
            /// <summary>
            /// 字节数组
            /// </summary>
            ByteArray = 5,
            PublicKey = 6,
            String = 7,

             /// <summary>
             /// 对象数组
             /// </summary>        
            Array = 10,
            InteropInterface = 0xf0,
            Void = 0xff
        }

返回