Comments (6)
@palango 👍 to making genesis parameters configurable.
I'd rather do this as an optional constructor parameter to the PyEVMBackend
to allow supplying genesis_params
. I think adding genesis_state
would also be beneficial, but that part could be more tricky since we also have to initialize the default accounts and there is a question of whether genesis_state
should be merged with the default account state, or whether it should fully override it...
eth-tester/eth_tester/backends/pyevm/main.py
Lines 140 to 142 in b9ad39a
@voith I think your last option is what I'm talking about
providing config as a parameter to the entry point(I'm fairly new to this project and I don't know the entry point)?
The entry point in question would be the PyEVMBackend
class instantiation.
from eth-tester.
@palango just curious to know how you'd make such constants configurable. Are you thinking of something like django settings, env variables or providing config as a parameter to the entry point(I'm fairly new to this project and I don't know the entry point)?
from eth-tester.
Making the genesis parameters constructor parameters sounds good and usable to me. Adding genesis state would surely be useful with large contract systems. Here it would be good if it is nicely integrated with the snapshot system, i.e. using snapshots of a chain as genesis state.
from eth-tester.
@palango do you think you have enough context to either:
- update this issue with a reasonable spec for providing genesis params
- create a new issue speccing thing out?
RE: snapshots, I do think that's a solid API for eth-tester
to implement but I'd push that out into a separate issue/ticket.
from eth-tester.
@pipermerriam I'm in vacation right now and will look into this afterwards.
from eth-tester.
This is possible (though not pleasant yet), so I'll close. There's a tracking issue for making it better: #129
from eth-tester.
Related Issues (20)
- Add towncrier for release notes HOT 1
- Issue with dynamic fee txn properties casing validation HOT 3
- Legacy properties required and set to null instead of allowed to be excluded HOT 2
- `block_number` genesis parameter removed HOT 5
- Testing without London enabled HOT 2
- MockBackend allow default account data configuration
- feat request: set_balance method
- Problems with PyEVMBackend Berlin configuration HOT 1
- feature request: Add `set_code()` API method
- Add typing HOT 2
- Build with `py-evm` feature fails on Python3.11/MacOS HOT 2
- Have error formatting comply with the JSON-RPC error format HOT 3
- ContractLogicError from custom exception contains stringified bytes instead of hex str
- Feature request: eth_feeHistory RPC endpoint HOT 1
- Support HDPath for Mnemonic
- Surprising execution behavior when calling smart contract functions HOT 2
- Implement `eth_getStorageAt` HOT 2
- ERROR: Could not build wheels for pyethash, which is required to install pyproject.toml-based projects
- ETHEREUM TESTER
- feat: Python 3.12 support HOT 1
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 eth-tester.