MCPcopy Create free account
hub / github.com/ethstorage/es-node / queryGenesisTime

Function queryGenesisTime

ethstorage/eth/beacon_client.go:42–67  ·  view source on GitHub ↗
(beaconUrl string)

Source from the content-addressed store, hash-verified

40}
41
42func queryGenesisTime(beaconUrl string) (uint64, error) {
43 queryUrl, err := url.JoinPath(beaconUrl, "/eth/v1/beacon/genesis")
44 if err != nil {
45 return 0, err
46 }
47 resp, err := http.Get(queryUrl)
48 if err != nil {
49 return 0, err
50 }
51 defer resp.Body.Close()
52
53 genesisResponse := &struct {
54 Data struct {
55 GenesisTime string `json:"genesis_time"`
56 } `json:"data"`
57 }{}
58 err = json.NewDecoder(resp.Body).Decode(&genesisResponse)
59 if err != nil {
60 return 0, err
61 }
62 gt, err := strconv.ParseUint(genesisResponse.Data.GenesisTime, 10, 64)
63 if err != nil {
64 return 0, err
65 }
66 return gt, nil
67}
68
69func (c *BeaconClient) Timestamp2Slot(time uint64) uint64 {
70 return (time - c.genesisSlotTime) / c.slotTime

Callers 1

NewBeaconClientFunction · 0.85

Calls 2

GetMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected