[−][src]Crate pinata_sdk
Initializing the API
use pinata_sdk::PinataApi; let api = PinataApi::new("api_key", "secret_api_key").unwrap(); // test that you can connect to the API: let result = api.test_authentication().await; if let Ok(_) = result { // credentials are correct and other api calls can be made }
Usage
1. Pinning a file
Send a file to pinata for direct pinning to IPFS.
use pinata_sdk::{ApiError, PinataApi, PinByFile}; let api = PinataApi::new("api_key", "secret_api_key").unwrap(); let result = api.pin_file(PinByFile::new("file_or_dir_path")).await; if let Ok(pinned_object) = result { let hash = pinned_object.ipfs_hash; }
If a directory path is used to construct PinByFile
, then pin_file()
will upload all the contents
of the file to be pinned on pinata.
2. Pinning a JSON object
You can send a JSON serializable to pinata for direct pinning to IPFS.
use pinata_sdk::{ApiError, PinataApi, PinByJson}; use std::collections::HashMap; let api = PinataApi::new("api_key", "secret_api_key").unwrap(); // HashMap derives serde::Serialize let mut json_data = HashMap::new(); json_data.insert("name", "user"); let result = api.pin_json(PinByJson::new(json_data)).await; if let Ok(pinned_object) = result { let hash = pinned_object.ipfs_hash; }
3. Unpinning
You can unpin using the PinataApi::unpin()
function by passing in the CID hash of the already
pinned content.
Structs
ChangePinMetadata | Pin metadata struct to update metadata of pinned items. |
HashPinPolicy | Represents a PinPolicy linked to a particular ipfs pinned hash |
PinByFile | Request object to pin a file |
PinByHash | Request object to pin hash of an already existing IPFS hash to pinata. |
PinByHashResult | Represents response of a pinByHash request. |
PinByJson | Request object to pin json |
PinJob | Pin Job Record |
PinJobs | Represents a list of pin job records for a set of filters. |
PinJobsFilter | Filter parameters for fetching PinJobs |
PinJobsFilterBuilder | Builder for |
PinList | Result of request to get pinList |
PinListFilter | Options to filter your pin list based on a number of different options |
PinListFilterBuilder | Builder for |
PinListItem | A pinned item gotten from get PinList request |
PinListItemRegionPolicy | RegionPolicy active on the PinListItem |
PinListMetadata | Pin metadata returns from PinList query |
PinMetadata | Pin metadata stored along with files pinned. |
PinOptions | Used to add additional options when pinning by hash |
PinPolicy | Pinata Pin Policy Regions |
PinataApi | API struct. Exposes functions to interact with the Pinata API |
PinnedObject | Represents a PinnedObject |
RegionPolicy | Region and desired replication for that region |
TotalPinnedData | Results of a call to get total users pinned data |
Enums
ApiError | All possible error returned from this SDK defined as variants of this enum. |
JobStatus | Status of Jobs |
MetadataValue | Possible MetadaValues |
PinListFilterStatus | Status used with PinListFilterBuilder to filter on pin list results. |
Region | All the currently supported regions on Pinata |
SortDirection | Sort Direction |
Type Definitions
MetadataKeyValues | alias type for HashMap<String, MetadataValue> |