1. 开发包概述
EosTool的目的是消除使用PHP开发EOS区块链应用的痛苦,例如:
- 通过Nodeos和Keosd的RPC接口调用其功能
- 离线生成EOS格式的私钥和公钥
- 使用本地私钥生成符合EOS要求的交易签名
- 将交易对象序列化为Nodeos要求的packed_trx格式
可以认为EosTool是PHP版本的eosjs,利用它可以完整地实现EOS官方客户端Cleos的功能, 也可以很方便地在PHP应用中增加对EOS区块链的支持能力,极大地提高开发效率。
有兴趣的朋友也可以直接访问这里下载:EOS区块链PHP开发包
EosTool运行在**Php 7.1+**环境下,当前版本1.0.0,主要代码文件清单如下:
代码文件 | 说明 |
---|---|
eostool/src/client/NodeClient.php | 节点软件nodeos的rpc接口封装类 |
eostool/src/client/WalletClient.php | 钱包软件keosd的rpc接口封装类 |
eostool/src/client/RpcOutput.php | RPC返回结果封装类 |
eostool/src/Crypto/PrivateKey.php | EOS私钥类 |
eostool/src/Crypto/PublicKey.php | EOS公钥类 |
eostool/src/Crypto/Signature.php | EOS签名类 |
eostool/src/Serializer/AbiType.php | EOS的ABI类型封装类 |
eostool/src/Serializer/AbiTypeFactory.php | ABI类型工厂类 |
eostool/src/Serializer/SerialBuffer.php | 序列化缓冲区实现类 |
eostool/src/Serializer/Serializer.php | 序列化器实现类 |
eostool/src/Signer/Signer.php | 签名器接口 |
eostool/src/Signer/KeosdSigner.php | Keosd签名器实现类 |
eostool/src/Signer/LocalSigner.php | 本地离线签名器实现接口 |
eostool/src/Contract.php | 合约类 |
eostool/src/EosTool.php | 开发包入口类 |
eostool/tests | 单元测试用例目录 |
eostool/phpunit.xml | 单元测试配置文件 |
eostool/vendor | 第三方依赖包 |
eostool/composer.json | composer配置文件 |
2. 访问节点服务器
使用NodeClient类访问nodeos的rpc接口。例如,下面的代码访问本机运行的 Nodeos节点的chain
插件的get_info
接口:
use EosTool\Client\NodeClient;
$nc = new NodeClient();
$ret = $nc->chain->getInfo();
if($ret->hasError()