源代码:以太坊PHP离线交易开发包

EthTool开发包适用于希望采用裸交易的PHP以太坊应用开发,主要包含以下特性:

支持裸交易部署/调用合约

内置etherscan和infura支持

keystore生成与读取,兼容geth/parity

采用裸交易的一个好处是开发者不必自己部署以太坊节点 —— 同步区块是很痛苦的过程。使用EthTool构造好裸交易之后,只需要使用第三方(etherscan/infura/…)提供的服务来广播交易即可。

下载地址:

http://sc.hubwiz.com/codebag/eth-php-lib/

EthTool运行在**Php 7.1+**环境下,当前版本1.0.0,主要代码文件清单如下:

2. 使用说明

代码包的主要类如下:

RawTxBuilder: 裸交易构造器

Credential: 账户私钥与交易签名封装

EthApi: 以太坊交易接口封装

KeyStore: V3版本的keystore,兼容geth/parity

裸交易构造

使用RawTxBuilder的静态方法获取一个构造器实例,例如:

裸交易构造器需要绑定一个账户对象,使用方法:

RawTxBuilder目前支持三种裸交易的构造:

普通裸交易,例如以太币转账交易。使用方法获取。

合约部署裸交易,使用方法获取。

合约方法调用裸交易,使用方法获取。

例如,下面的代码生成合约部署裸交易:

裸交易广播

EthApi基类目前定义以下方法,可以根据自己的需要扩充

getTransactionCount

sendRawTransaction

getTransactionReceipt

EthApiEtherscan是基于Etherscan服务的EthApi实现,EthApiWeb3是基于以太坊RPC的EthApi实现。例如,下面的代码使用Etherscan在rinkeby测试链部署前面获得的裸交易:

KeyStore读写

KeyStore类可以读取geth/parity生成的keystore文件,其生成的

keystore文件也可以被geth/parity读取。

使用KeyStore类的静态方法将私钥转化为keystore格式写入指定目录:

使用KeyStore类的静态方法载入指定的keystore文件并解密私钥:

下载地址:

http://sc.hubwiz.com/codebag/eth-php-lib/

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181209G11GAN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券