Skip to content
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

Lotus <> Geth 1.13.14 compatibility issues #11882

Open
5 of 11 tasks
Schwartz10 opened this issue Apr 16, 2024 · 0 comments
Open
5 of 11 tasks

Lotus <> Geth 1.13.14 compatibility issues #11882

Schwartz10 opened this issue Apr 16, 2024 · 0 comments
Labels
kind/bug Kind: Bug

Comments

@Schwartz10
Copy link
Contributor

Schwartz10 commented Apr 16, 2024

Checklist

  • This is not a security-related bug/issue. If it is, please follow please follow the security policy.
  • I have searched on the issue tracker and the lotus forum, and there is no existing related issue or discussion.
  • I am running the Latest release, the most recent RC(release canadiate) for the upcoming release or the dev branch(master), or have an issue updating to any of these.
  • I did not make any code changes to lotus.

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

Lotus Version

GLIF Public RPC Nodes

Repro Steps

  1. git clone git@github.com:Schwartz10/lotus-geth-compat.git
  2. cd go

To test the getter against a deployed version of the Counter contract, run go run . --example 2

To test the contract deployment of the simple Counter contract, you must add a private key to the top of /go/main.go. Then run go run . --example 1

Once you've verified the above works on github.com/ethereum/go-ethereum@v1.12.0, you can go get github.com/ethereum/go-ethereum@latest to get v1.13.14 and the above scripts will fail for reasons related to the call parameters.

Describe the Bug

Go ethereum libraries break compatibility with lotus FEVM APIs for reasons seemingly related to encoding of call parameters. Version 1.12.0 works fine, but 1.13.14 (latest) breaks compatibility somewhere.

I made a little repro repo here with forge/foundry a really simple Counter contract https://github.com/Schwartz10/lotus-geth-compat

I used abigen to generate the web3 bindings, and used those APIs to make the calls to Lotus. Those simple scripts that work on go-ethereum v1.12.0 do not work on go-ethereum 1.13.14

Logging Information

Don't have access to this easily
@Schwartz10 Schwartz10 added the kind/bug Kind: Bug label Apr 16, 2024
@Schwartz10 Schwartz10 changed the title Lotus <> Geth 1.13.14 compatibility issues? Lotus <> Geth 1.13.14 compatibility issues Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Kind: Bug
Projects
None yet
Development

No branches or pull requests

1 participant