ChainSafe / forest

🌲 Rust Filecoin Node Implementation
https://forest.chainsafe.io
Apache License 2.0
639 stars 160 forks source link

[spike] Assess usage of external Eth libraries in Forest #4921

Open LesnyRumcajs opened 1 month ago

LesnyRumcajs commented 1 month ago

Summary

Problem

When implementing FEVM RPC methods we add a lot of complex code with Ethereum-specific details. Most of this code comes from Lotus (which is NOT exactly an Ethereum node implementation). This is both difficult (lots of discoveries) and bug-prone as we are not primarily Ethereum developers and might miss some nuances.

Can we avoid re-implementing Ethereum logic?

Idea

There are libraries that should contain at least a part of logic we need. We would still need to do some translation between Filecoin and Ethereum transactions, but it may be that we can omit re-implementing some logic (such as signature verifications, Solidity ABI helpers etc.)

Upsides

Downsides

Completion Criteria

Additional Links & Resources

LesnyRumcajs commented 1 month ago

Timeboxed to 1 day.