本文实现方案:在虚拟机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#/