Skip to content

Create open source filecoin-project library for built-in actors decoding #13135

Open
@eshon

Description

@eshon

Checklist

  • This is not brainstorming ideas. If you have an idea you'd like to discuss, please open a new discussion on the lotus forum and select the category as Ideas.
  • I have a specific, actionable, and well motivated feature request to propose.

Lotus component

  • lotus daemon - chain sync
  • lotus fvm/fevm - Lotus FVM and FEVM interactions
  • lotus miner/worker - sealing
  • lotus miner - proving(WindowPoSt/WinningPoSt)
  • lotus JSON-RPC API
  • lotus message management (mpool)
  • Other

What is the motivation behind this feature request? Is your feature request related to a problem? Please describe.

Currently, Filecoin developers face significant friction when learning to decode built-in actors and their method parameters. This pain point includes:

  • Navigating low-level CBOR and base64 encoding.

  • Reverse-engineering method structures from Rust source code, often deeply embedded in nested calls.

  • Lack of consistent tooling for decoding actor calls and method parameters, or even pointers to learn how others have done it.

  • The need for builders and ecosystem participants to repeatedly create and maintain their own decoding tools — with limited documentation and inconsistent results.

As Filecoin’s built-in actors evolve these challenges compound. New developers and contractors entering the ecosystem experience a steep learning curve and no documentation, often struggling on their own and then canvassing the community for help.

Meanwhile, block explorers, indexers, analytics teams and integration builders are forced to independently decode messages, often duplicating work and arriving at incomplete implementations even after much painstaking effort.

By contrast, in the Ethereum ecosystem, contract ABIs are automatically produced during compilation and often self-published to Etherscan, enabling interoperability, user trust, and ease of exploration.

Filecoin native actors, however, have no ABI equivalent and there is no documentation about how to decode them. Builders usually have to ask for advanced technical support with a very steep learning curve.

Describe the solution you'd like

Create an open source filecoin-project repo for decoding actors and their parameters, including:

  • decoders for all built-in actors, including recent versions (e.g. f06 / f07)
    • ABI-like definitions for all actors and methods (both native and EVM-compatible), enabling machine-readable and human-legible introspection.
  • published ABIs for key EVM contracts including FWS and other commonly used contracts
  • tests for the decoders

FilOz is ideally positioned to initiate and collaboratively maintain this repo given their deep familiarity with the actor codebase and active role in their evolution.

  • Any updates to built-in actors should also be reflected in this proposed decoder repo

Describe alternatives you've considered

Prior Art

Additional context

Impact

A shared, well-maintained decoding library that is initially created by FilOz and collaboratively maintained along with other ecosystem groups would directly benefit:

  • Block Explorers (Filfox, Beryx, Filscan, Filutils, Starboard, BlockScout etc.)
    • improved actor and params decoding
    • published ABIs for critical contracts that can then be more consistently verified across explorers
  • Indexers (Lily - maintained by Starboard, Beryx Chain API - maintained by Zondax)
  • Analytics Plaforms (Nexus, Kariba, etc.)
  • Fil+ Tools - more clarity around f06/f07 (FIDL, CEL, FF, etc.)
  • General Filecoin Builders and Integrators - improved onboarding and development experience.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    📌 Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions