Bitcoin go语言版本源码结构

Bitcoin go语言版本源码结构

.
├── addrmgr
├── blockchain
├── btcec
├── btcjson
├── chaincfg
├── cmd
├── connmgr
├── database
├── docs
├── integration
├── limits
├── mempool
├── mining
├── netsync
├── peer
├── rpcclient
├── txscript
├── vendor
└── wire

Bitcoin Go 源码版本目录构成:

  • addrmgr : 地址管理
  • blockchain: 区块链
  • btcec:实现crypto/elliptic Curve接口
  • btcjson: 处理bitcoin JSON-RPC API相关功能
  • chaincfg: 定义chain相关配置参数
  • cmd: 命令行跟btcd交互
  • connmgr: 比特币网络节点间连接管理
  • database: 为metadata提供一个数据库层来访问,管理区块元数据。
  • integration: 以rpc方式驱动,测试btcd。
  • limits: 设置进程打开file descriptor数量
  • mempool: a policy-enforced pool of unmined bitcoin transactions.
  • mining: 挖矿功能 – 目前还在进行开发中
  • netsync: 并发同步区块
  • peer: 创建,管理p2p网络节点
  • rpcclient: rpc远程调用客户端: websocket-enabled Bitcoin JSON-RPC client.
  • txscript: 实现了交易脚本语言
  • vendor: 用到的一些第三方库
  • wire: 实现bitcoin消息相关协议。

工程root目录下文件:

.
├── btcd.go  - btcd程序主入口,程序初始化,并启动btcd全节点
├── config.go  -负责从配置文件解释相关的参数
├── log.go  - 初始化相关日志管理器
├── params.go - 定义不同类型bitcoin网络参数(mainnet, 以及其他测试网络 )
├── rpcadapters.go - rpc节点连接,同步管理
├── rpcserver.go - rpc服务器实现
├── rpcserverhelp.go - rpc服务器相关帮助
├── rpcwebsocket.go - 实现rpc websocket协议
├── server.go - bitcoin服务器,主要处理跟bitcoin节点的通信
├── service_windows.go - window系统下,bitcion服务实现
├── signal.go - 监听系统中断信号
├── signalsigterm.go - 定义要监听信息(SIGINT:中断信号, SIGTERM:终止程序信号)
├── upgrade.go - 修改0.2.0之前版本db数据库路径
├── upnp.go - 实现NAT-PMP功能
├── version.go - 版本信息

Repo 地址

https://github.com/btcsuite/btcd

    原文作者:terryc007
    原文地址: https://www.jianshu.com/p/90bb14bd04fc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞