以太坊规定了每个节点需要实现的JSON RPC应用开发接口,如果希望使用PHP开发一个以太坊区块链 上的去中心化应用(DApp),首先要解决的问题就是如何使用PHP调用以太坊JSON RPC接口:
如果你希望将网站快速接入以太坊,例如支持以太币支付,或者发行自己的代币,那么这个 Php以太坊开发详解课程提供了最佳的学习路径。
虽然接口规范并没有对传输层进行约定,但大多数以太坊节点软件都实现了对HTTP协议的支持。 因此我们可以使用Php的HTTP开发包来进行调用。 例如,下面的代码使用guzzle这个http开发包来获取以太坊节点旳版本信息:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?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的开发过程中,理解这些开源代码的实现原理就至关重要,而且往往需要综合利用多方面 的代码资源才能解决问题。