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


    写在前面:

        当然,读者若要实践,那么电脑上必须已经搭建好了geth,并且命令“geth version”能显示版本信息;针对以太坊各个链(私链,公链,测试链)都可以用该篇文章来搭建区块链浏览器,且步骤几乎一模一样,若有疑惑,或者遇到问题,请看文末笔者给出的邮箱地址,欢迎一起探讨学习。

    笔者搭建环境:ubuntu16 + npm、nodejs(安装系统自带版本)

     一、下载eth区块链浏览器源码

    git clone https://github.com/etherparty/explorer

    二、下载bower

    # 首先需要进入到你刚刚下载explorer的目录
    cd 下载explorer的目录(一般就是 cd explorer)
    
    # 用 npm 安装 bower
    npm install -g bower -y

    三、初始化bower 

    # 初始化 bower
    bower init
    # 注1问:命令报错 /usr/bin/env:"node" 没有那个文件或目录
    # 注1解:sudo ln -s /usr/bin/nodejs /usr/bin/node
    # 注2问:命令报错 bower esudo cannot be run with sudo
    # 注2解:bower init --allow-root

    在命令行一直回车,下一步即可。

    四、bower 安装

    bower install --allow-root
    bower install angular --save-dev  --allow-root

    上述两句命令笔者未遇到任何错误。

    选择1,继续完成安装

    到这里,bower工具就已经安装成功了。

    五、启动geth节点

    笔者是在私链上搭建,所以与各位读者在命令上存在一些微小的差别,命令有差异的地方,笔者会标红

    geth --networkid 19303 --nodiscover --datadir "/root/eth_sync/private-chain/" --rpc --rpcapi "db,net,eth,web3,personal" --port 61916 --rpcport 8545 --rpccorsdomain '*' console

    geth --networkid 19303 --nodiscover --datadir "/root/eth_sync/private-chain/" --rpc --rpcapi "db,net,eth,web3,personal" --port 61916 --rpcport 8545 --rpccorsdomain '*' console

    这里读者能正常启动geth节点就行,不需要其他任何操作。

    六、启动npm

    # 在下载的explorer目录下执行
    npm start

    启动的开始会有很多的 WARN 和 ERR,这个不用管,让他自己跑

    过不了一会儿就会恢复正常,

     目前为止,基本上就已经搭建完成了,在浏览器输入“localhost:8000”即可访问你搭建的区块链浏览器,如下图

    七、区块数据不显示的处理方式

    笔者可能会感到迷惑,为什么不显示区块数据呢,难道是节点没连接上?并不是,事实是该源码需要的js库文件是访问的ajax.googleapis.com,如果你没有和(fan)谐(qiang)软件,就不能显示区块数据。

    笔者给出以下解决方案:

    1. 在项目中查找使用“ajax.googleapis.com”的地方,利用sublime提供的搜索功能,如下图
    2. 和(fan)谐(qiang)下载这两个文件的源码
      注:若没有fq资源,亦可以在网上找这两个文件的源码,应该都大同小异
    3. 把下载的文件放到 explorer-masterapp 目录下
    4. 修改 script 引用的 src 路径

    此刻读者只需要刷新一下浏览器页面,大功告成。

    1-7步,只能在本地访问。

    八、让局域网内的其它主机也能访问

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

    root@cc-virtual-machine:~# cd explorer
    root@cc-virtual-machine:~/explorer# vim app/app.js
    将var eth_node_url = 'http://localhost:8545'; 修改为 var eth_node_url = 'http://远程或本地以太坊节点ip:8545';

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

    root@cc-virtual-machine:~# cd explorer
    root@cc-virtual-machine:~/explorer# vim ./package.json
    把"start": "http-server ./app -a localhost -p 8000 -c-1", 改为"start": "http-server ./app -a 本地ip -p 8000
  • 相关阅读:
    Perl正则表达式
    Apache + Perl + FastCGI安装于配置
    FastCGI高级指南
    CentOs 设置静态IP 方法
    Xtrabackup安装及使用
    在Windows环境中使用版本管理工具Git
    DBI 数据库模块剖析:Perl DBI 数据库通讯模块规范,工作原理和实例
    CentOS5.2+apache2+mod_perl2 安装方法
    Premature end of script headers 的原因
    Mysql5.5.3 主从同步不支持masterhost问题的解决办法
  • 原文地址:https://www.cnblogs.com/0daybug/p/14083848.html
Copyright © 2020-2023  润新知