publishBlindedBlock (#10679)
* SubmitBlockSSZ grpc
* SubmitBlockSSZ middleware
* test fixes
* use VersionedUnmarshaller
* use VersionedUnmarshaller
(cherry picked from commit 7388eeb963)
* tests
* fuzz: Add fuzz tests for sparse merkle trie (#10662)
* Add fuzz tests for sparse merkle trie and change HTR signature to return an error
* fix capitalization of error message
* Add engine timeout values (#10645)
* Add timeout values
* Update engine_client.go
* Update engine_client.go
* Update beacon-chain/powchain/engine_client.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/powchain/engine_client.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/powchain/engine_client.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update engine_client.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Cleanup of `stategen` package (#10607)
* powchain and stategen
* revert powchain changes
* rename field to blockRootsOfSavedStates
* rename params to blockRoot
* review feedback
* fix loop
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Process atts and update head before proposing (#10653)
* Process atts and updeate head
* Fix ctx
* New test and old tests
* Update validator_test.go
* Update validator_test.go
* Update service.go
* Rename to UpdateHead
* Update receive_attestation.go
* Update receive_attestation.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add link to e2e docs in `README` (#10672)
* Improve `ReceiveBlock`'s comment (#10671)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Call fcu on invalid payload (#10565)
* Starting
* remove finalized root
* Just call fcu
* Review feedbacks
* fix one test
* Fix conflicts
* Update execution_engine_test.go
* Add a test for invalid recursive call
* Add comprehensive recursive test
* dissallow override empty hash
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Cache and use justified and finalized payload block hash (#10657)
* Cache and use justified and finalized payload block hash
* Fix tests
* Use real byte
* Fix conflicts
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* do not export slotFromBlock
* simplify tests
* grpc
* middleware
* extract package-level consts
* Simplify SSZ handling
* fix tests
* test fixes
* test hack
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Prysm: An Ethereum Consensus Implementation Written in Go
This is the core repository for Prysm, a Golang implementation of the Ethereum Consensus specification, developed by Prysmatic Labs. See the Changelog for details of the latest releases and upcoming breaking changes.
Getting Started
A detailed set of installation and usage instructions as well as breakdowns of each individual component are available in the official documentation portal. If you still have questions, feel free to stop by our Discord.
Staking on Mainnet
To participate in staking, you can join the official eth2 launchpad. The launchpad is the only recommended way to become a validator on mainnet. You can explore validator rewards/penalties via Bitfly's block explorer: beaconcha.in, and follow the latest blocks added to the chain on beaconscan.
Contributing
Branches
Prysm maintains two permanent branches:
- master: This points to the latest stable release. It is ideal for most users.
- develop: This is used for development, it contains the latest PRs. Developers should base their PRs on this branch.
Guide
Want to get involved? Check out our Contribution Guide to learn more!
License
GNU General Public License v3.0
