chore: tweaks

This commit is contained in:
Adam Uhlíř 2024-08-19 14:44:31 +02:00
parent d1bdf82d59
commit 4ed045a22a
No known key found for this signature in database
GPG Key ID: 1D17A9E81F76155B
3 changed files with 11 additions and 13 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

View File

@ -1,6 +1,5 @@
# Codex Marketplace Spec # Codex Marketplace Spec
---
title: CODEX-MARKETPLACE title: CODEX-MARKETPLACE
name: Codex Storage Marketplace name: Codex Storage Marketplace
status: raw status: raw
@ -8,7 +7,7 @@ tags: codex
editor: Dmitriy <dryajov@status.im> editor: Dmitriy <dryajov@status.im>
contributors: contributors:
- Mark <mark@codex.storage> - Mark <mark@codex.storage>
- Adam <adam.u@status.im> - Adam <adam@codex.storage>
- Eric <eric@codex.storage> - Eric <eric@codex.storage>
- Jimmy Debe <jimmy@status.im> - Jimmy Debe <jimmy@status.im>
--- ---
@ -108,7 +107,7 @@ Time ran out │ │ └─────────
└──────────┘ └──────────┘
``` ```
![image](./images/request-contract.png) ![image](./images/storeRequest.png)
## Client role ## Client role
@ -222,9 +221,9 @@ Determines the average frequency that a proof is required in a period: $\frac{1}
#### Renewal of Storage Requests #### Renewal of Storage Requests
It should be noted that Marketplace does not support extending Requests. It is REQUIRED that if the user wants to It should be noted that Marketplace does not support extending Requests. It is REQUIRED that if the user wants to
extend the Request's duration, somebody submits a new Request transaction with the same CID **well before the original extend the Request's duration, a new Request with the same CID must be [created](#Creating-storage-requests) **well before the original
Request finishes**. In this way, the data will be still persisted in the network at the time when new (or the current) storage providers Request finishes**. In this way, the data will be still persisted in the network with enough time for new (or the current) storage providers
need to retrieve the dataset to fill slots of the new Request. need to retrieve the dataset and fill slots of the new Request.
### Withdrawing funds ### Withdrawing funds
@ -255,8 +254,8 @@ When a new Request is created, a `StorageRequested(requestId, ask, expiry)` even
- `ask` - Specification of [Request parameters](#Creating-storage-requests). - `ask` - Specification of [Request parameters](#Creating-storage-requests).
- `expiry` - Unix timestamp that specifies when the Request will be cancelled if all slots are not filled by then. - `expiry` - Unix timestamp that specifies when the Request will be cancelled if all slots are not filled by then.
It is then up to the Storage Provider node to decide based on the emitted parameters if it wants to participate in the It is then up to the Storage Provider node to decide based on the emitted parameters and node's operator configuration
Request and try to fill its slot(s). This decision SHOULD be done based on parameters specified by the node operator. if it wants to participate in the Request and try to fill its slot(s).
If the node decides to ignore this Request, no action is necessary. If the node wants to try to fill a slot, then If the node decides to ignore this Request, no action is necessary. If the node wants to try to fill a slot, then
it MUST follow the remaining steps. it MUST follow the remaining steps.
@ -282,13 +281,12 @@ generating a proof for, then the node SHOULD stop and choose a different non-fil
has already been filled by another node. has already been filled by another node.
### Proving ### Proving
Once a node fills a slot, it MUST submit proofs to the smart contract when a challenge is issued by the contract.
Once a node fills a slot, it MUST periodically, yet non-deterministically provide proof to the smart contract that it Nodes SHOULD detect that a proof is required for the current period using the `isProofRequired(slotId)` function,
stores the data it should. Nodes SHOULD detect that a proof is required using the `isProofRequired(slotId)` or that it will or that it will be required using the `willProofBeRequired(slotId)` function in the case that the [pointer is in downtime](https://github.com/codex-storage/codex-research/blob/41c4b4409d2092d0a5475aca0f28995034e58d14/design/storage-proof-timing.md).
be required using the `willProofBeRequired(slotId)` in case the node is in [downtime](https://github.com/codex-storage/codex-research/blob/41c4b4409d2092d0a5475aca0f28995034e58d14/design/storage-proof-timing.md).
Once a node knows it has to provide a proof it MUST get the proof challenge using `getChallenge(slotId)` which then Once a node knows it has to provide a proof it MUST get the proof challenge using `getChallenge(slotId)` which then
NEEDS to be incorporated into the proof generation as described in Proving RFC (**TODO: Proving RFC**). MUST be incorporated into the proof generation as described in Proving RFC (**TODO: Proving RFC**).
When the proof is generated, it MUST be submitted with a transaction calling the `submitProof(slotId, proof)` function. When the proof is generated, it MUST be submitted with a transaction calling the `submitProof(slotId, proof)` function.