使用XRPL增压您的PHP应用程序
#网络开发人员 #编程 #php #xrpl

XRP Ledger(XRPL)是由全球开发人员社区领导的分散的公共区块链。本文将展示如何在您的 php8 应用程序中实现XRPL communication

先决条件

要开始,您需要了解如何安装composer软件包。我们目前将不涵盖基本的PHP安装和环境设置。

我们将在本文中使用php命令在下面运行脚本。

对于本教程,我们假设您有:

  • PHP和终端的基本知识
  • composer安装在您的机器上
  • php^8.1安装在您的机器上

项目设置

包括XRPL API package

composer require xrplwin/xrpl

index.php
要运行示例应用程序创建index.php并在终端运行,请检查所有内容是否有效。

<?php
require __DIR__.'/vendor/autoload.php';

echo 'Hello world';

在终端运行:

php ./index.php

应该输出:

Hello world

现在乐趣开始了!

XRPL客户端设置

index.php

到Init XRPL客户端添加行以下。如果您想更改端点,请参考documentation

<?php
require __DIR__.'/vendor/autoload.php';

$client = new \XRPLWin\XRPL\Client([]);

准备XRPL方法

index.php(part)

用参数准备XRPL API方法(see docs)。在此示例中,我们将尝试运行account_info查询described here

...

$account_info = $client->api('account_info')->params([
  'account' => 'rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn',
  'strict' => true,
  'ledger_index' => 'current',
  'queue' => true
]);

将请求发送到XRPLEDGER

index.php(part)

现在,当我们准备XRPL方法时,是时候将请求实际发送到XRPL并获得结果了。在catch处理错误中,例如:机器没有Internet连接,XRPL端点是离线的,XRPL端点返回了非200或503 HTTP状态代码。

...

# Send request to Ledger
try {
  $account_info->send();
} catch (\XRPLWin\XRPL\Exceptions\XWException $e) {
  // Handle errors
  throw $e;
}

检查响应是否成功并获得结果

index.php(part)

...

if(!$account_info->isSuccess()) {
  //XRPL response is returned but field result.status
  //did not return 'success', we will print returned error message
  echo $account_info->result()->result->error_message;
  return;
}

//Everything OK
$result = $account_info->finalResult();
print_r($result);

应该输出:

stdClass Object
(
    [Account] => rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn
    [Balance] => 59759978
    [Flags] => 1048576
    [LedgerEntryType] => AccountRoot
    [MessageKey] => 0200000000000000000000000038901D3A772963CF12FF7C0E010FE350B6CCC45D 
    [OwnerCount] => 0
    [PreviousTxnID] => 8A5E55F36D8131A322F2206EAE7DD29C36F7CFFECB59B9CB6C7B478B88AC13F3
    [PreviousTxnLgrSeq] => 78523455
    [RegularKey] => rhLkGGNZdjSpnHJw4XAFw1Jy7PD8TqxoET
    [Sequence] => 192221
    [index] => 92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F        
)

完整index.php

<?php
require __DIR__.'/vendor/autoload.php';

$client = new \XRPLWin\XRPL\Client([]);

$account_info = $client->api('account_info')->params([
  'account' => 'rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn',
  'strict' => true,
  'ledger_index' => 'current',
  'queue' => true
]);

# Send request to Ledger
try {
  $account_info->send();
} catch (\XRPLWin\XRPL\Exceptions\XWException $e) {
  // Handle errors
  throw $e;
}


if(!$account_info->isSuccess()) {
  //XRPL response is returned but field result.status
  //did not return 'success', we will print returned error message
  echo $account_info->result()->result->error_message;
  return;
}

//Everything OK
$result = $account_info->finalResult();
print_r($result);

结论

使用几行代码,您已成功查询XRPL JSON-RPC端点并提取结果。使用XRPLWin/XRPL API,您可以查询任何可用的XRPL方法,获取结果并在PHP应用中使用它们。

为了找出该API提供的高级功能,例如承诺,异步请求,分页,冷却速率限制,端点更改,在Github project中阅读更多。

您喜欢本教程吗?在Github上给我们ð!


Star on Github | Follow on Twitter