From b0a8cb13bf06dc2b42b346cfb5c45c42ef072d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Thu, 5 Oct 2023 10:55:32 +0300 Subject: [PATCH] miner: optimistically import built payloads to lower API latency --- miner/payload_building.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/miner/payload_building.go b/miner/payload_building.go index 7d8c4368bf..d7e6c7fb4f 100644 --- a/miner/payload_building.go +++ b/miner/payload_building.go @@ -193,6 +193,7 @@ func (w *worker) buildPayload(args *BuildPayloadArgs) (*Payload, error) { if empty.err != nil { return nil, empty.err } + w.chain.InsertBlockWithoutSetHead(empty.block) // ignore error, we're caching (also chain will log) // Construct a payload object for return. payload := newPayload(empty.block, args.Id()) @@ -228,6 +229,7 @@ func (w *worker) buildPayload(args *BuildPayloadArgs) (*Payload, error) { r := w.getSealingBlock(fullParams) if r.err == nil { payload.update(r, time.Since(start)) + w.chain.InsertBlockWithoutSetHead(r.block) // ignore error, we're caching (also chain will log) } timer.Reset(w.recommit) case <-payload.stop: