主页 > imtoken安卓官方下载 > 战友Go语言区块链技术培训以太坊源码分析(43)节点源码分析.docx
战友Go语言区块链技术培训以太坊源码分析(43)节点源码分析.docx
Band of Brothers Go语言+区块链技术培训以太坊源码解析(43)节点源码解析
node 表示 go ethereum 中的一个节点。 它可能是一个完整的节点,也可能是一个轻量级的节点。 一个节点可以理解为一个进程,而以太坊是由运行在世界各地的多种类型的节点组成的。
典型的节点是 p2p 节点。 运行p2p网络协议,根据不同的节点类型运行不同的业务层协议(区分网络层协议。参考p2p peer中的Protocol接口)。
节点的结构。
// Node 是一个可以在上面注册服务的容器。
类型节点结构{
eventmux * // 在堆栈的服务之间使用的事件多路复用器
配置 *配置
阿克曼*
ephemeralKeystore string // 如果非空以太坊源码是什么语言以太坊源码是什么语言,将被 Stop 删除的密钥目录
instanceDirLock // 防止并发使用实例目录
服务器配置
server * // 当前运行的工作层
serviceFuncs []ServiceConstructor // 服务构造函数(按依赖顺序)
services map[]Service // 当前运行的服务
rpcAPIs[] // 节点当前提供的API列表
inprocHandler * // 处理 API 请求的进程内 RPC 请求处理器
ipcEndpoint string // 要侦听的 IPC 端点(空 = IPC 已禁用)
.Listener // IPC RPC 侦听器套接字来服务 API 请求
ipcHandler * // IPC RPC 请求处理程序来处理 API 请求
httpEndpoint string // 要侦听的 HTTP 端点(接口 + 端口)(空 = 禁用 HTTP)
httpWhitelist []string // 允许通过此端点的 HTTP RPC 模块
.Listener // HTTP RPC 侦听器套接字到服务器 API 请求
httpHandler * // HTTP RPC 请求处理程序来处理 API 请求
wsEndpoint string // 要侦听的 Websocket 端点(接口 + 端口)(空 = 禁用 websocket)
.Listener // Websocket RPC 侦听器套接字到服务器 API 请求
wsHandler * // Websocket RPC 请求处理程序来处理 API 请求
停止