Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

PHP调用以太坊接口

西门幻雪雪vj
154 0 0
以太坊规定了每个节点需要实现的JSON RPC应用开发接口,如果希望使用PHP开发一个以太坊区块链上的去中心化应用(DApp),首先要解决的问题就是如何使用PHP调用以太坊JSON RPC接口:$ M" H7 }' D& }$ d

1 v! e! g3 X! W: V( m) e7 p: U- e如果你希望将网站快速接入以太坊,例如支持以太币支付,或者发行自己的代币,那么这个PHP以太坊开发详解课程提供了最佳的学习路径。0 o0 `2 i5 p$ k& f8 H1 J% E
2 [; c6 b. C% I( p8 z( f, A9 _0 r) c
虽然接口规范并没有对传输层进行约定,但大多数以太坊节点软件都实现了对HTTP协议的支持。- ~0 s9 }- ?! K8 J4 s$ M; y3 [2 a' n) v
因此我们可以使用Php的HTTP开发包来进行调用。例如,下面的代码使用guzzle这个http开发包来获取以太坊节点旳版本信息:
' \" c0 k/ w) M; \
3 m! q& u3 v0 w0 T7 t
  1. [
    ' q# m: {( b# M( t% E
  2.     'jsonrpc' => '2.0',3 [1 N. t1 G! f
  3.     'method' => 'web3_clientVersion',6 y. @6 w1 V9 a5 T" P3 x: T2 p
  4.     'params' => [],
    6 g" A5 q2 ?" m7 ?' U% o" Z
  5.     'id' => time()
    & C- V6 M: a' ~  \! c
  6.   ]$ d/ f% G4 O$ |0 |: a
  7. ];
    ! D+ Z0 h0 N4 A2 j+ @
  8. $rsp = $client->post('http://localhost:8545',$opts);
    ( V" m) W3 o+ q" T: Q
  9. echo $rsp->getBody() . PHP_EOL;
复制代码
' G# d2 ]) L9 w# C8 A' ~& ]

4 o+ M) S$ `  I" M. r+ _! U2 N) r) w当然你也可以借助于一些开源的封装,不过在php社区中,目前还缺乏得到统一认可的、相对比较成熟的以太坊开发包,因此在DApp的开发过程中,理解这些开源代码的实现原理就至关重要,而且往往需要综合利用多方面的代码资源才能解决问题。
7 B- Q6 u4 N# T
) n/ V" ?8 Q- B6 \* F4 K  V9 g1 Z6 |9 T5 o8 M- @
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

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

    0

  • 关注

    0

  • 主题

    10