diff options
author | 0xb10c <0xb10c@gmail.com> | 2021-10-18 13:19:13 +0200 |
---|---|---|
committer | 0xb10c <0xb10c@gmail.com> | 2021-10-18 14:35:25 +0200 |
commit | 53c9fa9e6253ea89ba1057b35e018ad1a25fb97e (patch) | |
tree | 1f2173e522663fe2d75eef91561ef63afebca55c /src/bitcoin-util.cpp | |
parent | 3bf40d06a22ee1c547d2924d109b8e185ddbf5ef (diff) |
tracing: drop block_connected hash.toString() arg
The tracepoint `validation:block_connected` was introduced in #22006.
The first argument was the hash of the connected block as a pointer
to a C-like String. The last argument passed the hash of the
connected block as a pointer to 32 bytes. The hash was only passed as
string to allow `bpftrace` scripts to print the hash. It was
(incorrectly) assumed that `bpftrace` cannot hex-format and print the
block hash given only the hash as bytes.
The block hash can be printed in `bpftrace` by calling
`printf("%02x")` for each byte of the hash in an `unroll () {...}`.
By starting from the last byte of the hash, it can be printed in
big-endian (the block-explorer format).
```C
$p = $hash + 31;
unroll(32) {
$b = *(uint8*)$p;
printf("%02x", $b);
$p -= 1;
}
```
See also: https://github.com/bitcoin/bitcoin/pull/22902#discussion_r705176691
This is a breaking change to the block_connected tracepoint API, however
this tracepoint has not yet been included in a release.
Diffstat (limited to 'src/bitcoin-util.cpp')
0 files changed, 0 insertions, 0 deletions