EOSIO Labs最近发布了一款开发者浏览器:EOSIO Explorer,提供全新的web图形交互界面来帮助开发智能合约。
安装EOSIO Explorer
从EOSIO Explorer的Github地址克隆项目到本地,然后安装:
git clone https://github.com/EOSIO/eosio-explorer.git
cd eosio-explorer
yarn
yarn和npm类似,也是一个nodejs包管理工具,如果没有安装yarn,先使用如下命令安装:
sudo apt remove cmdtest
sudo apt remove yarn
sudo npm install -g yarn
注:npm和yarn命令对比
npm | yarn |
---|---|
npm install | yarn |
npm install react --save | yarn add react |
npm uninstall react --save | yarn remove react |
npm install react --save-dev | yarn add react --dev |
npm update --save | yarn upgrade |
安装时可能遇到的问题
EOSIO Explorer基于Puppeteer,Puppeteer是Google Chrome团队官方的无界面(Headless)Chrome 工具,安装Puppeteer时可能会报如下错误:
ERROR: Failed to download Chromium r650583! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
这是因为墙的原因无法下载chromium-browser,先设置不要默认下载:
cd eosio-explorer
echo 'puppeteer_skip_chromium_download=true'>.npmrc
然后到淘宝镜像站选择系统对应的安装包,下载前需要查询需要下载的版本:
cd eosio-explorer/node_modules/puppeteer
cat package.json
在puppeteer下的chromium_revision中可以找到:
要下载的版本是650583,以64位Linux系统为例,下载地址是:
https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/650583
下载的文件名为chrome-linux.zip,把它移动到puppeteer的项目目录中并解压,命令如下:
cd eosio-explorer/node_modules/puppeteer
mkdir .local-chromium
cd .local-chromium
mkdir linux64-650583
cd linux64-650583
wget https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/650583/chrome-linux.zip
unzip chrome-linux.zip
rm -f chrome-linux.zip
然后重新执行安装命令:
cd eosio-explorer
yarn
显示success表示安装成功,在eosio-explorer目录运行如下命令可以查看eosio-explorer版本:
yarn eosio-explorer -v
运行EOSIO Explorer
第一次运行EOSIO Explorer要进行初始化,这条命令会建立一个Docker容器并删除现有数据(包括MongoDB、本地区块链、本地存储中的数据):
yarn eosio-explorer init
如果此时报错:
Error: Chromium revision is not downloaded. Run "npm install" or "yarn install"
at Launcher.launch
则需要配置puppeteer执行地址:
cd eosio-explorer
echo 'puppeteer_executable_path=/home/songguo/eos-workspace/eosio-explorer/node_modules/puppeteer/.local-chromium/linux64-650583/chrome-linux/chrome'>>.npmrc
再次执行yarn eosio-explorer init命令,成功运行EOSIO Explorer,在本地的5111端口启动了一个React应用:
下次再启动时执行start命令:
yarn eosio-explorer start
执行start时,添加--init参数,会在重新构建应用,并清除React本地存储(不会清除区块链和MongoDB数据):
yarn eosio-explorer start --init
退出应用后,后台的Docker容器也会一直生产区块,需要使用如下命令停止正在运行的Docker容器:
yarn eosio-explorer pause_dockers
如果本地已经安装了EOSIO,使用EOSIO Explorer启动的Docker容器会占用掉8888端口,如果要让本地nodeos可用,需要删除此Docker容器:
yarn eosio-explorer remove_dockers
使用PM2管理应用
EOSIO Explorer应用启动后会在5111端口一直执行,如果要退出应用需要使用命令kill 5111端口的进程,或者使用PM2来管理应用;
PM2是nodejs进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,安装PM2使用如下命令:
npm install -g pm2
查看运行中的进程使用pm2 list命令:
可以看到,运行中的pm2进程有两个,就是EOSIO Explorer启动的进程,停止它们使用pm2 stop all命令:
更多PM2的使用方法可以到官网查看。
小结
这篇文章介绍了EOSIO Explorer的安装和使用方法,更多EOSIO Explorer的功能在后续的文章中介绍。
转载自:https://bihu.com/article/1353071796