Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

PHP调用以太坊接口

西门幻雪雪vj
109 0 0
以太坊规定了每个节点需要实现的JSON RPC应用开发接口,如果希望使用PHP开发一个以太坊区块链上的去中心化应用(DApp),首先要解决的问题就是如何使用PHP调用以太坊JSON RPC接口:! t8 Z8 i# e7 N' e

& c% Z) e( q1 @* ~如果你希望将网站快速接入以太坊,例如支持以太币支付,或者发行自己的代币,那么这个PHP以太坊开发详解课程提供了最佳的学习路径。
4 M4 m% N% H9 \4 s- N; n
4 Z- r& m2 y. ~  G# }2 X虽然接口规范并没有对传输层进行约定,但大多数以太坊节点软件都实现了对HTTP协议的支持。* d% V0 E+ `3 B
因此我们可以使用Php的HTTP开发包来进行调用。例如,下面的代码使用guzzle这个http开发包来获取以太坊节点旳版本信息:
4 E2 o% }( G# x" {2 J: |7 k. s: k' R% m
  1. [9 g7 K- J1 z  \
  2.     'jsonrpc' => '2.0',: R2 V* b' @  M$ S8 w& U
  3.     'method' => 'web3_clientVersion',
    - M0 L* O7 L# `/ _/ {& S2 t8 N6 O
  4.     'params' => [],; j5 b- \" b/ V3 o4 Y# y
  5.     'id' => time()
    * N8 j- U* j0 ~; b. ?6 P9 a
  6.   ]% w7 S2 y8 _- q# }; b9 Z
  7. ];# i+ ~. z' f! K& a3 @
  8. $rsp = $client->post('http://localhost:8545',$opts);
    4 p, o$ h9 ?* ~# s4 w" x" V  ]
  9. echo $rsp->getBody() . PHP_EOL;
复制代码

# N9 Q) T8 n6 U% P1 Q" v2 i/ G
5 w6 I# I- G  ~1 r6 @当然你也可以借助于一些开源的封装,不过在php社区中,目前还缺乏得到统一认可的、相对比较成熟的以太坊开发包,因此在DApp的开发过程中,理解这些开源代码的实现原理就至关重要,而且往往需要综合利用多方面的代码资源才能解决问题。
' T* h0 Y) w/ K3 c+ \
0 c: M( m- \3 b+ H! ]7 y. }7 L
% E3 \+ @. ^# F& P; Y
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

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

    0

  • 关注

    0

  • 主题

    10