xrplwin / xumm-sdk-php
XRPLabs 的 Xumm 的 PHP SDK。
v1.1.1
2024-01-12 21:30 UTC
Requires
- php: ^8.2.0
- guzzlehttp/guzzle: ^7.4
- monolog/monolog: ^2.3|^3.0
- ratchet/pawl: ^0.4.1
- symfony/property-access: ^6.0
- symfony/serializer: ^6.0
- symfony/yaml: ^6.0|^7.0
- vlucas/phpdotenv: ^5.4
Requires (Dev)
- behat/behat: ^3.10
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: dev-master
- wyrihaximus/async-test-utilities: ^4.2
README
Xumm SDK (PHP)
这是 此仓库 的分支。
要求
- PHP 8.2 或更高版本
- Composer
- 如果您想运行验收测试,则需要 Docker 和 docker compose。
安装
要安装,请运行
composer require xrplwin/xumm-sdk-php
使用方法
首先通过 注册您的应用程序 获取 Xumm API 凭证。
在您的应用程序中初始化 Xumm SDK
// Either pass API credentials through the constructor $sdk = new XummSdk($apiKey, $apiSecret); // Or set them as environment variables. See .env.example for the expected variable names. // Note: the .env file is mostly applicable when contributing to the SDK itself. $sdk = XummSdk();
SDK 对象上的每个调用都将返回一个实现 XummResponse
接口相应的值对象。
创建有效负载
要创建有效负载,将 Xrpl\XummSdkPhp\Payload
实例传递给 XummSdk::createPayload()
。此实例应包含一个关联数组 transactionBody
,并可以包含一些选项和自定义元数据。有关如何构造有效负载的更详细文档,请参阅 API 文档。
一个简单的例子可能如下所示
$sdk->createPayload( new Payload( transactionBody: [ 'TransactionType' => 'Payment', 'Destination' => 'rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT', 'Fee' => '12' ], customMeta: new CustomMeta(identifier: 'my-custom-identifier'), ) );
这将返回一个 Xrpl\XummSdkPhp\Response\CreatePayload\CreatedPayload
实例。
订阅有效负载
创建有效负载后,您可以将返回的 CreatedPayload
传递给 XummSdk::subscribe()
来订阅实时有效负载状态变化。这将返回一个 Xrpl\XummSdkPhp\Subscriber\Subscription
实例。
有效负载状态的变化包括
- 有效负载被 XUMM 应用程序用户(网页)触发
- 有效负载被 XUMM 应用程序用户(在应用程序中)触发
- 有效负载过期更新(以秒为单位剩余时间)
- 通过拒绝解决了有效负载
- 通过接受(签名)解决了有效负载
状态更新可以通过将回调函数作为 XummSdk::subscribe
的第二个参数传递来处理。订阅通过以下方式结束:
- 从回调函数返回非空值,或者
- 显式调用
Subscription::end()
。
其他方法
SDK 还支持 XUMM API 的辅助方法,如 ping
、getCuratedAssets
和 getRates
。同样,这些都将返回相应的 XummResponse
实现。
贡献
有关为该包的开发做出贡献的信息,请参阅 CONTRIBUTING.md。