以太坊规定了每个节点需要实现的 JSON RPC 应用开发接口, 如果希望使用 PHP 开发一个以太坊区块链上的去中心化应用 (DApp), 首先要解决的问题就是如何使用 PHP 调用以太坊 JSON RPC 接口 http://cw.hubwiz.com/card/c/ethereum-json-rpc-api/ :
如果你希望将网站快速接入以太坊, 例如支持以太币支付, 或者发行自己的代币, 那么这个
Php 以太坊开发详解 http://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=cto7878 课程提供了最佳的学习路径.
虽然接口规范并没有对传输层进行约定, 但大多数以太坊节点软件都实现了对 HTTP 协议的支持.
因此我们可以使用 Php 的 HTTP 开发包来进行调用. 例如, 下面的代码使用 guzzle 这个 http 开发包来获取以太坊节点旳版本信息:
- <?php
- $client = new GuzzleHttp\Client();
- $opts = [
- 'json' => [
- 'jsonrpc' => '2.0',
- 'method' => 'web3_clientVersion',
- 'params' => [],
- 'id' => time()
- ]
- ];
- $rsp = $client->post('http://localhost:8545',$opts);
- echo $rsp->getBody() . PHP_EOL;
- ?>
当然你也可以借助于一些开源的封装, 不过在 php 社区中, 目前还缺乏得到统一认可的, 相对比较成熟的以太坊开发包, 因此在 DApp 的开发过程中, 理解这些开源代码的实现原理就至关重要, 而且往往需要综合利用多方面的代码资源才能解决问题.
来源: http://www.bubuko.com/infodetail-2667637.html