Home - wcgcyx/fcr GitHub Wiki

Welcome to the FCR wiki!

What is FCR?

FCR is a client to participate in an FCR network that can be viewed as a form of the filecoin secondary retrieval market. If you are not familiar with the concept of retrieval market, visit retrieval market official website.

There are three fundemental roles in an FCR network:

  1. Retrieval provider: Node that provides content to the network for paid retrieval.

  2. Payment provider: Node that provides proxy payment to a given recipient for surcharge.

  3. Retreival client: Node that retrieves a content from a retrieval provider with direct payment or indirect payment through payment providers.

Each FCR node can be one or a mixed of multiple of these roles.

Install and Run

Currently, you can only install FCR by building from source. To install and run FCR, check installation guide.

Node operation

To learn how to operate a FCR node, check operation section for instructions on how to operate an FCR node with different roles and here for documentation on CLI.

Build application on top of FCR network

If you are interested in building an application on top of FCR network. A good example is a dencentralised video sharing platorm. A demo of such system can be viewed here and the source code of this example can be found here.

Traditionally, it is expensive to host your own video sharing platform as:

  1. You need to have a large amount of storage to store videos uploaded by the users.

  2. You need to have a large network bandwidth to serve the videos to the users.

However, using FCR, it is possible that:

  1. Creators upload videos to retrieval providers.

  2. You only need to serve video IDs to the user.

  3. User will be able to stream videos using FCR as the retrieval client.

Currency

You will see the term currencyID appears in lot of places in FCR because FCR is designed to support multiple currency.

However, FCR network currently runs only on filecoin calibration network with the currency ID be 1.

Key type

You will also see the term key type or sig type or address type appears in a lot of places in FCR because FCR is designed to support multiple key types.

However, FCR currently only supports SECP256K1 with the key type to be 1.

Game theory analysis

I did a game theory analysis on the payment channel and figured a few potential improvements we can make to the existing payment channel. If you are interested, check here.

Support

Feel free to open an issue. Otherwise if you have questions or wish to discuss, you can join the discord channel.

How does FCR work?

If you are interested in how exactly does FCR work, feel free to check the protocol section for a walkthrough.