code | title | proposal-author | creation-date | external-status | summary | reward | repeatable | application-url | skillsets | tags | contacts | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BA122403 |
Smart Node v2 HTTP API OpenApi 3 specification and codegen |
Patches |
2024-05-28 |
open |
Document the API, generate code based on that documentation, and then integrate the generated code. |
|
false |
|
|
|
Write OpenAPI 3.x specifications for the HTTP API endpoints smartnode v2 currently uses.
Payout: $500
- Start small- write a spec for a single endpoint and complete the migration of that entire endpoint/client. Add CI jobs to ensure that the generated code is always ‘fresh’ on merge.
- Add additional endpoints one by one until they are all migrated to spec-driven.
- Confine all the generated code to a single go package that only contains generated code.
- All HTTP endpoints and client code should be through the generated interfaces.
- A OpenAPI spec has been added and its generated code is being used by one API endpoint.
- A script has been added that runs codegen.
- A Github Actions CI job has been added and verifies that re-running codegen produces no diff.
- Generate middleware using https://github.com/deepmap/oapi-codegen.
- Migrate Smart Node v2’s raw HTTP serving to use the generated code instead.
**Payout: ** $3,000
- All API endpoints are in the spec
- All API endpoints and client code uses generated interfaces.
- Recommend familiarity with Golang, OpenAPI/Swagger, the HTTP protocol, and REST principles.
- This is not a good first bounty. It will be very difficult if it is your first contribution.
- Smart Node’s current maintainers can confirm completion.