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

Upgrade to use latest pyrlp and py-evm package #86

Closed
hwwhww opened this issue May 11, 2018 · 1 comment
Closed

Upgrade to use latest pyrlp and py-evm package #86

hwwhww opened this issue May 11, 2018 · 1 comment
Assignees

Comments

@hwwhww
Copy link
Collaborator

hwwhww commented May 11, 2018

What is wrong?

For integrating with Trinity, sharding package has to use the latest packages.

How can it be fixed

  1. Upgrade pyrlp, py-evm, and eth-tester version requirements.
  2. Update RLP-related code.

It seems there will be a dependency issue at pyethereum ... needs bumping some related packages.

@hwwhww hwwhww self-assigned this May 11, 2018
@hwwhww
Copy link
Collaborator Author

hwwhww commented May 14, 2018

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant