以太坊区块链浏览器的搭建

本文是以太坊和智能合约系列文章中的第三篇《 以太坊区块链浏览器的搭建》。系列文章列表为:

  1. 以太坊单节点私有链环境的搭建
      主要描述环境的搭建以及账户、收益以及挖矿相关知识和命令
  2. 以太坊多节点私有链环境的搭建
      主要描述多节点的互联以及交易、区块信息(给出一个节点间交易的例子)
  3. 以太坊区块链浏览器的搭建(当前文章)
      主要描述区块链浏览器的搭建以及在浏览器中查看区块和交易信息
  4. 在以太坊系统下构建第一个智能合约
      主要描述truffle的使用,以及如何在以太坊多节点系统中构建智能合约
  5. 在以太坊系统下构建可升级的智能合约
      主要描述如何编写可升级智能合约代码

本文主要描述区块链浏览器的搭建以及在浏览器中查看区块和交易信息

  • 基本信息
  • 下载区块链浏览器代码
  • 修改配置文件
    • 修改连接以太网节点地址为远程节点地址
    • 修改浏览器地址为本地IP地址
  • 下载bower工具
  • 启动区块链浏览器
    • 启动以太坊节点
    • 启动区块链浏览器后台程序
    • 在浏览器中查看
  • 在浏览器中查看区块和交易
    • 查看区块详情
    • 查看交易详情

基本信息

操作系统: ubuntu16.04 x86_64
系统内存: 大于等于2G
go 版 本: go1.10.2
geth版本: 1.8.8-unstable(github当前最新版)
nodeJS版本:v10.0.0(系统apt自带版本)
npm版本: v5.6.0(系统apt自带版本)
bower版本: v1.8.4

下载区块链浏览器代码

 
  
  1. root@cc-virtual-machine:/opt# git clone https://github.com/etherparty/explorer

修改配置文件

修改连接以太网节点地址为远程节点地址

(192.168.172.201为以太坊节点地址)

 
  
  1. root@cc-virtual-machine:/opt# cd explorer
  2. root@cc-virtual-machine:/opt/explorer# vim app/app.js
  3. var eth_node_url = 'http://localhost:8545'; 修改为 var eth_node_url = 'http://192.168.172.201:8545';

修改浏览器地址为本地IP地址

(192.168.172.201为本地IP地址也为以太坊节点地址,这样可在局域网其他机器访问区块链界面)

 
  
  1. root@cc-virtual-machine:/opt# cd explorer
  2. root@cc-virtual-machine:/opt/explorer# vim ./package.json
  3. "start": "http-server ./app -a localhost -p 8000 -c-1", 修改为"start": "http-server ./app -a 192.168.172.201 -p 8000 -c-1",

下载bower工具

 
  
  1. root@cc-virtual-machine:/opt/explorer# npm install -g bower -y
  2. root@cc-virtual-machine:/opt/explorer# bower init
  3. root@cc-virtual-machine:/opt/explorer# bower install --allow-root
  4. root@cc-virtual-machine:/opt/explorer# bower install angular --save-dev --allow-root

选择1,继续往下完成安装

启动区块链浏览器

启动以太坊节点

注意: 需要增加参数: —rpccorsdomain ‘*’

 
  
  1. root@cc-virtual-machine:/opt# geth --datadir ./data/00/ --networkid 18 --port 28000 --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --rpcapi 'db,net,eth,web3' --rpccorsdomain '*' --nodiscover console
  2. INFO [05-26|16:44:32] Maximum peer count ETH=25 LES=0 total=25
  3. INFO [05-26|16:44:32] Starting peer-to-peer node instance=Geth/v1.8.8-unstable-784aa839/linux-amd64/go1.10.2
  4. INFO [05-26|16:44:32] Allocated cache and file handles database=/opt/data/00/geth/chaindata cache=768 handles=512
  5. INFO [05-26|16:44:32] Initialised chain configuration config="{ChainID: 18 Homestead: 0 DAO: DAOSupport: false EIP150: EIP155: 0 EIP158: 0 Byzantium: Constantinople: Engine: unknown}"

启动区块链浏览器后台程序

使用npm start启动

 
  
  1. root@cc-virtual-machine:/opt/explorer# npm start
  2. > EthereumExplorer@0.1.0 prestart /opt/explorer
  3. > npm install
  4. npm WARN lifecycle EthereumExplorer@0.1.0~postinstall: cannot run in wd %s %s (wd=%s) EthereumExplorer@0.1.0 bower install /opt/explorer
  5. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.3 (node_modules/fsevents):
  6. npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
  7. up to date in 5.969s
  8. > EthereumExplorer@0.1.0 start /opt/explorer
  9. > http-server ./app -a 192.168.172.201 -p 8000 -c-1
  10. Starting up http-server, serving ./app on port: 8000
  11. Hit CTRL-C to stop the server

在浏览器中查看

在浏览器搜索栏中输入 http://192.168.172.201:8000/, 如下图所示

(注:目前客户端所在的主机需要才能下载googleapis(https://ajax.googleapis.com/ajax/libs) 在线网站中的依赖库,否则将不会显示区块信息。)

在浏览器中查看区块和交易

浏览器中将显示区块信息(从最新的区块493先列出);同时可以看到区块486中有一个交易。如下图所示:

查看区块详情

点击上图区块数字486所在的超链接,可以查看区块详情。如下图所示:

查看交易详情

点击上图绿色箭头所示的交易HASH,可以查看交易详情。如下图所示:
(注:由于该交易只是确认智能合约的部署,所以所看到的转账的金额为0EtH)

总结
本浏览器代码只是在浏览器中简单展示区块链的区块和交易信息,仅仅提供参考。大家如果有需求,可以进一步修改完善区块链浏览器的功能以及布局设计。

版权声明:B链网原创,严禁修改。转载请注明作者和原文链接

作者:雨后的蚊子

原文链接: http://www.360bchain.com/article/156.html

你可能感兴趣的:(区块链)