Get block proposers duties
Request beacon node to provide all validators that are scheduled to propose a block in the given epoch. Duties should only need to be checked once per epoch, however a chain reorganization could occur that results in a change of duties. For full safety, you should monitor head events and confirm the dependent root in this response matches:
- event.current_duty_dependent_root when
compute_epoch_at_slot(event.slot) == epoch
- event.block otherwise
The dependent_root value is get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch) - 1)
or the genesis block root in the case of underflow.
Parameters
Name | Required | Type | Detail |
---|---|---|---|
epoch | ✅ | String (Query) | Should only be allowed 1 epoch ahead |
Result
Return all validators that are scheduled to propose a block in the given epoch
Example
Request
curl <your-endpoint>/eth/v1/validator/duties/proposer/1
Return
On success
{
"dependent_root": "0xde3224c4d6c3d9d4d79a1a7b5f2defc5cf87066f29786d463b5cbbac05002b27",
"data": [
{
"pubkey": "0x94c7a3eb04af1652393b2e45ba9b9cc2de691dd1673d5fea543a2a4b5efd3169b319f5c9ebc0ae757fdb14cd267989af",
"validator_index": "8072",
"slot": "32"
},
{
"pubkey": "0xaf970ae250be1c2f832c9a4e32ae8d448dc1e40c3b04904772239170ed455fb3fc032e1415218999a560204506e9f847",
"validator_index": "15162",
"slot": "33"
},
...
{
"pubkey": "0xb50b0428e49a082d1b8ab58dc43b3867c26ba85738a51a617e1043a945d8d43c417ef35a85d31f1aa332a052e157f775",
"validator_index": "9237",
"slot": "63"
}
],
"execution_optimistic": false
}