📜  bitcore 节点 (1)

📅  最后修改于: 2023-12-03 14:59:31.606000             🧑  作者: Mango

Bitcore Node

【Bitcore Node】(https://github.com/bitpay/bitcore/tree/master/packages/bitcore-node) 是一个基于 Node.js 的开源比特币节点,具有高度的可定制性和灵活性,可以方便地扩展节点的功能并满足特定需求。Bitcore Node 提供了一个全节点的功能,通过使用 Bitcore Node,可以轻松地访问区块和交易数据,从而使开发基于比特币的应用程序变得更加容易。

Bitcore Node 的特性
  • 支持 Bitcoin Core RPC
  • 同时支持 Bitcoin API 和 Bitpay Insight API
  • 支持多种加密货币,如比特币、比特币现金等
  • 可以使用 Electrum X 和 Electrum Personal Server 作为节点后端
  • 支持 SegWit 和 BIP62
  • 支持 Bitcoin Cash 及各种硬分叉
  • 支持区块链事件通知
  • 可以通过内置的路由器脚手架自定义 API 端点
  • 允许用户自定义验证方法
  • 可以自定义比特币脚本
安装

Bitcore Node 可以使用 Node.js 包管理器 npm 进行安装,具体安装方式如下:

npm install bitcore-node

安装完成后,可以使用命令行启动节点:

node node_modules/bitcore-node/bin/bitcore-node start
自定义配置

Bitcore Node 的配置文件位于项目的 /config 目录下,可以使用以下命令创建配置文件:

node_modules/bitcore-node/bin/bitcore-node create <mybitcoinnode>

其中, 是节点名称,创建配置文件后,可以在 /config 目录下找到它。

自定义配置的方式非常简单,只需要编辑 /config 文件夹下所创建的配置文件,就可以根据需求添加相应的模块,如下所示:

{
  "network": "livenet",
  "port": 3001,
  "services": [
    "bitcoind",
    "insight-api",
    "insight-ui"
  ],
  "servicesConfig": {
    "bitcoind": {
      "spawn": {
        "datadir": "/Users/foo/.bitcoin",
        "exec": "/usr/local/bin/bitcoind"
      }
    },
    "insight-ui": {
      "routePrefix": "insight",
      "apiPrefix": "api"
    }
  }
}
扩展节点功能

可以通过更改 /lib/services/ 下的源代码来扩展 Bitcore Node 的功能,同时在自定义配置文件中添加所需的模块即可。若需要添加自己的模块,则可以在 /lib/services/ 目录下创建一个新的文件夹,并创建一个新的服务。

mkdir services/my-service
touch services/my-service/index.js

同时,在 /config 文件夹下的自定义配置文中也要添加该服务:

{
  ...
  "services": [
    "bitcoind",
    "insight-api",
    "insight-ui",
    "my-service"
  ],
  ...
}
参考资料