diff --git a/node/node.go b/node/node.go index 62cc2c74f..b2020829c 100644 --- a/node/node.go +++ b/node/node.go @@ -441,7 +441,14 @@ func (n *nodeImpl) OnStart(ctx context.Context) error { genTime := n.genesisDoc.GenesisTime if genTime.After(now) { n.logger.Info("Genesis time is in the future. Sleeping until then...", "genTime", genTime) - time.Sleep(genTime.Sub(now)) + + timer := time.NewTimer(genTime.Sub(now)) + defer timer.Stop() + select { + case <-ctx.Done(): + return ctx.Err() + case <-timer.C: + } } // Start the RPC server before the P2P server