# MEMO and MEFS

MEMO is a new-gen blockchain decentralized cloud storage protocol that organizes global edge storage nodes to provide users with safe, reliable and highly available storage services.

MEFS(MEmo File System) is the file storage system for MEMO.

### The following articles will help you learn more.

What is MEMO? &#x20;

&#x20;<mark style="color:blue;">Memoriae — Next Generation of Decentralized Cloud Storage Based on Blockchain</mark>

&#x20;Roles：

&#x20;[<mark style="color:blue;">Build an Autonomous Storage System: Role Design in Memoriae</mark>](https://memolabs.medium.com/build-an-autonomous-storage-system-role-design-in-memoriae-f724c405ddc)

&#x20;[<mark style="color:blue;">Memoriae System Node Matching</mark>](https://memolabs.medium.com/memoriae-system-node-matching-d246fca41009)

Technology：

&#x20;[<mark style="color:blue;">Multilevel Fault-tolerant Mechanism Design for MEMO Decentralized Cloud Storage System</mark>](https://memolabs.medium.com/multilevel-fault-tolerant-mechanism-design-for-memo-decentralized-cloud-storage-system-f3c585eb401d)

[<mark style="color:blue;">MEMO Original Data Recovery Strategy: Risk-Aware Failure Identification (RAFI)</mark>](https://medium.com/memolabs/the-risk-aware-failure-identification-rafi-strategy-of-memo-decentralized-cloud-storage-system-6c5990ec8cb3)

![](/files/KNKQnWEr8CV2fW3WQRhR)

## ❓The Overall Functions

The overall functions that have been implemented for mefs-user,  mefs-keeper, and mefs-provider will also be able to get a more complete experience in the test network Phecda.\
Specifically, it includes:&#x20;

\
**📨  Provider's role contract setting, storage market, revenue display, etc.**

{% content-ref url="/pages/Wy9hN5Ngzzylo4dip0IH" %}
[Start provider in docker](/memo/start-usage/start-provider-in-docker.md)
{% endcontent-ref %}

**📨  User's storage order matching, signing, uploading and downloading functions etc.**

{% content-ref url="/pages/mOo0vw5eqZ1FFCrlhyCN" %}
[Start user in docker](/memo/start-usage/start-user-in-docker.md)
{% endcontent-ref %}

In addition, the optimization of the Keeper exit mechanism is also in progress and will be gradually completed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://memolabs.gitbook.io/memo/introduction/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
