sonofliberty / php-electron-cash-slp-api
PHP 对 Electron Cash SLP JSONRPC-API 的封装
1.7.2
2020-05-13 09:36 UTC
Requires
README
php-electrum-api - Electrum 库
Licence: GPL-3.0
Author: Pascal Krason <p.krason@padr.io>
Language: PHP 5.6-7.1
请注意,这个库尚未完成,但可用于生产环境。到目前为止,我只实现了最常用的API调用。如果您认为遗漏了什么,请创建一个问题或分支项目。
设置 Electrum
首先您需要设置一个新的 Electrum 钱包。根据您的操作系统在 Electrum 下载页面 上的说明进行操作。安装成功后,您需要通过输入
electrum setconfig rpcport 7777
electrum setconfig rpcuser "username"
electrum setconfig rpcpassword "password"
然后我们可以创建一个默认钱包,别忘了记下您生成的种子,如果将来需要恢复它,这是必要的
electrum create
现在我们可以继续以守护进程模式启动 Electrum
electrum daemon start
由于一些新版本 Electrum 要求您在启动时手动加载钱包
electrum daemon load_wallet
要求
在 PHP 方面没有太多要求,您只需要至少 PHP 5.6 和安装了 curl 扩展。然后您可以通过 Composer 来安装它,Composer 将为您完成其他所有事情。
安装
首先您需要安装 Composer,完成后您可以继续操作
composer require padrio/php-electrum-api
然后您可以简单地包含自动加载器并开始使用这个库
// Include composer autoloader require_once 'vendor/autoloader.php';
示例
基本示例
一个非常基础的用法示例。每个 API 调用都有自己的请求对象。您只需创建一个并执行它。
$method = new \Electrum\Request\Method\Version(); try { $response = $method->execute(); } catch(\Exception $exception) { die($exception->getMessage()); } $response->getVersion();
自定义客户端配置
每个请求/方法都接受一个 Electrum\Client
实例作为参数,该参数替换默认实例。自定义实例如果需要设置自定义配置参数,如不同的主机名或端口,可能很有用。
$client = new \Electrum\Client('http://127.0.0.1', 7777, 0, 'username', 'password'); $method = new \Electrum\Request\Method\Version($client); try { $response = $method->execute(); } catch (\Exception $exception) { die($exception->getMessage()); } $response->getVersion();
高级异常处理
处理异常很容易。您可以捕获两种类型的异常,这表示它是请求还是响应错误。
$method = new \Electrum\Request\Method\Version(); try { $response = $method->execute(); } catch (\Electrum\Request\Exception\BadRequestException $exception) { die(sprintf( 'Failed to send request: %s', $exception->getMessage() )); } catch(\Electrum\Response\Exception\BadResponseException $exception) { die(sprintf( 'Electrum-Client failed to respond correctly: %s', $exception->getMessage() )); }