aboutsummaryrefslogtreecommitdiff
path: root/doc/zmq.md
AgeCommit message (Collapse)Author
2020-09-23doc: Adjust ZMQ usage to support multiple interfacesnthumann
2020-09-22Update zmq notification documentation and sample consumerGregory Sanders
2020-09-04doc: update PyZMQ installation instructions, ZeroMQ linkJon Atack
2020-09-02Merge #14687: zmq: enable tcp keepaliveJonas Schnelli
c276df775914e4e42993c76e172ef159e3b830d4 zmq: enable tcp keepalive (mruddy) Pull request description: This addresses https://github.com/bitcoin/bitcoin/issues/12754. These changes enable node operators to address the silent dropping (by network middle boxes) of long-lived low-activity ZMQ TCP connections via further operating system level TCP keepalive configuration. For example, ZMQ sockets that publish block hashes can be affected in this way due to the length of time it sometimes takes between finding blocks (e.g.- sometimes more than an hour). Prior to this patch, operating system level TCP keepalive configurations would not take effect since the SO_KEEPALIVE option was not enabled on the underlying socket. There are additional ZMQ socket options related to TCP keepalive that can be set. However, I decided not to implement those options in this changeset because doing so would require adding additional bitcoin node configuration options, and would not yield a better outcome. I preferred a small, easily reviewable patch that doesn't add a bunch of new config options, with the tradeoff that the fine tuning would have to be done via well-documented operating system specific configurations. I tested this patch by running a node with: `./src/qt/bitcoin-qt -regtest -txindex -datadir=/tmp/node -zmqpubhashblock=tcp://127.0.0.1:28332 &` and connecting to it with: `python3 ./contrib/zmq/zmq_sub.py` Without these changes, `ss -panto | grep 28332 | grep ESTAB | grep bitcoin` will report no keepalive timer information. With these changes, the output from the prior command will show keepalive timer information consistent with the configuration at the time of connection establishment, e.g.-: `timer:(keepalive,119min,0)`. I also tested with a non-TCP transport and did not witness any adverse effects: `./src/qt/bitcoin-qt -regtest -txindex -datadir=/tmp/node -zmqpubhashblock=ipc:///tmp/bitcoin.block &` ACKs for top commit: adamjonas: Just to summarize for those looking to review - as of c276df775914e4e42993c76e172ef159e3b830d4 there are 3 tACKs (n-thumann, Haaroon, and dlogemann), 1 "looks good to me" (laanwj) with no NACKs or any show-stopping concerns raised. jonasschnelli: utACK c276df775914e4e42993c76e172ef159e3b830d4 Tree-SHA512: b884c2c9814e97e666546a7188c48f9de9541499a11a934bd48dd16169a900c900fa519feb3b1cb7e9915fc7539aac2829c7806b5937b4e1409b4805f3ef6cd1
2020-05-12Add a link from ZMQ doc to ZMQ example in contrib/Damian Mee
2019-08-19doc: Add note regarding ZMQ block notificationJoão Barbosa
2018-11-15zmq: enable tcp keepalivemruddy
2018-10-19ZMQ: add options to configure outbound message high water mark, aka SNDHWMmruddy
2018-09-11[depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid deprecated zeromq api ↵mruddy
functions
2018-03-02Fix typos and cleanupDimitris Apostolou
[ci-skip]
2017-08-19Docs: Hash in ZMQ hash is raw bytes, not hexKarel Bílek
Transaction hash cannot be in hexadecimal, that would be 64 bytes. In reality it's just raw bytes.
2017-02-09Fix typo and spelling inconsistency in CONTRIBUTING.mdKoki Takahashi
Fix spellings of GitHub Remove unnecessary changes Fix GitHub spelling on doc/translation_process.md
2016-05-05[qa] Switch to py3MarcoFalke
2016-04-19[ZMQ] append a message sequence number to every ZMQ notificationJonas Schnelli
2015-10-18Correct spelling mistakes in doc folderMitchell Cash
- OSX —> OS X - XCode —> Xcode - github —> GitHub - homebrew —> Homebrew - gitian —> Gitian - Other miscellaneous obvious spelling fixes and whitespace removal
2015-10-12zmq: point API link to 4.0 as that is what we are conforming to [Trivial]Johnathan Corgan
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-10-05zmq: update docs to reflect feature is compiled in automatically if possibleJohnathan Corgan
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-09-29zmq: update and cleanup build-unix, release-notes, and zmq docsJohnathan Corgan
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-09-16Add ZeroMQ support. Notify blocks and transactions via ZeroMQJeff Garzik
Continues Johnathan Corgan's work. Publishing multipart messages Bugfix: Add missing zmq header includes Bugfix: Adjust build system to link ZeroMQ code for Qt binaries