2019-03-27 16:28:20 +00:00
|
|
|
# ETH 2.0 PySpec
|
|
|
|
|
2019-03-27 16:43:56 +00:00
|
|
|
The Python executable spec is built from the ETH 2.0 specification,
|
|
|
|
complemented with the necessary helper functions for hashing, BLS, and more.
|
|
|
|
|
|
|
|
With this executable spec,
|
|
|
|
test-generators can easily create test-vectors for client implementations,
|
|
|
|
and the spec itself can be verified to be consistent and coherent, through sanity tests implemented with pytest.
|
|
|
|
|
2019-03-28 16:51:49 +00:00
|
|
|
## Building
|
|
|
|
|
|
|
|
All the dynamic parts of the spec can be build at once with `make pyspec`.
|
|
|
|
|
|
|
|
Alternatively, you can build a sub-set of the pyspec: `make phase0`.
|
|
|
|
|
2019-04-03 03:18:17 +00:00
|
|
|
Or, to build a single file, specify the path, e.g. `make test_libs/pyspec/eth2spec/phase0/spec.py`
|
2019-03-28 16:51:49 +00:00
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
2019-03-27 16:43:56 +00:00
|
|
|
Contributions are welcome, but consider implementing your idea as part of the spec itself first.
|
|
|
|
The pyspec is not a replacement.
|
2019-04-03 03:18:17 +00:00
|
|
|
If you see opportunity to include any of the `pyspec/eth2spec/utils/` code in the spec,
|
2019-03-27 16:43:56 +00:00
|
|
|
please submit an issue or PR.
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
Same as the spec itself, see LICENSE file in spec repository root.
|