比特币源码解析:RPC详解
比特币源码解析:RPC详解 这篇文章主要分析rpc模块代码的一个整体逻辑,详细的代码讲解,请关注下一篇文章 在这里,我们暂时先抛开bitcoin代码,仅仅来谈RPC,提到RPC大家肯定首先会想到远程过程服务调用,既然是调用,那就肯定存在一个client端和一个server端,clent端与server端通过RPC这个黑盒通过http请求进行交互,那么就有一个问题,我自定义的json格式的字符串(这里拿json来进行举例)是无法在网络上流通的,所以,必然会涉及到一个json的序列化与反序列化的过程。综上所述,大致流程如下: image.png RPC详解 rpc命令的入口函数是从 bitcoin-abc/src/rpc/register.h 出发的,根据功能模块的不同,分了如下函数用来注册rpc命令: class CRPCTable ; //区块链RPC命令注册 void RegisterBlockchainRPCCommands (CRPCTable &tableRPC) ; //P2P网络RPC命令注册 void RegisterNetRPCCommands (CRPCTable &tableRPC) ; //其他工具RPC命令注册 void RegisterMiscRPCCommands (CRPCTable &tableRPC) ; //挖矿RPC命令注册 void