mirror of
https://github.com/codex-storage/codex-frontend.git
synced 2025-03-01 18:50:43 +00:00
3.3 KiB
3.3 KiB
Codex Frontend Requirements
Here's an attempt to structure the requirements for a Codex frontend application. For some of the requirements, Codex API may not be available yet. Feel free to contact core contributors.
Node status
Frontend should display basic node status information.
- Frontend displays node network information:
- Node ID
- Node SPR (signed peer record)
- Number of known peers
- Announce addresses
- Codex version information
- Frontend displays node storage information:
- Total storage quota
- Storage quota used
- Storage quota reserved
- (Bonus points) Frontend displays a warning in highlighted colors when the amount of available quota drops below 100MB.
- Frontend displays hosting information:
- Number of slots being hosted
- Per slot being hosted:
- Status of the contract
- Total size of the slot data
- Duration of the contract
- Amount of collateral posted
- Amount of contract reward
- Frontend displays its public payment account information.
- Frontend displays its own version information.
- (Bonus points) Frontend will periodically update the network, storage, and hosting information.
Local data exchange
Frontend allows users to upload and download data.
- Frontend displays datasets stored in the local node.
- For each dataset stored locally, frontend displays:
- CID of the dataset
- Size of the dataset
- Expiration timestamp of the dataset
- Frontend allows user to upload a file to the node.
- Frontend will provide user-feedback while an upload is in progress.
- Frontend will display the CID of the uploaded file when upload is finished.
- Frontend allows users to download a file given a CID.
- Frontend will provide user-feedback while a download is in progress.
- Frontend will display a clear error message when upload fails.
- Frontend will display a clear error message when download fails.
Marketplace - Hosting
Frontend allows the user to offer their local diskspace to the network. Such an offering is called an "Availability".
- Frontend displays current availabilities.
- Frontend displays per availablility:
- Size
- Maximum contract duration
- Maximum collateral
- Minimum price
- (Bonus points) Slots currently being served by this availability
- Frontend allows user to create new availabilities.
- Frontend allows user to remove availabilities.
- Frontend displays user-feedback when performing either of these operations.
- Frontend displays a clear error message when either of these operations fail.
Marketplace - Purchasing
Frontend allows the user to purchase storage space in the network.
- Frontend displays current purchases.
- Frontend displays per purchase:
- ID of the purchase
- Dataset CID
- Size
- Total contract duration + Contract end timestamp + remaining contract time
- Amount of Collateral posted
- Price paid for purchase
- (Bonus points) When a purchase remaining time drops below 8 hours, frontend will use highlight colors to passively alert user to approaching expirey.
- Frontend allows user to create a new purchase for a CID.
- (Bonus points) Frontend allows users to 'quickly' set up a new purchase from a single icon button in each element of the local-content overview list, pre-filling the CID.