New mempool TX is always detected a few ms ahead of new block
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 32/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp, linux
- Domain
- blockchain, networking
Research direction
Start by tracing the ZeroMQ notification channels for mempool transactions and new blocks, then compare the reported timestamps with the sender's mempool observations. Determine whether transaction detection is asynchronous or polling-based, and document whether the notification path can be made faster; done means explaining the ordering and identifying a concrete improvement path.
Written by the indexing model from the issue text.
Description
We're running the latest elementsd on prod liquid chain, on Linux, using ZeroMQ notification channels to detect ZCs and new blocks, and always see the same picture:
[11/27/25 08:49:11.240] hashtx: c67a4a64fb33e68b83358a2c91748ce05d2cb0a0cb3c15ba7998d7a8841a4a89
[11/27/25 08:49:11.255] hashblock: de904b5995121e12148dbc0bc82f10925056fdd2aaf5ed0366a267e08ecc2c71
[11/27/25 09:43:11.522] hashtx: b2bac69b345f241ec38e887d08803fff564144f9ad81ad76cca66d3dc775bed3
[11/27/25 09:43:11.546] hashblock: 723b1b5a9b9f850553a8af228af16d8fd228c301a0d62bd3192a9cf5b5d23c55
while the sender sees the TX in mempool for a few dozens of seconds before that.
Is there a way to improve the ZC detection speed? Is elements using async method to detect ZCs in the chain, or just polling for new blocks?
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 418
- Avg merge
- 17h 26m
- Merged PRs (30d)
- 13
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ElementsProject/elements
-
Difficulty 2/5 1-3 hours Newbie friendliness 58/100
ElementsProject/elements#1555 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
ElementsProject/elements#1521 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
ElementsProject/elements#1502 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 38/100
ElementsProject/elements#1500 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
ElementsProject/elements#1496 · 3 comments ·
Maintainers usually reply within 1 day
All issues in ElementsProject/elements
Similar issues
-
Feature
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Narezzurri/OpenVPN-Config-Manager#95 ·
Maintainers usually reply within 1 day
-
bot-found bug priority: P1
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
madenvel/KalinkaPlayer#251 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sqlitebrowser/sqlitebrowser#4208 ·
-
ROSES ROSES - Student Review
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
area/ysql kind/bug priority/medium
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
yugabyte/yugabyte-db#34552 ·
Maintainers usually reply within 1 day