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