本文實現方案:在虛擬機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#/
