主页 > imtoken安卓官方下载 > 战友Go语言区块链技术培训以太坊源码分析(43)节点源码分析.docx

战友Go语言区块链技术培训以太坊源码分析(43)节点源码分析.docx

imtoken安卓官方下载 2023-03-13 06:15:14

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 请求

停止