xrpl / xumm-sdk-php
XRPLabs提供的Xumm PHP SDK。
v1.2.0
2023-09-04 13:03 UTC
Requires
- php: ^8.2.0
- guzzlehttp/guzzle: ^7.4
- monolog/monolog: ^3.0
- ratchet/pawl: ^0.4.1
- symfony/property-access: ^6.0
- symfony/serializer: ^6.0
- symfony/yaml: ^6.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
This package is auto-updated.
Last update: 2024-09-04 15:07:57 UTC
README
Xumm SDK (PHP)
要求
- PHP 8.2 或更高版本
- Composer
- 如果您想运行验收测试,需要Docker和docker compose。
安装
要安装,请运行
composer require xrpl/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 App用户(网页)触发
- 有效负载被XUMM App用户(在应用中)触发
- 有效负载过期更新(剩余时间,以秒为单位)
- 有效负载被拒绝解决
- 有效负载被接受(签名)解决
可以通过将回调函数作为XummSdk::subscribe
的第二个参数传递来处理状态更新。订阅通过以下方式结束:
- 从回调函数返回非空值,或
- 显式调用
Subscription::end()
。
其他方法
SDK还支持XUMM API的辅助方法,例如ping
、getCuratedAssets
和getRates
。同样,这些都将返回相应的XummResponse
实现。
贡献
有关向此包的开发做出贡献的信息,请参阅CONTRIBUTING.md。