Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

PHP调用以太坊接口

西门幻雪雪vj
105 0 0
以太坊规定了每个节点需要实现的JSON RPC应用开发接口,如果希望使用PHP开发一个以太坊区块链上的去中心化应用(DApp),首先要解决的问题就是如何使用PHP调用以太坊JSON RPC接口:# @7 x4 }3 }% G0 {

* f& F: g3 K# H4 n9 o; n! E5 A6 i如果你希望将网站快速接入以太坊,例如支持以太币支付,或者发行自己的代币,那么这个PHP以太坊开发详解课程提供了最佳的学习路径。
- p) t1 y3 E2 |5 }7 s$ l/ v1 [4 [( X6 x9 j6 W) M# m  ]
虽然接口规范并没有对传输层进行约定,但大多数以太坊节点软件都实现了对HTTP协议的支持。
/ z& M0 r& h0 H+ e因此我们可以使用Php的HTTP开发包来进行调用。例如,下面的代码使用guzzle这个http开发包来获取以太坊节点旳版本信息:7 n1 u* [8 i" V- J

4 a- T& u, }6 G* f
  1. [
    4 w+ m3 ~; t7 k8 F6 W4 L$ i3 t4 U1 A
  2.     'jsonrpc' => '2.0',9 }+ r5 m- M4 E# M# `. K4 g
  3.     'method' => 'web3_clientVersion',
    7 \& |" K2 v# Z- F* y- Y% B  E
  4.     'params' => [],
    6 x, ]$ B& g0 J4 q( r
  5.     'id' => time()
    6 G* [+ H' v8 ~- L$ I- [
  6.   ]) A* _8 O8 f  u) W* C
  7. ];. j, a; @; b/ i% O
  8. $rsp = $client->post('http://localhost:8545',$opts);
    ' @( e' y- Q0 D9 W* J4 J
  9. echo $rsp->getBody() . PHP_EOL;
复制代码

# C3 \2 d0 ?% Y' P& L9 f
8 i. B9 `' k; [& w! W当然你也可以借助于一些开源的封装,不过在php社区中,目前还缺乏得到统一认可的、相对比较成熟的以太坊开发包,因此在DApp的开发过程中,理解这些开源代码的实现原理就至关重要,而且往往需要综合利用多方面的代码资源才能解决问题。$ t7 J% _! v' r& ^- g
# q" F( k  _8 Y. o! g! c
8 B( T6 T0 x: k1 p
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

西门幻雪雪vj 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10