本文介绍5个最常用的PHP区块链开发库,适合PHP开发人员在以太坊/比特币等主流区块链的对接、去中心化应用开发、量化交易算法开发等应用场景中选择使用。
CCXT是一个支持PHP/Python/JavaScript的区块链数字加密货币交易开发库,支持超过120个区块链数字加密货币交易所。
CCXT的目标是帮助开发人员、技术性交易者、数据科学家和金融分析师构造交易算法,它可以连接众多的区块链数字加密货币交易所并自动进行交易,可用于数据分析、数据可视化、指标跟踪、量化交易等软件工程领域。
CCXT的主要特性包括:
支持众多的区块链数字货币交易所
完整支持不同交易所的公开和私有API
提供可选的跨交易所的统一API
支持Node/Python/PHP和web浏览器
Web3.php是访问以太坊区块链及生态系统的PHP版本的访问接口,支持原生的ABI解析和智能合约交互。
下面是使用Web3.php查询以太坊区块链的节点版本的PHP代码:
use Web3\Web3;$web3 = new Web3('http://localhost:8545');$web3->clientVersion(function ($err, $version) { if ($err !== null) { // do something return; } if (isset($version)) { echo 'Client version: ' . $version; }});Bitcoin.php是一个几乎完全采用PHP开发的比特币区块链协议实现,其主要特性包括:
支持区块、区块头、merkle区块和布隆过滤器
支持P2SH和隔离见证脚本
可适配的椭圆曲线库,默认使用纯PHP实现的PhpEcc,支持更高效的libsecp256k1
支持比特币交易的构造、解析、签名和验证
支持RFC6979确定性签名
支持BIP32和较早期的electrum确定性密钥算法
支持BIP39和较早期的electrum种子格式
提供用于构造常见类型脚本的工厂类ScriptFacotry
支持到libbitcoinconsensus的绑定
支持到Electrum Stratum Server的绑定
Bitcoin.php中文教程 | Bitcoin.php 官方下载地址
PHPTradingBot是一个基于Laravel实现的模块化的数字加密货币交易机器人平台,可以自由地在主流交易所自动交易。PHPTradingBot的主要特性包括:
技术信号API
浮动止盈/止损
支持bianace
进程后台化,包括下单、价格、技术信号以及可选的交易所socks5代理
提供模块钩子函数,可查看/App/Modules/ProfitClone.php 了解以下钩子的使用方法
onTick()
OnSignalReceived()
beforeSell()
beforeBuy()
AfterSell()
AfterBuy()
ethereum-php是另一个采用PHP封装的以太坊JSON-RPC开发接口,目前仅支持读取以太坊区块链上的信息,暂时还不支持写入区块链,即不支持交易。
下面的php代码使用ethereum-php查询当前的以太坊协议版本:
use Ethereum\Ethereum;try { // Connect to Ganache $eth = new Ethereum('http://127.0.0.1:7545'); // Should return Int 63 echo $eth->eth_protocolVersion()->val();}catch (\Exception $exception) { die ("Unable to connect.");}