antikode / pinata-cloud
用于 Pinata API 的 PHP 包
dev-develop
2022-08-01 07:39 UTC
Requires
- guzzlehttp/guzzle: ^7.4
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');