[Debate] Features and responsabilities of the SEBAK API
- Dominant language
- Go
- Stars
- 44
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
I'm creating this issue to debate the features and responsabilities of the SEBAK API.
The SEBAK API provides endpoints to obtain data such as blocks, transactions, operations, accounts, etc. This allows third parties to get the SEBAK blockchain state in real-time.
Third parties currently have two options to query data, through path parameters and through query parameters.
Path parameters
1. `/blocks/{height}` returns the block for the provided height
2. `/accounts/{address}` returns the account for the provided address
3. `/transactions/{hash}` returns the transaction for the provided hash
Query parameters
1. `limit=x` returns x amount of records
2. `reverse=x` sorts data in x order
3. `cursor=x` returns data starting from cursor x
While these options allow third parties to retrieve specific information, they don't provide many ways to query the data. If a third party for example wants to obtain all accounts having a balance > 10000 BOS, then there is no way to actually to retrieve this data through the use of the SEBAK API. This is just one example, but the possibilities could be endless as far as querying options are concerned.
Will the SEBAK API ever expose endpoints and query parameters for statistical purposes and data analysis? Would that be considered as a (future) responsability of the SEBAK API?
Contributor guide
Research direction
Start by reviewing the existing SEBAK API endpoints and path and query parameters listed in the issue. The issue is a design debate about whether statistical and data-analysis queries belong in the API, so done would require an agreed responsibility and scope before implementation can begin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100