owned this note
owned this note
Published
Linked with GitHub
---
title: 'SRS.md'
disqus: hackmd
---
Filecoin CID checker SRS
===
Link: https://hackmd.io/RMpGnE3YQm607jl0QevCoQ?view
## Table of Contents
[TOC]
User story
---
As a User I want to see 1 long table listing all the CIDs and:
1. miners storing this CID
2. sectors they are storing
3. state as a colored indicator:
green - good | grey - capacity | red - failing
Core features
```gherkin=
Feature: list all the CIDs and related info
# indexing the latest Filecoin state
Scenario: Retrieve the info related to all CIDs
When The User navigates to the URL of the CID checker
Then The APP lists all the CIDs,
and their status in the latest state tree
```
>
```gherkin=
Feature: search info by the file CID
# indexing the Filecoin state by the CID
Scenario: Query the info related to file CID
When User enters the file CID into the Search window
Then the APP lists the Miners storing this CID,
sectors they are storing,
and the state as a colored indicator
```
>
```gherkin=
Feature: search info by the Miner
# indexing the Filecoin state by the Miner_ID
Scenario: Query the info related to the Miner
When the User enters the Miner_ID into the Serach window
Then the APP lists the User's CIDs stored by the Miner,
and the state as a colored indicator
```
Secondary feature (not in the MVP scope):
>
```gherkin=
Feature: list a particular User's CIDs and related info
# indexing the Filecoin state by the User's PubKey in the Filecoin network
Scenario: Retrieve the CIDs info related to the User's PubKey
When The User enters his/her PubKey into the Search window
Then The APP lists the User's files CIDs,
their status in the latest state tree
```
User flows
---
```sequence
User->APP: 1.URL
Note right of APP: Navigating to the URL
APP-->User: List of CIDs
User->APP: 2.File CID
Note right of APP: indexing the latest state by the CID
APP-->User: List of Miners storing this file
User->APP: 3.Miner_ID
Note right of APP: indexing the latest state by the Miner_ID
APP-->User: List of User's CID stored by the Miner
```
>
API service
---
**Core methods:**
* Method 1: indexing the latest state by the CID
* Input: CID
* Return: Miner ID | Sector ID | State
- Method 2: indexing the latest state by the Storage Miner ID
* Input: Miner ID
* Return: CID | Sector ID | State
**Extended:**
* The Database storing the metadata of the *Proposal*
* API calls for:
* PieceCID
* PieceSize
* VerifiedDeal
* Client
* Provider
* StartEpoch
* EndEpoch
* StoragePricePerEpoch
* ProviderCollateral
* ClientCollateral
UI wireframes
---
version 2

Extension:
* Expandable part with Additional columns:
* Start of the storage deal
* End of the storage deal
* Verified deal indication
* PieceSize
* Client
* StoragePricePerEpoch
* ProviderCollateral
* ClientCollateral
Actual dataset and data interpretation
---
```
{
"DealID": 10,
"SectorID": 11,
"DealInfo": {
"DealID": 10,
"Proposal": {
"PieceCID": "bafk4chzafhvqrktf4b7uha7f56dpvwr7rqawfqed34x4ljekxapjgghfduwq",
"PieceSize": 2048,
"VerifiedDeal": false,
"Client": "t0100",
"Provider": "t01000",
"StartEpoch": 10014,
"EndEpoch": 16209,
"StoragePricePerEpoch": "0",
"ProviderCollateral": "0",
"ClientCollateral": "0"
},
"State": {
"SectorStartEpoch": 63,
"LastUpdatedEpoch": -1,
"SlashEpoch": -1
}
},
"SectorInfo": {
"Info": {
"Info": {
"RegisteredProof": 3,
"SectorNumber": 11,
"SealedCID": null,
"SealRandEpoch": -480,
"DealIDs": [
10
],
"Expiration": 19665
},
"ActivationEpoch": 63,
"DealWeight": "0",
"VerifiedDealWeight": "0"
},
"ID": 11,
"Fault": false,
"Recovery": false
}
}
```
**Column heading**
* Main view
* File CID (=PieceCID)
* Deal ID (=DealID)
* Miner ID (=Provider)
* Sector (=SectorID)
* State (=Active / Fault / Recovery)
* Collapsible part
* Client (=Client)
* Piece Size (=PieceSize)
* Verified Deal (=true / false)
* Start Deal (=StartEpoch)
* End Deal (=EndEpoch)
* Price (=StoragePricePerEpoch)
* Expiration (=Expiration)
* Miner Collateral (=ProviderCollateral)
* Client Collateral(=ClientCollateral)
UI mockups
---
**Choose from 3 versions**
[mockups](https://projects.invisionapp.com/share/7BXSDIBYG82#/screens/422481330)