The purpose of this document is to explain how the Smoothly Protocol works under the hood and our approach to build a smoothing pool to aggregate and average feeRecipient rewards for home validators.
The reader should be familiar with the concept of events in a smart contract and an understanding of how feeRecipient rewards work in eth2.0.
In order to aggregate and average rewards for home validators, we need two main components:
feeRecipient
address of all validators.monitors
and verifies
validators
and keeps track of their state
in the beacon chain.For this to work, we use events in the smart contract as the primary method for communication between the two.
Furthermore, for the Operator Node to verify and keep track of the validators in the
beacon chain, we use a beacon node HTTP API
to query for new proposed slots with
our feeRecipient
address and keep track of the state with a local leveldb
database.
The pool is in charge of:
feeRecipient
.events
emited.Any validator can join our smoothing pool, in two simple steps:
feeRecipient
address to our Smoothing Pool contract address.