bzzhh/tzkt-php-client

自动生成的 Tzkt OpenApi 客户端

v0.2.3 2024-07-08 22:05 UTC

This package is auto-updated.

Last update: 2024-09-08 22:32:38 UTC


README

简介

TzKT 是 Tezos 中最广泛使用的工具,它为您提供了便捷和灵活地访问由其自身索引器处理和索引的 Tezos 区块链数据的途径。您可以通过 REST API 获取所有历史数据,或者通过 WebSocket API 订阅实时数据。TzKT 是由整个 Tezos 社区共同努力打造的,旨在帮助开发者构建更多基于 Tezos 的服务和 dapp。

TzKT 索引器和 API 是 开源的,因此不必担心依赖第三方服务,因为您始终可以克隆、构建并运行它,从而完全控制所有组件。

如果您有任何疑问或功能请求,请随时联系我们。您的反馈非常受重视!

如果您喜欢 TzKT,别忘了在 GitHub 上给它点个赞 👍

开始使用

提供以下两个公共使用的 API 服务

  • 免费 TzKT API,提供免费匿名访问;
  • TzKT Pro,提供付费订阅,包括更高的速率限制、链外数据、扩展支持和商业级 SLA。

您可以在 此处 查找有关不同层级之间差异的更多详细信息。

免费 TzKT API

免费层级的 TzKT API 是开始使用并探索可用 Tezos 数据和 API 功能的最佳方式。它不需要授权,对所有人免费,适用于商业和非商业用途。

注意:需要署名

如果您使用免费层级的 TzKT API,您 必须 在您的网站或应用程序中提及它,通过放置标签 "由 TzKT API 驱动"、"使用 TzKT API 构建" 或 "由 TzKT API 提供数据",并附带指向 tzkt.io 的直接链接。

它适用于以下 Tezos 网络,以下为基本 URL

  • 主网: https://api.tzkt.io/https://api.mainnet.tzkt.io/ (查看文档)
  • Ghostnet: https://api.ghostnet.tzkt.io/ (查看文档)
  • Parisnet: https://api.parisnet.tzkt.io/ (查看文档)

发送请求

要向免费 TzKT API 发送请求,您实际上什么都不需要。只需获取特定网络的基准 URL(例如,Tezos 主网:https://api.tzkt.io),然后附加特定端点的路径(例如,链的头部:/v1/head),就是这样

curl https://api.tzkt.io/v1/head

阅读此文档以探索可用端点、查询参数(注意,如果您点击查询参数,您将看到可用模式,例如 .eq.in 等)和响应模型。如果您有任何问题,请不要犹豫,寻求支持。Tezos 社区一直非常友好!😊

速率限制

请参考https://tzkt.io/api以检查相关速率限制。

如果您超过限制,API将以HTTP 429状态码响应。

TzKT Pro

TzKT Pro旨在用于专业用途,为那些寻求扩展功能、性能、可靠性和企业级SLA的用户。TzKT Pro服务通过付费订阅提供。请参考定价计划以检查可用的层级。

它适用于以下 Tezos 网络,以下为基本 URL

  • 主网:https://pro.tzkt.io/ (查看文档)
  • 测试网:如果您需要TzKT Pro用于测试网,请告知我们

授权

要访问TzKT Pro,您需要使用您的个人API密钥进行请求授权,该密钥在购买订阅后将通过电子邮件发送给您。这可以通过添加查询字符串参数?apikey={your_key}或添加HTTP头apikey: {your_key}来完成。

请注意,您可以在单个订阅中拥有多个API密钥。

请保持您的API密钥私密,不要将其发布在任何地方,也不要将其硬编码,尤其是在公共存储库中。如果您的密钥被泄露,请告诉我们,我们将颁发新的密钥。

请注意,通过HTTP头传递API密钥更安全,因为在HTTPS中头是加密的,而查询字符串不是,因此密钥可能无意中暴露给第三方。

发送请求

通过查询字符串参数传递API密钥的请求

curl https://pro.tzkt.io/v1/head?apikey={your_key}

通过HTTP头传递API密钥的请求

curl https://pro.tzkt.io/v1/head \\
    -H 'apikey: {your_key}'

速率限制

请参考https://tzkt.io/api以检查不同定价计划的相关速率限制。

此外,TzKT Pro还提供额外的HTTP头,以显示允许的限额、可用请求数量和直到配额重置的剩余时间(以秒为单位)。以下是一个示例

RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1

它还会发送关于您每秒和每天的速率限制的一般信息

X-RateLimit-Limit-Second: 50
X-RateLimit-Remaining-Second: 49
X-RateLimit-Limit-Day: 3000000
X-RateLimit-Remaining-Day: 2994953

如果您超过限制,API将以HTTP 429状态码响应。

有关更多信息,请访问https://bakingbad.dev

安装与使用

要求

PHP 7.4及更高版本。也应适用于PHP 8.0。

Composer

要通过Composer安装绑定,请将以下内容添加到composer.json

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

然后运行composer install

手动安装

下载文件并包含autoload.php

<?php
require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');

入门

请遵循安装过程,然后运行以下操作

<?php
require_once(__DIR__ . '/vendor/autoload.php');




$apiInstance = new Bzzhh\Tzkt\Api\AccountsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$id = new \Bzzhh\Tzkt\Model\AccountsGetIdParameter(); // AccountsGetIdParameter | Filters by internal id.
$address = new \Bzzhh\Tzkt\Model\AccountsGetAddressParameter(); // AccountsGetAddressParameter | Filters by address.
$type = new \Bzzhh\Tzkt\Model\AccountsGetTypeParameter(); // AccountsGetTypeParameter | Filters accounts by type (`user`, `delegate`, `contract`, `rollup`, `smart_rollup`, `ghost`).
$kind = new \Bzzhh\Tzkt\Model\AccountsGetKindParameter(); // AccountsGetKindParameter | Filters accounts by contract kind (`delegator_contract` or `smart_contract`)
$delegate = new \Bzzhh\Tzkt\Model\AccountsGetDelegateParameter(); // AccountsGetDelegateParameter | Filters accounts by delegate. Allowed fields for `.eqx` mode: none.
$staked_pseudotokens = new \Bzzhh\Tzkt\Model\AccountsGetStakedPseudotokensParameter(); // AccountsGetStakedPseudotokensParameter | Filters accounts by amount of staked pseudotokens.
$balance = new \Bzzhh\Tzkt\Model\AccountsGetBalanceParameter(); // AccountsGetBalanceParameter | Filters accounts by balance
$staked = new \Bzzhh\Tzkt\Model\AccountsGetStakedParameter(); // AccountsGetStakedParameter | Filters accounts by participation in staking
$last_activity = new \Bzzhh\Tzkt\Model\AccountsGetIdParameter(); // AccountsGetIdParameter | Filters accounts by last activity level (where the account was updated)
$select = new \Bzzhh\Tzkt\Model\AccountsGetSelectParameter(); // AccountsGetSelectParameter | Specify comma-separated list of fields to include into response or leave it undefined to return full object. If you select single field, response will be an array of values in both `.fields` and `.values` modes.
$sort = new \Bzzhh\Tzkt\Model\AccountsGetSortParameter(); // AccountsGetSortParameter | Sorts delegators by specified field. Supported fields: `id` (default), `balance`, `rollupBonds`, `firstActivity`, `lastActivity`, `numTransactions`, `numContracts`.
$offset = new \Bzzhh\Tzkt\Model\AccountsGetOffsetParameter(); // AccountsGetOffsetParameter | Specifies which or how many items should be skipped
$limit = 100; // int | Maximum number of items to return

try {
    $result = $apiInstance->accountsGet($id, $address, $type, $kind, $delegate, $staked_pseudotokens, $balance, $staked, $last_activity, $select, $sort, $offset, $limit);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AccountsApi->accountsGet: ', $e->getMessage(), PHP_EOL;
}

API端点

所有URI相对于https://api.tzkt.io

模型

授权

所有端点都不需要授权。

测试

要运行测试,请使用

composer install
vendor/bin/phpunit

作者

hello@bakingbad.dev

关于此包

此PHP包是由OpenAPI Generator项目自动生成的

  • API版本: 1.14.4
  • 构建包: org.openapitools.codegen.languages.PhpClientCodegen