json-rpc协议「建议收藏」

json-rpc协议「建议收藏」BCOS中用户与区块链交互使用的是rpc框架,这里简单介绍:协议:json-rpc是一种远程调用协议,客户端被定义为请求对象的来源及对响应对象的处理程序;服务器被定义为响应对象的来源及请求对象的处理程序;1.客户端需要向服务器发送请求请求对象包含:jsonrpc:指定JSON-RPC协议版本的字符串,必须准确写为“2.0”method:包含所要调用方法名称的

大家好,又见面了,我是你们的朋友全栈君。

BCOS中用户与区块链交互使用的是rpc框架,这里简单介绍:
协议:json-rpc是一种远程调用协议,客户端被定义为请求对象的来源及对响应对象的处理程序;服务器被定义为响应对象的来源及请求对象的处理程序;
1.客户端需要向服务器发送请求
请求对象包含:

jsonrpc:
指定JSON-RPC协议版本的字符串,必须准确写为“2.0”
method:
包含所要调用方法名称的字符串,以rpc开头的方法名,用英文句号连接的为预留给rpc内部的方法名及扩展名,且不能在其他地方使用。
params:
调用方法所需要的结构化参数值,该成员参数可以被省略。
id:
已建立客户端的唯一标识id,值必须包含一个字符串、数值或NULL空值。如果不包含该成员则被认定为是一个通知。该值一般不为NULL,若为数值则不应该包含小数

如果没有id,说明客户端不关心响应对象;
2.服务器向客户端回复响应,只要请求必须响应(请求中没有id除外)

jsonrpc:
指定JSON-RPC协议版本的字符串,必须准确写为“2.0”
result:
该成员在成功时必须包含。
当调用方法引起错误时必须不包含该成员。
服务端中的被调用方法决定了该成员的值。
error:
该成员在失败是必须包含。
当没有引起错误的时必须不包含该成员。
该成员参数值必须为5.1中定义的对象。
id:
该成员必须包含。
该成员值必须于请求对象中的id成员值一致。
若在检查请求对象id时错误(例如参数错误或无效请求),则该值必须为空值。

协议已经介绍完了,我们不在意传输细节,socket也好,http也好都无所谓,它只是一个约定俗成的传json的协议。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144338.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ntp 校时 linux 带源码

    ntp 校时 linux 带源码最近做个项目,想通过公司上的NTP服务器给板子校时,但是板子里没有ntpdate这个命令,下面是2个解决方法,1,找到ntpdate源代码,重新编译之后,手动运行,这个方法我上网上查了,比较复杂,据说NTP还与SSL有关,编译的时候必须把SSL也包含进去,于是就迟迟没有动工。2,突然有一天看到rtthread里也提供一个ntp的客户端,比较简单,就一个文件,也没几行,于是想着把这个.c文件移植到linux下,但我仔细研究了一下,发现这个文件的原始作者就是在linux下设计的。原始文件更简单.

    2022年6月18日
    24
  • 程序员垃圾简历长什么样?

    程序员垃圾简历长什么样?已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份这篇文章会用实例告诉你,什么是差的程序员简历!疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》一石激起千层浪,三天收到两百多封简历。花光了两个星期的所有空闲时…

    2022年5月21日
    39
  • Project interpreter not specified(eclipse+pydev)

    Project interpreter not specified(eclipse+pydev)

    2021年11月24日
    42
  • idea配置springboot热部署终极解决办法,解决热部署失效问题

    idea配置springboot热部署终极解决办法,解决热部署失效问题idea配置springboot热部署终极解决办法,解决热部署失效问题1.添加maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</a…

    2022年5月21日
    106
  • linux pycharm激活码[免费获取][通俗易懂]

    (linux pycharm激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    243
  • SAE J1939 协议源代码分析(一)-程序结构框架

    SAE J1939 协议源代码分析(一)-程序结构框架文件组成概述文件名功能备注J1939.c协议源代码数据链路层,网络层实现j1939.h协议源代码数据链路层,网络层实现j1939_Config.h协议配置移植文件移植J1939,唯一改动文件函数组成结构函数大概分为4类:1.内部函数,J1939内部使用的函数。函数如下:文件名类型备注文件位置Compa

    2022年5月1日
    196

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号