Crate pinata_sdk
source · [−]Expand description
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
Pin metadata struct to update metadata of pinned items.
Represents a PinPolicy linked to a particular ipfs pinned hash
Request object to pin a file
Request object to pin hash of an already existing IPFS hash to pinata.
Represents response of a pinByHash request.
Request object to pin json
Pin Job Record
Represents a list of pin job records for a set of filters.
Filter parameters for fetching PinJobs
Builder for PinJobsFilter
.
Result of request to get pinList
Options to filter your pin list based on a number of different options
Builder for PinListFilter
.
A pinned item gotten from get PinList request
RegionPolicy active on the PinListItem
Pin metadata returns from PinList query
Pin metadata stored along with files pinned.
Used to add additional options when pinning by hash
Pinata Pin Policy Regions
API struct. Exposes functions to interact with the Pinata API
Represents a PinnedObject
Region and desired replication for that region
Results of a call to get total users pinned data
Enums
All possible error returned from this SDK defined as variants of this enum.
Status of Jobs
Possible MetadaValues
Error type for PinJobsFilterBuilder
Error type for PinListFilterBuilder
Status used with PinListFilterBuilder to filter on pin list results.
All the currently supported regions on Pinata
Sort Direction
Type Definitions
alias type for HashMap<String, MetadataValue>