构建 EOS 区块链浏览器 API
文/温国兵
这是「区块链技术指北」的第 34 篇文章。
如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会把你拉入微信群「区块链技术指北」。BTW,李笑来老师也加入了我的知识星球,文末有加入方式。
题图来自: © ChainONE / Original / chainone.xyz
0x00 背景
在上一篇 文章 中笔者讲解了如何将 EOS 链上数据实时异构到 MySQL 数据库。数据既然有了,就要有用武之地。传统互联网获取数据的方式,最底层是数据层,然后有各种各种的 API,API 访问数据,再供前端展示。
本文讲解如何使用开源的 EOSTracke-API 构建区块链浏览器 API。
0x01 部署
EOSTracke-API 使用 PHP 编写,为了能让它正确地运行,我们需要安装 PHP 相关依赖,命令如下:
$ apt-get -y install php7.1 php7.1-common
$ apt-get -y install php7.1-curl php7.1-xml php7.1-zip php7.1-gd php7.1-mysql php7.1-mbstring
$ apt-get -y install php7.1-apcu
$ apt-get -y install php7.1-intl
$ apt-get -y install php7.1-redis
需要注意的是,PHP 需要 7.1 版本,所以按照如上的命令执行即可。
接着安装 PHP comsoer,命令如下:
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
然后安装 EOSTracker-API。
$ git clone https://github.com/EOSEssentials/EOSTracker-API.git
$ cd EOSTracker-API
$ ./composer.phar install
安装过程中会输入如下的几个参数:
- secret,建议随机生成
- env(DB_URL) 输入 'mysql://YOURUSER:YOURPASS@127.0.0.1/YOURDB',其中 YOURUSER 表示连接 EOS 区块链数据库的用户名,YOURPASS 表示连接 EOS 区块链数据库的用户密码,YOURDB 表示 EOS 区块链数据库名字
- env(REDIS_URL),目前暂未实现,推测作者想解决直接访问 MySQL 速度过慢问题
如果命令行交互输入错误,我们可以编辑 app/config/parameters.yml 文件手动修改。
完成之后,运行如下命令启动 Server:
$ nohup php bin/console server:run 0.0.0.0:8000 > api.log 2>&1 &
0x02 测试
浏览器访问 http://xxx.xxx.xxx.xxx:8000 即可访问 API,在 http://xxx.xxx.xxx.xxx:8000/_profiler/ac3944?panel=router 即可看到所有的 router,读者可以访问如下的连接测试 API 是否能够正常读取 MySQL 数据。
当然,可以给 API 配置 HTTPS 域名,参考如下的文章:
- How To Install Nginx on Ubuntu 16.04
- Configuring a Web Server
- How To Secure Nginx with Let's Encrypt on Ubuntu 16.04
0x03 小结
目前有较多的区块链浏览器,具体可以访问由 SuperONE 团队整理的 awesome-eos。EOSTracker 是较早开源的区块链浏览器,后端使用 PHP,前端使用 AngularJS,读者感兴趣可以阅读源码。
「区块链技术指北」同名 知识星球,二维码如下,欢迎加入。BTW,李笑来老师也加入了。
「区块链技术指北」相关资讯渠道:
- 「区块链技术指北」同名知识星球,https://t.xiaomiquan.com/ZRbmaU3
- 官网,https://chainone.xyz
- 官方博客,https://blog.chainone.xyz
- 官方社区,https://bcage.one
- Telegram Channel,https://t.me/BlockchainAge
- Telegram Group,https://t.me/bcage
- Twitter,https://twitter.com/bcageone
- Facebook,https://www.facebook.com/chainone.org
- 新浪微博,https://weibo.com/BlockchainAge
同时,本系列文章会在以下渠道同步更新,欢迎关注:
- 「区块链技术指北」同名微信公众号(微信号:BlockchainAge)
- 个人博客,https://dbarobin.com
- 知乎,https://zhuanlan.zhihu.com/robinwen
- 简书,https://www.jianshu.com/c/a37698a12ba9
- Steemit,https://steemit.com/@robinwen
- Medium,https://medium.com/@robinwan
- 掘金,robinwen@juejin.im
- EOS LIVE,https://eos.live/user/robin
- 币乎,https://bihu.com/people/12109
原创不易,读者可以通过如下途径打赏,虚拟货币、美元、法币均支持。
- BTC: 3QboL2k5HfKjKDrEYtQAKubWCjx9CX7i8f
- ERC20 Token: 0x8907B2ed72A1E2D283c04613536Fac4270C9F0b3
- PayPal: https://www.paypal.me/robinwen
- 微信打赏二维码
–EOF–
Leave 构建 EOS 区块链浏览器 API to:
Read more #eos posts
Best Posts From Robin Wen
We have not curated any of robinwen's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From Robin Wen
- 币安说 Binance Talking | 004 合规稳定币 Binance USD(BUSD)
- 币安说 Binance Talking | 003 币安双合约争霸赛,等你来战
- 币安说 Binance Talking | 002 币安宝,你也可以享有睡后收入
- 币安说 Binance Talking | 001 怎么样在币安开户
- 值得关注的跨链项目
- 匿名货币 2.0 SERO
- 优化 EOS 交易记录查询
- EOS 去中心化交易所
- 个人 Blog 时代真的终结了吗
- EOSIO MySQL 插件 issue 2
- EOSIO MySQL 插件 issue 1
- EOS 钱包浅谈
- EOS 区块链数据实时异构到 MongoDB
- 快速构建 EOS 主网 Fullnode
- 区块链技术指北社区启用新域名 chainon.io
- 构建 EOS 区块链浏览器
- 构建 EOS 区块链浏览器 API
- EOS 区块链数据实时异构到 MySQL
- 区块链太火,小心你的服务器被动挖矿
- 区块链技术指北社区(Chain One Community)规划