Flubber provides a language-agnostic API for creating a peer-peer authenticated messaging and data storage fabric using libp2p and IPFS. Flubber embeds an IPFS node and runs as a REST and WebSocket server and provides a simple-to-use API for the following tasks
The goal of Flubber is to make it easy for developers across all languages and platforms to use the peer-peer communication abilities of libp2p and IPFS in their own apps and services. Flubber can be used to to add peer-peer communication to apps apps or as a low-level service API for building enterprise or commercial peer-peer communication and data storage services, without having to wrangle with integration of the native libp2p and IPFS libraries or building out a server around the Kubo RPC API.
Building
Requires Go 1.19+
Clone the repo: git clone https://github.com/allisterb/flubber.git
Run go build . in the repo directory
Running
Requirements
ENS domain name - you node will run under this identity
Run flubber node init in the repo directory to create the Flubber node configuration file at $HOME/.flubber/node.json or %USERPROFILE%\.flubber\node.json. This file will contain the IPFS identity the node will run under.
In the ENS domain name you want to use with Flubber add a text record called ipfsKey with the IPFS public key from your node configuration:
Set the Did field in your node configurations to your ENS domain name
Set the Infura and Pinata API and secret key fields in your node configuration.