rootsoft / laravel-ipfs
Laravel package to communicate with IPFS
Installs: 3 913
Dependents: 0
Suggesters: 0
Security: 0
Stars: 29
Watchers: 4
Forks: 9
Open Issues: 4
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.2
- league/flysystem: ^1.1.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18
- orchestra/testbench: ^6.15
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-10-22 03:55:39 UTC
README
laravel-ipfs
The InterPlanetary File System is a peer-to-peer hypermedia protocol designed to make the web faster, safer, and more open. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.
It is an ideal solution for a decentralized storage for blockchain-based content and is optimized for the Algorand blockchain .
Introduction
laravel-ipfs is a simple wrapper around the IPFS HTTP API with an elegant approach to connect your application to the IPFS network so you can easily host and fetch content with just a few lines of code.
Once installed, you can simply connect your application to the network and add content:
$ipfs->add(Utils::tryFopen('ipfs.png', 'r'), 'ipfs.png', ['pin' => true]);
or show IPFS object data:
$contents = $ipfs->cat('QmNZdYefySKuzF37CWjR8vZ319gYToS61r3v3sRwApXgaY');
Getting started
Installation
Note: laravel-ipfs requires PHP 7.4+
You can install the package via composer:
composer require rootsoft/laravel-ipfs
Usage
Create an new IPFSClient
and pass the IP address and port of your local (or pinned) network.
$ipfs = new IPFSClient('127.0.0.1', 5001);
That's it! We can now easily add new content on a decentralized network!
Laravel ❤️
We've added special support to make the life of a Laravel developer even more easy!
Publish the ipfs.php
config file using:
php artisan vendor:publish --provider="Rootsoft\IPFS\IPFSServiceProvider" --tag="config"
Open the config/ipfs.php
file in your project and insert your credentials
return [ 'ipfs' => [ 'base_url' => '127.0.0.1', 'port' => 5001, ], ];
Now you can use the IPFS
Facade!
$fileHash = IPFS::add($collectible->get(), $fileName, ['only-hash' => true])['Hash'];
Methods
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing & Pull Requests
Feel free to send pull requests.
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.