EOS 配置mongodb

  本文实现方案:在虚拟机ubuntu上运行单节点的EOS,把数据存储到mongodb中,然后通过本地的windows查看mongodb的数据。

  配置如下:

    虚拟机: ubuntu 16.04    

         EOS version: v1.2.5(本人源码有部分修改)

         ip:192.168.14.199

        mongo db: mongodb-linux-x86_64-3.6.3   

    本地windows:  win10

      mongo db客户端工具:RoboMongo

      ip:192.168.14.7

  一.下载与安装RoboMongo

    site:  https://robomongo.org/download

  

  二.修改配置文件

  1.修改nodeos的配置文件config.ini

plugin = eosio::chain_api_plugin
#plugin = eosio::history_api_plugin
plugin = eosio::chain_plugin
#plugin = eosio::history_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::mongo_db_plugin
mongodb-uri = mongodb://192.168.14.199:27017/eosmain

在这里把  history_api_plugin、history_plugin两个插件都屏蔽掉了,加上了mongo_db_plugin插件,另外增加 mongodb-uri 字段,最后的eosmain表示数据库名称,eos会自动创建这个数据库。

  2.修改mongo db配置文件 mongod.conf

  此文件默认在当前用户目录下opt/mongodb,主要修改ip、port以及数据存储的地址

systemLog:
 destination: file
 path: /home/hml/opt/mongodb/log/mongodb.log
 logAppend: true
 logRotate: reopen
net:
 bindIp: 192.168.14.199,::27017
 ipv6: true
storage:
 dbPath: /home/hml/opt/mongodb/data

  三.启动程序

  1.启动mongo db  

//运行
sudo ~/opt/mongodb/bin/mongod -f ~/opt/mongodb/mongod.conf

//后台运行
sudo ~/opt/mongodb/bin/mongod -f ~/opt/mongodb/mongod.conf --fork

  这里运行时会报错,说找不到/data/db这个目录 于是手动创建了这个目录,再次运行后没有报错

  2.启动nodeos 

nodeos --delete-all-blocks  --mongodb-wipe

  参数--delete-all-blocks表示清除旧数据,区块数据重新开始,--mongodb-wipe清空mongo db中的旧数据,成功后会开始正常出块;

  四.使用robomongo访问

  打开客户端后直接创建连接,只需要ip和端口,默认情况下密码是没有的,连接成功后,创建一些用户与交易后查看数据如下:

 

 本文参考地址:

  https://note.youdao.com/share/?id=084487aa8f2e8fdfc0a3c9ead6ad3144&type=note#/

  

        

    

原文地址:https://www.cnblogs.com/hbright/p/9759187.html