js-libs icon indicating copy to clipboard operation
js-libs copied to clipboard

Make a simple JSONRPC call before pubsub

Open amaury1093 opened this issue 6 years ago • 1 comments
trafficstars

blockNumber$() is based on onEveryBlock$, which does a pubsub eth_subscribe('newHeads'). However, when we do blockNumber$().subscribe(), we might not get the latest block immediately, and need to wait for the next received block (can take up to 15s on mainnet).

A solution would be to make a JSONRPC call first, then do the pubsub subscribe.

Note: we were using parity_subscribe('eth_blockNumber') before, and that one returned immediately the latest block it had.

Note 2: do this on newHeads and on syncing pubsubs.

amaury1093 avatar Nov 29 '18 16:11 amaury1093

I imagine this could also be fixed upstream in the node, i.e. emit latest value (if available) on pubsub subscription

axelchalon avatar Mar 04 '19 10:03 axelchalon