GithubHelp home page GithubHelp logo

Comments (1)

hwwhww avatar hwwhww commented on August 28, 2024

Ouch, I figured out the package dependencies hell...

  • sharding package requirement:
    • the latest version of py-evm
    • the rlp>=1.0.1
  • sharding testing requirement:
    • Vyper with commit 044d1565df370cd31c00fc7fb728672647f39cf2 (on 9 Mar)
      • In this version, Vyper requires ethereum==2.1.3
    • eth-tester[py-evm]
      • If PyEthereum21 (including ethereum==2.1.3) is installed, it will crash because (i) py-evm using rlp==1.0.1 and (ii) pyethereum 2.1.3 using rlp<1.

Solution - Modify Vyper

  1. In the latest Vyper codebase, the dependancy of pyethereum is replaced with locked py-evm version. But that still not good for sharding because we need newer py-evm.
    1. Option 1: The only things that import py-evm in Vyper are just some constants: https://github.com/ethereum/vyper/blob/0d92d86752bcfca875e042cec6048488db3d479c/vyper/parser/parser_utils.py#L3 which could be easily duplicated in Vyper and make them decoupled in package level.
    2. Option 2: evm.constants are unlikely to be changed. Just unlock the depandency from py-evm==0.2.0a12 to py-evm.

from sharding.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.