forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit adds brief documentation for this feature. Included in the justification is the purpose of this feature as well as usage and functionality tips.
- Loading branch information
1 parent
381f77b
commit bff7c66
Showing
1 changed file
with
25 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Per-Peer Message Capture | ||
|
||
## Purpose | ||
|
||
This feature allows for message capture on a per-peer basis. It answers the simple question: "Can I see what messages my node is sending and receiving?" | ||
|
||
## Usage and Functionality | ||
|
||
* Run `bitcoind` with the `-capturemessages` option. | ||
* Look in the `message_capture` folder in your datadir. | ||
* Typically this will be `~/.bitcoin/message_capture`. | ||
* See that there are many folders inside, one for each peer names with its IP address and port. | ||
* Inside each peer's folder there are two `.dat` files: one is for received messages (`msgs_recv.dat`) and the other is for sent messages (`msgs_sent.dat`). | ||
* Run `contrib/message-capture/message-capture-parser.py` with the proper arguments. | ||
* See the `-h` option for help. | ||
* To see all messages, both sent and received, for all peers use: | ||
``` | ||
./contrib/message-capture/message-capture-parser.py -o out.json \ | ||
~/.bitcoin/message_capture/**/*.dat | ||
``` | ||
* Note: The messages in the given `.dat` files will be interleaved in chronological order. So, giving both received and sent `.dat` files (as above with `*.dat`) will result in all messages being interleaved in chronological order. | ||
* If an output file is not provided (i.e. the `-o` option is not used), then the output prints to `stdout`. | ||
* View the resulting output. | ||
* The output file is `JSON` formatted. | ||
* Suggestion: use `jq` to view the output, with `jq . out.json` |