Php以太坊开发详解

以太坊规定了每个节点需要实现的JSON RPC应用开发接口,如果希望使用PHP开发一个以太坊区块链 上的去中心化应用(DApp),首先要解决的问题就是如何使用PHP调用以太坊JSON RPC接口

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的开发过程中,理解这些开源代码的实现原理就至关重要,而且往往需要综合利用多方面 的代码资源才能解决问题。