An open API service indexing awesome lists of open source software.

https://github.com/eigerco/delia

Web application for proposing and publishing deals with providers on the Polka Storage System Parachain.
https://github.com/eigerco/delia

Last synced: 5 months ago
JSON representation

Web application for proposing and publishing deals with providers on the Polka Storage System Parachain.

Awesome Lists containing this project

README

          

# Delia

> [!WARNING]
> This project is under active development!

The Delia project is a complement to the [Polka Storage](https://github.com/eigerco/polka-storage) project,
being the frontend for file upload to the network's providers.

## Getting Started

### Polkadot Extension

Delia will require you to use the [Polkadot.js browser extension](https://polkadot.js.org/extension/).
For instructions on how to add your own account, refer to the extension documentation:

* https://polkadot.js.org/docs/extension/usage
* https://polkadot.js.org/docs/extension/

### Setting up your balance

Before you create a deal, you need some balance in your market account.
Currently, the (local and internal) testnet provides you with a faucet function that you can find in Delia's landing page.

![](static/faucet/faucet-idle.png)

As you can imagine, once you click the button, 10 tokens will be added to your account's balance.
After clicking, you should see a success message, as below:

![](static/faucet/faucet-success.png)

> [!NOTE]
> The faucet takes a bit of time to finish,
> this is due to waiting for the transaction to be [finalized](https://docs.polkadot.com/polkadot-protocol/architecture/polkadot-chain/pos-consensus/#finality-gadget-grandpa).

Note that the faucet will only give out tokens every 24 hours, in the case you tried getting tokens earlier, you should see the following message:

![](static/faucet/faucet-error.png)

### Managing your account's balance

We've established that you will need some balance to perform deals,
however, you will also need to store some balance in your market account;
the market will act as an escrow keeping money for signed deals locked,
ensuring the provider can't run away with your money!

```mermaid
flowchart LR
Acc[Your Account] -->|Deposit| Market
Market -->|Withdraw| Acc
```

Delia offers a simple interface to manage this,
allowing you to deposit and withdraw money from the market account.

![](static/deposit_withdraw.png)

#### Checking your account's balance

You can also check your account's network and market balance with Delia:

![](static/market-balance.png)

### Preparing a storage deal

1. Start by selecting an account from the *Client Account* field.

![](static/deal-making/client-account.png)

2. Select your file, either by dragging it or clicking the following field:

![](static/deal-making/drag-n-drop.png)

3. (Optional) You can add a description to your deal.

![](static/deal-making/label.png)

4. Select your deal's duration.

![](static/deal-making/duration.png)

5. Finally, select your storage providers:

![](static/deal-making/select-provider.png)

6. Click "Continue" to sign your deals and you're done!
After the deal is finished, you should receive a receipt file,
it will come in handy to retrieve your files!

### Retrieve your file

To retrieve your file, simply upload the receipt you received upon finishing your deals
in the "Deal Retrieval" page and press "Continue".

![](static/deal-retrieval/widget.png)

## Q&A

### How does Delia connect to the chain?

Delia connects to the parachain collator using the address defined in the top right corner of the page:

![](static/address.png)

After a connection is established, performing a deal works roughly as described in the following diagram:

```mermaid
sequenceDiagram
Delia->>Collator: Connect
Delia->>Delia: Prepare Deal & Select SPs

Delia->>+Collator: Request SPs Multiaddresses
activate Collator
Collator-->>-Delia: SP Multiaddresses

loop For every SP Multiaddress
Delia->>+SP: Negotiate Deal
SP-->>-Delia: Negotiation Result
end
```

For more details, refer to the [`DEVELOPMENT.md`](DEVELOPMENT.md).

### Does Delia encrypt my files?

*No.* Files stored in storage providers are public, as such, we suggest you encrypt your files. While file encryption is a broad enough topic, if you not sure about which tools to use, we suggest you keep it simple by compressing your file in a format such as [7zip](https://www.7-zip.org/) and using its encryption features. If 7zip doesn't cut it, you may want to take a look into [age](https://github.com/FiloSottile/age) or [VeraCrypt](https://www.veracrypt.fr/en/Code.html).