Comments (1)
Ouch, I figured out the package dependencies hell...
sharding
package requirement:- the latest version of
py-evm
- the
rlp>=1.0.1
- the latest version of
sharding
testing requirement:- Vyper with commit 044d1565df370cd31c00fc7fb728672647f39cf2 (on 9 Mar)
- In this version, Vyper requires
ethereum==2.1.3
- In this version, Vyper requires
eth-tester[py-evm]
- If
PyEthereum21
(includingethereum==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.
- If
- Vyper with commit 044d1565df370cd31c00fc7fb728672647f39cf2 (on 9 Mar)
Solution - Modify Vyper
- 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.
- Option 1: The only things that import
py-evm
inVyper
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. - Option 2:
evm.constants
are unlikely to be changed. Just unlock the depandency frompy-evm==0.2.0a12
topy-evm
.
- Option 1: The only things that import
from sharding.
Related Issues (20)
- Set the suitable range in `ShardTracker.get_add_header_logs` HOT 16
- SMCHandler/ShardTracker API improvements HOT 5
- Easy SMC deployment
- Config keys
- Types of ShardTracker return values HOT 2
- Use eth_typing package
- file sharding.py (for module sharding) not found
- Update pyethereum version in setup.py HOT 2
- Gitter room and license HOT 12
- Add a title and topics
- gas_limit is defined three times, twice in the same way, and the first time in a very similar way
- The SMC
- SMC modification - stage 1 HOT 1
- SMC: missing notary deposit HOT 10
- Need more than one variable to keep track of notaries' vote count if committee size exceed 248
- Add type annotations
- Accelerate the unittests HOT 4
- Add `vyper_compile_script.py` in `/tools` directory
- Rename `validator_manager.v.py` to `sharding_manager.v.py`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sharding.