解析区块链数据bitcore的安装方法

Posted by NandyShi on January 31, 2019

解析区块链数据bitcore的安装方法

版本要求

  1. Trusted P2P Peer(bitcoin full node…)
  2. MongoDB Server >= v3.4
  3. gcc
  4. g++
  5. bzip2

用户权限

root用户下:

adduser testuser
su testuser

nvm版本管理工具

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

待到安装完成提示用户设置环境变量的时候,修改.bash_profile,执行:

export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

使配置生效,运行

cd ~
source .bash_profile

安装node

nvm install v8

安装 bitcore

下载源码

git clone https://github.com/osagga/bitcore.git

安装

进入到bitcore/ 主目录执行:

npm install   --registry=https://registry.npm.taobao.org  --unsafe-perm=true

一定不要添加sudo等有root权限的命令,否则会带来权限问题

bitcore.config.json示例

{
  "bitcoreNode": {
    "chains": {
      "USDT": {
        "testnet": {
          "chainSource": "p2p",
          "trustedPeers": [
            {
              "host": "10.50.12.25",
              "port": 18333
            }
          ],
          "rpc": {
            "host": "10.50.12.25",
            "port": 18332,
            "username": "aldb",
            "password": "aldb"
          }
        }
      },
      "BCH": {
        "testnet": {
          "chainSource": "p2p",
          "trustedPeers": [
            {
              "host": "10.200.4.201",
              "port": 17333
            }
          ],
          "rpc": {
            "host": "10.200.4.201",
            "port": 17332,
            "username": "aldb",
            "password": "aldb"
          }
        }
      },
        "LTC": {
        "testnet": {
          "chainSource": "p2p",
          "trustedPeers": [
            {
              "host": "10.200.4.201",
              "port": 28333
            }
          ],
          "rpc": {
            "host": "10.200.4.201",
            "port": 28332,
            "username": "aldb",
            "password": "aldb"
          }
        }
      }
    }
  }
}

安装 mongdb

先决条件

请确保您拥有具有sudo权限的常规非root用户。

第1步 - 添加MongoDB存储库

该mongodb-org软件包不存在于CentOS的默认存储库中。但是,MongoDB维护着一个专用的存储库。我们将它添加到我们的服务器。

使用vi编辑器,为CentOS的包管理实用程序创建一个.repo文件yum:

sudo vi /etc/yum.repos.d/mongodb-org.repo

然后,访问MongoDB文档的Install on Red Hat部分,并将最新稳定版本的存储库信息添加到该文件中:

/etc/yum.repos.d/mongodb-org.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

保存并关闭文件。

在我们继续之前,我们应该验证yum实用程序中是否存在MongoDB存储库。该repolist命令显示已启用的存储库列表:

yum repolist
Output
. . .
repo id                          repo name
base/7/x86_64                    CentOS-7 - Base
extras/7/x86_64                  CentOS-7 - Extras
mongodb-org-3.2/7/x86_64         MongoDB Repository
updates/7/x86_64                 CentOS-7 - Updates
. . .

有了这个MongoDB Repository,让我们继续安装。

第2步 - 安装MongoDB

我们可以mongodb-org使用该yum实用程序从第三方存储库安装软件包。

sudo yum install mongodb-org

有两个Is this ok [y/N]:提示。第一个允许安装MongoDB软件包,第二个允许导入GPG密钥。MongoDB的发布者签署他们的软件并yum使用密钥来确认下载的软件包的完整性。在每个提示符下,键入Y然后ENTER按键。

接下来,使用systemctl实用程序启动MongoDB服务:

sudo systemctl start mongod

您也可以使用reload和stop命令更改MongoDB服务的状态。

该reload命令请求mongod进程读取配置文件/etc/mongod.conf,并应用任何更改而无需重新启动。

sudo systemctl reload mongod

该stop命令将暂停所有正在运行的mongod进程。

sudo systemctl stop mongod

该systemctl实用程序在执行start命令后未提供结果,但我们可以通过mongod.log使用以下tail命令查看文件末尾来检查服务是否已启动:

sudo tail /var/log/mongodb/mongod.log
Output
. . .
[initandlisten] waiting for connections on port 27017

安装中的问题

  • bitcore-node 可能会出现找不到 /build/.. 的错误,此时在相应的packages/bitcore-node/ 目录下 执行:
    npm rebuild
    

参考

  1. Bitcore Node (supports: BTC, BCH, LTC)
  2. mongodb安装

Fork me on GitHub