Closed jennijuju closed 2 years ago
I invited @dirkmc from Bedrock-ignite team to give a quick overview of boost, a market implementation!
also inviting @raulk to give some updates on fvm!
Snap deal updates @arajasek "
open question to chain safe - have they started to look at the fip and planning on implementing the rust actor of snap deal?
Excited to be participating. Here is what I'll be going through today.
InitActor#LoadCode(bytecode) -> CID
InitActor#Exec(CID, constructor_params...) -> Address
)With the FVM having formalized bytecode (WASM), and built-in actors being deployed as WASM bytecode, we depart from the model of replicated native actor implementations in different languages, and can converge towards a single canonical built-in actors codebase producing WASM bytecode.
There are two actors implementations currently: Go and Rust. This presented a dichotomy: Go actors secure mainnet, but Go carries over the runtime overhead to WASM producing code bloat and reduced performance; conversely, Rust actors don't secure the mainnet yet, but the Rust toolchain is fantastically equipped to produce concise WASM outputs with little to zero overhead ([no_std]) and with ample degree of customization of low-level elements (e.g. allocator). The Rust WASM ecosystem is also orders of magnitude more developed than the Go one.
We looked at using TinyGo as a solution to produce succint WASM code from Go actors, but its limitations were not encouraging.
Therefore, we believe the right choice is to promote the Rust actors into the canonical actors, investing heavily in their robustness, performance, and security (audits!). We'd like to propose to extract the Rust actors into a separate codebase, where all implementor teams collaborate on.
We expect to submit an FVM FIP in January, so that there's enough time to discuss/evaluate/implement before the network upgrade for the deployment of Phase 1 (entire network runs built-in actors on FVM + gas model changes to prepare the system for user programmability).
Filecoin Core Devs Meeting 32 Agenda
Agenda