Become a Decentralized Storage Provider with RIF Pinning Services | Hacker Noon


RSK Hacker Noon profile picture

Smart Contract Platform On Top of Bitcoin

By Artem Brazhnikov, Product Owner & Tech Lead at IOV Labs.

Decentralized Sharing Economy

By bringing together service providers and consumers together in a marketplace, and by using decentralized technologies, it’s possible to create a decentralized sharing economy.  Providers can list their offerings and connect with potential users for a variety of decentralized services thus creating a p2p (peer-to-peer) marketplace. One of the most in-demand services on the market is a decentralized file storage service.

Decentralization in the provider/consumer economy eliminates the possibility of a centralized provider seeking to monopolize or censor a given service. It allows providers to list their service offers and makes it easy for customers to find them and engage in service agreements.

As a provider you are renting decentralized storage to consumers via Storage Pinning Services. 

To offer Storage Pinning Services, a provider needs to have the required technical skills and capabilities. This includes basic operating system administration skills and some domain knowledge of decentralized technologies. 

Here is how you can become a storage pinning provider.

Creating new Offer

1. Go to the Marketplace Storage Sell page and start the creation process: https://mainnet.marketplace.rifcomputing.net/storage/sell. You will see that your RSK address is not registered as a Storage provider yet.

That means you need to get whitelisted. Please submit the whitelisting request here: https://docs.google.com/forms/d/e/1FAIpQLSeun2pF5wZUY8Xu4Teq2ZDFG3UoaaUBLjoJt-1MwiE2c5esnw/viewform

2. While your request is being processed, you need to install the Storage Pinner application and generate a Peer ID. On the same page, click the ‘Get Peer ID’ link and follow the instructions.

(Note: make sure your address/Offer ID is lower case)

3. The URL may be displayed depending on the config which points to Marketplace and has the Peer ID as a parameter. Otherwise, navigate to the URL where you started: https://mainnet.marketplace.rifcomputing.net/storage/sell and copy-paste the Peer ID generated in the previous step.

4. On that page, there is a form to fill all remaining things needed to create Offer, like capacity offered and billing plans.

5. Finally, click List Storage, sign the transaction, and wait until it’s confirmed. The Offer is created and it is displayed to the user.

6. Now you are ready to start the rif-pinning daemon and an IPFS node. To run an IPFS node, please refer to this documentation: https://docs.ipfs.io/how-to/command-line-quick-start/.

7. To run the RIF Pinner with default configurations, execute the following in the terminal:

rif-pinning daemon --network mainnet

or

rif-pinning daemon --network testnet

This command starts listening for new Agreements, and connects to IPFS. By default, it expects the IPFS node to run on port 5001. If you want to customize rif-pinner daemon behaviour, execute:

8. To perform any other tasks with the rif-pinner:

rif-pinning help Application for providing your storage space to other to use in exchange of RIF Tokens VERSION @rsksmart/rif-storage-pinning/0.2.2 linux-x64 node-v14.16.1 USAGE $ rif-pinning [COMMAND] COMMANDS agreements Agreements info cleanup Cleanup pinner files daemon Run pinning service db-migration DB migration help display help for rif-pinning init Initialize Pinner service dependencies

Funds payout

Providers can be paid only with funds that were already spent on running the Agreement. The Contract calculates the amount available to pay to the Provider.

1. Visit the Marketplace and review your active Offers

2. Select which Offers to payout.

3. Through the UI, create a transaction that requests this payout.

4. If the Agreement does not have any more funds to run; it is terminated, the space utilized by the Agreement is made available for others to be rented and any remaining funds returned to the Consumer.

Offer termination

The Provider can decide to terminate an Offer. The active Agreements will continue to run until they run out of funds, but Consumers can not deposit new funds to the Agreements. Provider needs to be aware that the termination process can take quite a while.

1. Visit the Marketplace and check your Offers.

2. Review and estimate until the Agreements become active.

3. Submit and create a termination transaction.

RIF Storage services and use cases

RIF Storage is a censorship resistant, permissionless and decentralized storage protocol. It provides a unified interface, making it easy to connect to the IPFS decentralized storage network, and in the future to other networks as well. The following use cases are possible:

1. Direct Persistent Storage (Pinning)

  • Secure storage persistence for users.

2. Public gateways listing

  • Provide public access for users to download/upload data to decentralized networks through their own infrastructure.

3. Indirect Persistent Storage

  • Storers provide a service where they guarantee files will be available in a decentralized storage solution during the required time.

4. Censorship-resistant publishing

  • Provide publishing services onto decentralized censorship resistant storage platforms mainly oriented to journalists, newspapers, bloggers, that want to reach audiences in countries that apply restrictive measures on which content can be consumed or accessed on traditional websites.

5. Streaming Services

  • Incentivized storage and content distribution of popular data. Special use case of the Pinning service for short term highly consumed information.

Conclusion

The RIF Storage Pinning Services integrated into the sharing economy creates a very powerful use case to bring decentralized technologies closer to mass adoption. It creates a fair transparent censorship-resistant infrastructure and the foundation to build more use cases based on decentralized storage technologies. 

Find more support on the RSK DevPortal: developers.rsk.co/rif/marketplace/guide/getting-started/

Do you have further questions? 

Please contact us through our open Slack for technical questions and support. 

You can also reach out with any feedback you would like to share with us through our social media channels and forums:

Join Hacker Noon

Create your free account to unlock your custom reading experience.