使用curl发送JSONRPC请求

9
我在使用字典作为参数时,所有请求都出现32602错误,而简单参数则可以正常工作。
例如:
curl -d '{"id":"json","method":"add","params":[1,2] }' -o – ‘用于JSON RPC的http地址’
是可以正常工作的,但是:
curl -d '{"id":"json","method":"add","params":[{"a":2,"b":3}] }' -o – ‘用于JSON RPC的http地址’
会返回32602错误(无效参数!)。
我需要在params中放置一个名称和类型的字典,但是我收到了32602错误。出了什么问题?
2个回答

7
您收到的具体错误信息(“参数无效”)表明您调用的特定方法可能是参数类型错误,但对于寻求使用curl进行JSON-RPC调用的一般指导的任何人来说,这可能不是问题所在。
对于JSON-RPC 2.0规范,规范要求传递一个字符串来指定协议版本,"jsonrpc": "2.0",该字符串在问题示例中缺失。
以下是符合规范且有效的调用示例(已在jayson服务器上测试过):
curl -X POST \
     -H 'Content-Type: application/json' \
     -d '{"jsonrpc":"2.0","id":"id","method":"add","params":[1, 2]}' \
     http://localhost:3000

1
尝试从第二次尝试中删除对象括号周围的数组括号[]。
例如:
curl -d '{"id":"json","method":"add","params":{"a":2,"b":3} }' -o – [http address for json rpc]

请问您能否看一下我的关于 json_rpc 的问题吗?链接为:https://stackoverflow.com/questions/67605266/how-to-read-smart-contracts-from-tronscan-org-using-laravel-and-json-rpc - user9277271

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接