antikode/pinata-cloud

用于 Pinata API 的 PHP 包

dev-develop 2022-08-01 07:39 UTC

This package is auto-updated.

Last update: 2024-09-29 06:20:28 UTC


README

Laravel 包,用于集成 Pinata API

此包将使 PHP 能够与 https://www.pinata.cloud/ 集成

功能

  • 测试身份验证
  • 固定文件或目录
  • 固定 JSON
  • 通过 CID 固定
  • 列出通过 CID 的固定作业
  • 更新元数据
  • 删除固定

安装

在您的 Laravel 项目中安装此包。

composer require antikode/pinata-cloud

使用方法

发布配置

在初始化包之前,请确保已通过以下代码发布配置文件。

php artisan vendor:publish --tag=pinata-config

环境

您需要在 .env 文件中定义 API。

PINATA_API_KEY=[pinata api key]
PINATA_API_SECRET=[pinata secret key]
PINATA_JWT=[pinata jwt]

固定元数据(JSON)

此函数允许发送者将任何他们希望固定到 Pinata 的 IPFS 节点的 JSON 对象添加和固定。

// Must be array
$metadata = [
    'id' => 1,
    'uuid' => 'd19a449c-ba3d-435b-b8d3-4abb6fee6a69',
    'filename' => '1.jpg',
    'name' => 'Mindblowon #1',
    'description' => ''
];
$keyVal = [
    'key' => 'value'
];
$cidVersion = 1;
$pinata = Pinata::init($cidVersion);
return $pinata->pinJson('Mindblowon #1', $keyVal, $metadata);

通过 CID 固定

有时候,某些内容可能不在您的本地机器或服务器上,但已经在 IPFS 网络上。在这些时候,通过 CID 固定的 API 端点是很有帮助的。CID(或内容标识符)是由 IPFS 协议生成的哈希,代表一个内容。通过使用这个 API 和这个 CID(或哈希),您可以导入内容到您的 Pinata 账户,并在 Pinata 的存储节点上固定它。

$pinata = Pinata::init(0);
$keyVal = [
    'key' => 'value'
];
// The Pin name
$name = 'Moondogz';
// Moondogz Pinata CID
$cid = 'QmRT1o23bkiHTjUrUkL2XDGSj3yV7LFmwShWiBEcsgVLaT';
return $pinata->pinByCID($cid, $name, $keyVal);

列出通过 CID 的固定作业

当使用 pinByCID 函数时,您可能想程序化地检查您请求固定到您账户的 CID 的状态。此端点允许您这样做。

$pinata = Pinata::init(0);
// sort can be ASC or DESC
return $pinata->listPinJob('ASC');