IPFS Consortium proxy
This IPFS consortium tool allows you to jointly host IPFS data in a with a group of other IPFS users ( called a consortium ).
The Proxy script watches a consortium smart-contract and pins/unpins IPFS data on your local IPFS server according to the Events that flow through the contract, and other contracts that can be added by members of the same consortium.
npm install ipfsconsortiumproxy
Option 1 : Environment variables
You can set a number of environment variables to configure the script:
IPFSAPIHOST=localhost IPFSAPIPORT=5001 WEB3HOSTWS="ws://localhost:8546" CONTRACTADDRESS="0x7433c7c768be4025ab791fb7b2942c3d9e309f3e" STARTBLOCK=4090116
Option 2 : .ENV file
Check / modify the settings in the enclosed .env-dist file
By default the IPFS API is assumed to be on
5001 using the HTTP protocol
The Ethereum node connects through a websocket on
Option 3 : command line parameters
ipfsconsortiumproxy \ --ipfsapihost localhost \ --ipfsapiport 5001 \ --web3hostws "ws://localhost:8546" \ --contractaddress '0xf5758D7450a6E7076d99db583f037B47b5135744' \ --startblock 5450081 \
ipfsconsortiumproxy -h for more info about the available parameters.
ipfsconsortiumproxy to start it up.
How does a consortium work ?
A consortium is managed by a smart contract. A few example consortium contracts are deployed here
0xf5758D7450a6E7076d99db583f037B47b5135744( startblock 5450081 )
0x3ef882ffcE8fC40f6Ca473f29AC16dE8a60419BB( startblock 1846107 )
The IPFS Solidity code can be found here : https://github.com/ipfsconsortium/IPFSConsortiumContracts/tree/master/contracts
How can I create my own consortium ?
- Go to the IPFSConsortium chat on Riot ( see below ) and ask for help
- OR: Deploy your own version of the contract, and start your own consortium
- OR: Join an existing consortium - talk to people in our Riot channel
How can I help support the IPFS consortium ?
Running an IPFS node
Setup a local IPFS node + Ethereum node , install the script and start listening to one or more IPFS consortium contracts
Contributing to the development
We use ZenHub as a project management tool for this project.
- Install the ZenHub chrome plugin ( https://chrome.google.com/webstore/detail/zenhub-for-github/ogcgkffhplmphkaahpmffcafajaocjbd )
- visit the project board : ipfsconsortium/pm#2 (comment)
- check the
If you don't want to install this plugin , just check the issues on the project
Get in touch
- IPFSConsortium chat on Riot: https://riot.im/app/#/room/#ipfsconsortium:matrix.org