quasark/stellar-crawler

Stellar网络的只读API

dev-master 2023-05-26 08:38 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:20:47 UTC


README

这是一个简单的Stellar网络只读PHP API。

依赖项

此库没有依赖项。

安装

安装选项1:Phar

适用场景:快速开发或小型项目 StellarCrawler提供了一个包含整个库的PHP存档文件。只需下载此文件并在您的代码中包含它。

<?php

// Point to where you downloaded the phar
include('./StellarCrawler.phar');
 
// And you're ready to go!
$publicKey = 'GXXXXXXX123456789XXX';
$isPublicNetwork = true;
$crawler = StellarCrawler::newInstance($publicKey, $isPublicNetwork);
...

安装选项2:Composer

适用场景:已经支持Composer的项目,这是PEAR的合理替代品。

Composer正开始成为PHP真正的“人民包管理器”。如果您还没有使用它,您应该尝试一下。只需在您的composer.json文件中将quasark/stellar-crawler添加到require,如下所示。完成此操作后,您就可以开始使用Httpful了!Composer提供的自动加载器将处理其余的工作!

{
    "require": {
        "quasark/stellar-crawler": "*"
    }
}

基本用法

实例化

首先,您需要使用newInstance工厂方法实例化您的crawler

$publicKey = 'GXXXXXXX123456789XXX';
$isPublicNetwork = true;
$crawler = StellarCrawler::newInstance($publicKey, $isPublicNetwork);

导航

然后,您可以使用StellarLink对象提供的follow()方法在Stellar网络中进行导航。

$crawler->getlinks()['next']->follow();
var_dump($crawler->getData());
$crawler->followPrev();

还有一些辅助方法可以轻松进行导航。

//Follow the next link
$crawler->followNext();

//Follow the prev link
$crawler->followPrev();

//Go back to the previous page
$crawler->followBack();

检查数据

当您导航到您喜欢的页面时,您可以使用getData()方法检索数据。

var_dump($crawler->getData());

高级用法

使用自定义horizon服务器进行实例化

API提供了另一种实例化StellarCrawler的方法。公共工厂方法newInstanceWithServer允许使用自定义horizon服务器实例化crawler。

$publicKey = 'GXXXXXXX123456789XXX';
$horizonServer = 'https://horizon-testnet.stellar.org';
$crawler = StellarCrawler::newInstanceWithServer($publicKey, $horizonServer);

历史记录

StellarCrawler API提供了一种历史记录机制,以便跟踪您在Stellar网络中的旅程。使用历史记录机制最简单的方法是调用followBack()方法。但您可以通过调用getHistory()检索完整的历史记录。

var_dump($crawler->getHistory());

此方法返回一个表示导航历史的StellarLink数组。

属性描述

StellarCrawler->getlinks()包含一个数组,其中

  • :链接名称(例如:交易)
  • 链接:在导航过程中使用的链接对象

StellarCrawler->getData()包含Stellar网络发送的数据的JSON表示

var_dump($crawler->getData());

StellarCrawler->getHistory()包含表示导航历史的StellarLink数组

StellarCrawler->followNext()如果可用则跟随'next'链接。如果当前页面不包含'next'链接,将抛出StellarCrawlerException。 此方法与使用StellarCrawler->getlinks()['next']->follow();相同

StellarCrawler->followPrev()如果可用则跟随'prev'链接。如果当前页面不包含'prev'链接,将抛出StellarCrawlerException。 此方法与使用StellarCrawler->getlinks()['prev']->follow();相同

StellarCrawler->followBack() 如果存在,则跟随 'back' 链接。如果当前页面不包含 'back' 链接,则抛出 StellarCrawlerException 异常。 此方法与使用 StellarCrawler->getlinks()['back']->follow(); 相同

请参阅示例以获取更多信息。

捐赠

欢迎 XLM 捐赠! : GC6ZIWMTBZZ54VWX6SJH4JEHRHWSE245O2EIW26CMGAS6PM2R4J6V4PH

许可

GNU 通用公共许可证 v3.0