-
Notifications
You must be signed in to change notification settings - Fork 308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFP Proposal: Tool for applying test vectors from Ethereum on FEVM #1202
Comments
@wenxinnnnn could you please provide the funding breakdowns? i.e: work hours, $ hr/dev ? |
Funding for this M1: 1 Software engineer lead resource: 1 * 120 $/h * 40 h/week * 2 week = $9600 Total = $16000 Funding for this M2: 1 Software engineer lead resource: 1 * 120 $/h * 40 h/week * 1.5 week = $7200 Total = $12000 |
Hey @wenxinnnnn thanks for updating the team/price info. @raulk will review it. Can you share any updates on the work so far? IIRC you started last week, right? |
|
@wenxinnnnn I think we are broadly aligned here, but there are some details that need to be adjusted.
If you agree on these, I'm happy to approve the submission. |
We agree with these adjustment details, The tips are greatly appreciated. |
@realChainLife this is approved from the FVM team. Can we formalise? |
@wenxinnnnn - Hey, Dragan from the core FVM team here, I just wanted to check did you already started some work on this RFP? |
I think the progress is very smooth, and we will see results soon. |
@BlocksOnAChain we are aiming to get MVP by EOW. |
@wenxinnnnn Can we sync again tonight? I wanna touch point on: For Milestone 1:
For Milestone 2 Tvx tools consume test vectors
|
For Milestone 1, repo For Milestone 2, repo |
MVP has been met. |
@wenxinnnnn that is great news! Yes, the gas limit on Ethereum is absolutely not translatable to Filecoin gas. See comment in the respective FIP: https://github.com/filecoin-project/FIPs/pull/569/files#diff-42db5d06aa41036fbab88aef4ad06e69fbfec97dba280a6227f27a1cffbd8f5dR808-R821 |
how is this going? |
Found another problem:Simply sending funds to the contract without input_data will not trigger bytecode execution, which is inconsistent with the behavior of evm. |
@wenxinnnnn i think this is a known behaviour tho could you please create a ticket in ref-fvm repo with each of your discoveries so we can keep track of them? In the ticket, please include the original etherum tx id that triggered behaviour. |
@wenxinnnnn IIUC this is the issue you're talking about filecoin-project/ref-fvm#835. Feel free to contribute to the discussion, the decision hasn't been reached there yet. |
More generally though, @wenxinnnnn do you have any report after running these test vectors already? |
The M1 and M2 goals of the current Test Vector Tool have been completed. By running some test vectors of transactions, we found the following problems:
But there are still some problems that have not been found:
Due to the lack of fevm tracing, it is still difficult to locate the problem. |
RFP Proposal:
Tool for applying test vectors from Ethereum on FEVM
Name of Project: Tool for applying test vectors from Ethereum on FEVM
Link to RFP: fvm-ethereum-test-vectors
RFP Category:
devtools-libraries
Proposer:
FroghubMan
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT and APACHE2 licenses?: Yes
Project Description
FVM 2.1 which introduces support for Ethereum smart contracts in the Filecoin network (FEVM) will be the biggest network upgrade since mainnet launch. At the same time, it immensely widens the area of possible problems. That’s why it must be tested thoroughly.
One of possibilities to test FEVM is to run already existing and proven smart contracts from Ethereum and compare the state it produces on Ethereum vs Filecoin.
We are seeking proposals from teams that can build such a testing tool. This tool is expected to be in the form of a CLI.
It should be able to:
We want to run this tool a few times if needed and fix encountered errors every time.
This tool can be written in either Go or Rust.
Development Roadmap
Milestone1:
Fetch and store thousands of transactions sent to constracts on Ethereum in the past.
And through
EVM Tracing
, Intercept and store data for opcodes of the following types:With the help of ref-fvm and the opcode data of call, state and storage types, correctly simulate
the data (address, balance, bytecode, slot data) of the account on the state tree. Write the opcode data of
context and ext types to blockstore, for reading by related opcode functions in testing phase.
Finally intercept blockstore writing and generate tvx test vector file.
Milestone2:
allowing data to be read from blockstore directly.
Documentation, Education, and Community
The code repository will contain detailed instructions for using the CLI tool
Milestone Summary
Total Budget Requested
$28000
Maintenance and Upgrade Plans
We are willing to maintain this test vector tool for a long time
Team
Contact Info
wenxin@froghub.io
Team Members
Team Website
https://www.froghub.io/
Relevant Experience
Please describe (in words) your team's relevant experience, and why you think would do a great job with this RFP. You can cite your team's prior experience in similar domains, doing similar dev work, individual team members' backgrounds, etc.
Team code repositories
https://github.com/froghub-io
The text was updated successfully, but these errors were encountered: