pinatapipe
A C++ command-line tool and library for piping files to the Pinata IPFS pinning service. Upload files to IPFS, retrieve content, list pinned files, and delete pins with progress tracking and retry capabilities.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.4%) to scientific vocabulary
Repository
A C++ command-line tool and library for piping files to the Pinata IPFS pinning service. Upload files to IPFS, retrieve content, list pinned files, and delete pins with progress tracking and retry capabilities.
Basic Info
- Host: GitHub
- Owner: genyleap
- License: mit
- Language: C++
- Default Branch: main
- Size: 76.2 KB
Statistics
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
A C++ tool and library for piping files to Pinata's IPFS pinning service. Upload files, retrieve content, list pins, and delete pins with progress tracking and retries.
Features
- Single/batch uploads with metadata and grouping
- Fetch IPFS content by hash
- List/delete pinned files
- Upload progress (speed, ETA)
- Error handling with retries
- Thread-safe CURL ops
- Config via
config.json
Prerequisites
Installation
- Clone:
bash git clone https://github.com/genyleap/pinatapipe.git cd pinatapipe - Install deps:
- Ubuntu:
sudo apt install libcurl4-openssl-dev libjsoncpp-dev - macOS:
brew install curl jsoncpp
- Ubuntu:
- Build with PT:
bash mkdir build && cd build cmake .. -DUSE_JSON=true -DUSE_CURL=true make
Configuration
Add config.json in the working directory:
json
{
"pinataApiKey": "your_pinata_api_key",
"pinataSecret": "your_pinata_secret_api_key"
}
Note: Add config.json to .gitignore.
Usage
bash
./pinatapipe <command> [args] [--verbose]
Commands
- Upload:
./pinatapipe upload <file> [--group <name>] [--metadata '{"key":"value"}'] - Batch:
./pinatapipe batch <file1> <file2> ... [--group <name>] [--metadata '{"key":"value"}'] - Get:
./pinatapipe get <ipfs_hash> - List:
./pinatapipe list [--group <name>] - Delete:
./pinatapipe delete <ipfs_hash> - Options:
--verbose,--group
Examples
bash
./pinatapipe upload file.txt --group mygroup --verbose
./pinatapipe batch img1.jpg img2.png --metadata '{"desc":"pics"}'
./pinatapipe get ipfs://QmHash
Library Usage
```cpp
include "ipfs_client.hpp"
int main() { auto config = Config::load(); if (!config) return 1; IPFSClient client(config); auto result = client.upload({"file.txt"}, Json::Value()); if (result) std::cout << (result)[0] << "\n"; return 0; } ```
Contributing
Fork, branch (feature/yourfeature), commit, push, PR.
License
Acknowledgments
Owner
- Name: The Genyleap ™
- Login: genyleap
- Kind: organization
- Email: info@genyleap.com
- Location: Worldwide
- Website: https://genyleap.com
- Twitter: genyleap
- Repositories: 3
- Profile: https://github.com/genyleap
Revolution of the software leap.
Citation (CITATION.md)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Asadzadeh" given-names: "Kambiz" orcid: "https://orcid.org/0009-0009-2065-3977" title: "PT" version: 1.1.222 date-released: 2023-04-25 url: "https://kambizasadzadeh.com" repository-code: "https://github.com/genyleap/Project-Template"
GitHub Events
Total
- Watch event: 3
- Push event: 2
- Create event: 3
Last Year
- Watch event: 3
- Push event: 2
- Create event: 3
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite