1、RPC远程过程调用,调用方只要传递调用服务名和参数就可以与对方通信,省的再去定义tcp/udp协议通信。R霸烹钟爷PC是基于tcp/udp之上的。JSON-RPC是一种基于JSON格式的跨语言远程调用协议。json文本传输数据小,便于调试扩展,所以区块链中选用它来实现。如下图:jsonrpc请求格式
2、jsonrpc有两个版本,钱包客户端使用的是2.0版本。请求中必须要有jsonrpc、method、params、id字段存在。响应则必须有jsonrpc、id字段,处理成功必须有result字段,失败必须有error字段。
3、jsonrpc也大概指定了错误码,-32768到-32000作为预定义错误的保留值,该范围内的任何未定义代码为未来保留使用。
4、jsonrpc只是定义了这个协议的规范,具体的实现则各不相同,只要满足协议就行了。钱包客户端怎么实现jsonrpc的,目前笔者还没有去研究。不过,作为一个简单的cpp实现,大尸园拽诟家可以看一下开源jsonrpc-cpp项目里面的实现。
5、了解了这些我们就可以按照jsonrpc2.0协议规范,实现jsonrpc访问钱包客户端,从而实现与客户端对接的功能。