From 57ba3c6d547dfe03c9478f1101e9a3acfe5eba9d Mon Sep 17 00:00:00 2001 From: pk910 Date: Thu, 17 Aug 2023 04:50:37 +0200 Subject: [PATCH] use v2 api to get block bodies --- indexer/indexer.go | 1 + rpc/beaconapi.go | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/indexer/indexer.go b/indexer/indexer.go index 7e592b7b..aaf9a1cb 100644 --- a/indexer/indexer.go +++ b/indexer/indexer.go @@ -340,6 +340,7 @@ func (indexer *Indexer) runIndexerLoop() error { logger.Errorf("Indexer Error while polling latest head: %v", err) } case <-time.After(30 * time.Second): + logger.Info("No head event since 30 secs, polling chain head") err := indexer.pollHeadBlock() if err != nil { logger.Errorf("Indexer Error while polling latest head: %v", err) diff --git a/rpc/beaconapi.go b/rpc/beaconapi.go index 5c9ae253..8cfb827f 100644 --- a/rpc/beaconapi.go +++ b/rpc/beaconapi.go @@ -182,7 +182,10 @@ func (bc *BeaconClient) GetBlockHeaderBySlot(slot uint64) (*rpctypes.StandardV1B } func (bc *BeaconClient) GetBlockBodyByBlockroot(blockroot []byte) (*rpctypes.StandardV2BeaconBlockResponse, error) { - resp, err := bc.get(fmt.Sprintf("%s/eth/v1/beacon/blocks/0x%x", bc.endpoint, blockroot)) + resp, err := bc.get(fmt.Sprintf("%s/eth/v2/beacon/blocks/0x%x", bc.endpoint, blockroot)) + if err != nil { + resp, err = bc.get(fmt.Sprintf("%s/eth/v1/beacon/blocks/0x%x", bc.endpoint, blockroot)) + } if err != nil { return nil, fmt.Errorf("error retrieving block body for 0x%x: %v", blockroot, err) }