大家好,又见面了,我是你们的朋友全栈君。
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.cn/144338.html原文链接:https://javaforall.cn