[Planning Ticket] PATH Embedded QoS Foundation + Followup Work
@adshmh is already working on this.
Since Sep 10, 2024.
Assessment
This issue has not been assessed yet.
Description
Objective
Build the foundation for Quality of Service on JSONRPC, EVM, and RESTful services.
Origin Document
- Filter out potentially invalid requests before they get sent to service endpoints.
- Validate responses received from service endpoints to minimize the number of invalid responses that reach end users.
- Help filter out available endpoints that do not comply with the spec of the target service, to reduce the need for retries on service requests, leading to improved quality of service for the user.
Goals
- Clearly invalid requests should be blocked before reaching service endpoints, e.g. a JSONRPC request with no method.
- Clearly responses should be blocked before reaching the user, e.g. a non-JSONRPC response to a JSONRPC service request.
- Filter out endpoints which have failed specific checks for a target service, on any of the supported services
- Build and utilize a set of requests and corresponding response validators to establish "good" vs "bad" endpoints.
Deliverables
- JSONRPC basic validation of requests and responses
- EVM basic validation (e.g. valid method name), on both requests and responses
- EVM basic checks against an endpoint: e.g. chain ID, sync: i.e. valid block height.
- Create tickets for:
- RESTful services validation
- OpenAPI validation
- Non embedded QoS Implementation
Non-goals / Non-deliverables
-
Guaranteeing the validity of a request before sending it out to a service endpoint, e.g. processing a
eth_sendTransactionto ensure the sender has enough balance. -
Guaranteeing the validity of a response before returning it to the user, e.g. verifying the actual contents of a block received in response to an
eth_blockNumberrequest.
Creator: [@adshmh ]
Co-Owners: [@Olshansk ]
- Dominant language
- Go
- Stars
- 12
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pokt-network/path
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
pokt-network/path#509 ·
-
bug gateway
Difficulty 4/5 3-5 days Newbie friendliness 45/100
pokt-network/path#477 ·
-
config documentation evm portal-db portal-ui qos
Difficulty 4/5 3-5 days Newbie friendliness 48/100
pokt-network/path#475 · 1 comment ·
-
[RADIX][TRON][SUPPLIER] Suppliers should not have to append additional API paths in their RM configMay be free again @adshmh claimed this 403 days ago, and no pull request is open. Openqos
pokt-network/path#443 · 1 comment · 3 assignees ·
-
[PORTALDB][CONFIG] Surface sanctions settings and thresholds as configurables in both the Config files and Portal DBMay be free again @commoddity claimed this 426 days ago, and no pull request is open. Openconfig documentation portal-ui qos
pokt-network/path#409 · 1 assignee ·
All issues in pokt-network/path
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
ViewData can pair the in-flight proposal with the prepared flag of another proposalPossibly taken @HagarMeir claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
hyperledger/SmartBFT#710 ·
Maintainers usually reply within 1 day
-
agent-butler-finding chore
Difficulty 1/5 Under an hour Newbie friendliness 90/100
jordansmall/spindrift#5575 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
open-telemetry/opentelemetry-go-compile-instrumentation#1512 ·
Maintainers usually reply within 3 days
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
OpenPrinting/go-mfp#124 ·
Maintainers usually reply within 1 day