ChainSafe / filecoin-common-node-api

0 stars 0 forks source link

Repo handover #31

Closed LesnyRumcajs closed 5 days ago

LesnyRumcajs commented 2 weeks ago

Moving forward, @elmattic will take ownership of this repository. This requires quite a bit of knowledge transfer from @aatifsyed. This is tracked here.

[!NOTE]
Ownership doesn't mean sole contributor. @elmattic, feel free to ask others to chip in, have an opinion and definitely review any changes. @elmattic, feel free to change propose any changes (even massive ones) and question everything. :)

Tasks:

Deadline: 6.09.2024

aatifsyed commented 1 week ago

Notes before our first handover meeting:

  1. Get a complete spec. This should be done all-at-once, but may have prerequisites depending on the approach.
    • [x] We have the full list of methods in our spreadsheet.
    • [x] As of forest/#4677 and forest/#4692, we have an OpenRPC description for every method in the list.
    • Forest splits these OpenRPC descriptions between v0 and v1: forest-tool shed openrpc --path ..., and most of our methods are on v0. There is some evidence that there are meaningful differences between v0 and v1, but also some evidence that there isn't.
    • It is likely that differences won't affect us, but we should check, and ideally cover all the method's in Forest's CI.
    • There is a tool openrpc select ... subcommand in the `filecoin-common-node-api repo, which takes a single OpenRPC document as input, intended to produce a spec.
    • Possible paths forward are:
    • Hand-write the spec, manually looking out for differences in methods between v0 and v1, and flagging any methods that are v0 only (we should only care about v1 methods).
    • Get Forest an up-to-date v1 API (#4678), at least for the methods in the list, that we test in CI, and use tool openrpc select ... to dump the spec.
  2. Get (at least schema) coverage of all methods in the test-suite. This can be done bit-by-bit, probably addressing bugs you find on the way.
  3. Start picking up issues on the backlog, here's a suggested order:
aatifsyed commented 1 week ago

Notes from our first meeting:

We talked about how the spec is updated

  1. forest-tool shed openrpc --path ... to dump the schemas to ./schemas
  2. File -> Download -> Tab Separated Values to download the method list from google sheets.
  3. tool openrpc csv2json ... to convert the tsv to json.
  4. tool openrpc select ... to trim the (currently v0, soon to be v1) schema in ./schemas to output spec.json
  5. tool openrpc validate ... to validate spec.json, and captured method calls (see https://github.com/ChainSafe/filecoin-common-node-api/issues/18 for how to run)

We did a walkthrough of the codebase :)

elmattic commented 1 week ago

@ansermino As suggested by me, the complete list of methods from the spreadsheet has been moved to method-list.json. So we will do modifications there from now on.

LesnyRumcajs commented 5 days ago

@elmattic Do we consider this done?

elmattic commented 5 days ago

Yes, let's close this.