{
  "founder": "achow101",
  "channel": "#bitcoin-core-dev",
  "network": "libera",
  "id": "1f1984de489e40ab8d11cd6e24bbe019",
  "name": "#bitcoin-core-dev",
  "chair": "achow101",
  "chairs": [
    "achow101"
  ],
  "nicks": {
    "achow101": 28,
    "corebot`": 18,
    "hodlinator": 1,
    "TheCharlatan": 12,
    "maxedw": 1,
    "hebasto": 2,
    "furszy": 1,
    "johnny9dev": 3,
    "dergoegge": 16,
    "pinheadmz": 1,
    "fjahr": 3,
    "brunoerg_": 2,
    "vasild": 9,
    "lightlike": 3,
    "instagibbs": 2,
    "eugenesiegel": 10,
    "stickies-v": 1,
    "l0rinc": 18,
    "cfields": 13,
    "jonatack": 7,
    "purpleKarrot": 1,
    "marcofleon": 2,
    "rkrux": 1,
    "sipa": 38,
    "sr_gi[m]1": 2,
    "abubakarsadiq": 3,
    "fanquake": 11,
    "dzxzg": 2,
    "Sjors[m]1": 1
  },
  "start_time": "2025-06-12T16:00:15.602803+00:00",
  "end_time": "2025-06-12T16:58:07.946226+00:00",
  "active": false,
  "original_topic": "Bitcoin Core development discussion and commit log | Feel free to watch, but please take commentary and usage questions to #bitcoin | Channel logs: http://www.erisian.com.au/bitcoin-core-dev/, http://gnusha.org/bitcoin-core-dev/ | Weekly Meeting Thursday @ 16:00 UTC | Meeting topics http://gnusha.org/bitcoin-core-dev/proposedmeetingtopics.txt",
  "current_topic": "[IBD] multi-byte block obfuscation (l0rinc)",
  "messages": [
    {
      "id": "3fa3c98d7e774bb689bd134da72d270d",
      "sender": "achow101",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2025-06-12T16:00:15.602071+00:00"
    },
    {
      "id": "9a78e853e28f4079afa2838c935e6fff",
      "sender": "corebot`",
      "payload": "achow101: Meeting started at 2025-06-12T16:00+0000",
      "action": false,
      "timestamp": "2025-06-12T16:00:15.607673+00:00"
    },
    {
      "id": "66a9a0290b084eb3ab63e4024c2fddf2",
      "sender": "corebot`",
      "payload": "achow101: Current chairs: achow101",
      "action": false,
      "timestamp": "2025-06-12T16:00:16.610605+00:00"
    },
    {
      "id": "9daab2242c934ca29291bcc19f0fdb3c",
      "sender": "hodlinator",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:17.125846+00:00"
    },
    {
      "id": "c71a38e3684941749608e6faa53808b4",
      "sender": "corebot`",
      "payload": "achow101: Useful commands: #action #info #idea #link #topic #motion #vote #close #endmeeting",
      "action": false,
      "timestamp": "2025-06-12T16:00:18.128534+00:00"
    },
    {
      "id": "10050d0dd07849909d5ee47d4ba40050",
      "sender": "corebot`",
      "payload": "achow101: See also: https://hcoop-meetbot.readthedocs.io/en/stable/",
      "action": false,
      "timestamp": "2025-06-12T16:00:19.133033+00:00"
    },
    {
      "id": "1c92372fe97d48b58dbb364123e4af88",
      "sender": "corebot`",
      "payload": "achow101: Participants should now identify themselves with '#here' or with an alias like '#here FirstLast'",
      "action": false,
      "timestamp": "2025-06-12T16:00:20.137668+00:00"
    },
    {
      "id": "c15f84591e384e71a0ecc28a8724607b",
      "sender": "TheCharlatan",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:21.854910+00:00"
    },
    {
      "id": "2208c1df2b7d4e9b8a6432fc5fe875e7",
      "sender": "achow101",
      "payload": "#bitcoin-core-dev Meeting: abubakarsadiq achow101 _aj_ ajonas b10c brunoerg cfields darosior dergoegge fanquake fjahr furszy gleb glozow hebasto hodlinator instagibbs jarolrod jonatack josibake kanzure laanwj LarryRuane lightlike luke-jr maflcko marcofleon maxedw Murch pinheadmz provoostenator ryanofsky sdaftuar S3RK stickies-v sipa sr_gi tdb3 theStack TheCharlatan vasild willcl-ark",
      "action": false,
      "timestamp": "2025-06-12T16:00:24.900781+00:00"
    },
    {
      "id": "51080820381547509f67a9447fa31b08",
      "sender": "maxedw",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:25.157395+00:00"
    },
    {
      "id": "187b159ff5fd4a56ab3db97dc18a8cf7",
      "sender": "hebasto",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:27.967039+00:00"
    },
    {
      "id": "3263cc1529594eda8d5007c0a3f91632",
      "sender": "furszy",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:30.041178+00:00"
    },
    {
      "id": "ecd5c8c30d24452cb5a192ca77106ef4",
      "sender": "johnny9dev",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:30.801020+00:00"
    },
    {
      "id": "4958583659c3448ca1ecada128dd27f7",
      "sender": "dergoegge",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:32.108017+00:00"
    },
    {
      "id": "78e9c2ad231a47f29da3672d23d15bde",
      "sender": "pinheadmz",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:34.655205+00:00"
    },
    {
      "id": "89ff5190c3514ca9a06f8dddbe741442",
      "sender": "fjahr",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:36.561200+00:00"
    },
    {
      "id": "1996d198d53940388e81d03e359763f0",
      "sender": "brunoerg_",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:39.326063+00:00"
    },
    {
      "id": "433ffe6a206b4b9abd034114e48c10b6",
      "sender": "vasild",
      "payload": "hi (I am back on time)",
      "action": false,
      "timestamp": "2025-06-12T16:00:41.254872+00:00"
    },
    {
      "id": "8e8aaf01bae943dbbee786a7daf4a557",
      "sender": "lightlike",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:42.469268+00:00"
    },
    {
      "id": "f4f8d8166fe848c69329a492a73c05bc",
      "sender": "instagibbs",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:00:51.077352+00:00"
    },
    {
      "id": "5413c819318341658ae0a30825e2030d",
      "sender": "achow101",
      "payload": "There are 2 preproposed meeting topics this week. Any last minute ones to add?",
      "action": false,
      "timestamp": "2025-06-12T16:00:52.661682+00:00"
    },
    {
      "id": "fa63fe21ba544d18a397ca87caaf6e0b",
      "sender": "eugenesiegel",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:01:05.056821+00:00"
    },
    {
      "id": "7d43bb8cded94a83bc0670f57280cd5f",
      "sender": "stickies-v",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:01:15.744904+00:00"
    },
    {
      "id": "9710d7a97e58477ba6d2b2cbc5ee103a",
      "sender": "l0rinc",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:01:31.642312+00:00"
    },
    {
      "id": "c0d9049846be4a0e9d0a3d3b9d057d5b",
      "sender": "cfields",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:01:45.256125+00:00"
    },
    {
      "id": "d1beb60edd77496a920719538d5c8f41",
      "sender": "jonatack",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:01:48.249848+00:00"
    },
    {
      "id": "bf89dcc9c8ae44acbe9b0a2f95b1b476",
      "sender": "achow101",
      "payload": "#topic Fuzzing WG Update (dergoegge)",
      "action": false,
      "timestamp": "2025-06-12T16:01:55.420390+00:00"
    },
    {
      "id": "6bd6143f6953426cbc164ddba6deb1ae",
      "sender": "dergoegge",
      "payload": "Fuzzamoto (https://github.com/dergoegge/fuzzamoto) has been my primary focus the last couple months. Wrote some notes on what I\u2019ve been up to here: https://gist.github.com/dergoegge/46c7a5fd2468b5b108f5c34ac1f88e45. Quick summary:",
      "action": false,
      "timestamp": "2025-06-12T16:02:09.172770+00:00"
    },
    {
      "id": "532a545b0db1469b8ceb1d0fe7125ae8",
      "sender": "dergoegge",
      "payload": "The project now includes a custom fuzzing engine for structure aware fuzzing of p2p protocol message sequences. Coverage report for that as of jun 10: https://dergoegge.github.io/bitcoin-coverage/fuzzamoto/ir-jun10/coverage/bitcoin/index.html",
      "action": false,
      "timestamp": "2025-06-12T16:02:21.651452+00:00"
    },
    {
      "id": "a1f560cfc1ba4e028ad7e819a7ed4b8b",
      "sender": "dergoegge",
      "payload": "Highlights from the cov report:",
      "action": false,
      "timestamp": "2025-06-12T16:02:32.245000+00:00"
    },
    {
      "id": "cd1b6073f09b46e98947bf24c50f16b9",
      "sender": "dergoegge",
      "payload": "More net_processing coverage than the in-repo fuzz tests, in all coverage metrics (line, function, region, branch) coverage (e.g. ~70% vs ~ 64% line coverage). Also coverage for reorgs went from nothing to something (i.e. Chainstate::DisconnectTip, Chainstate::MaybeUpdateMempoolForReorg)",
      "action": false,
      "timestamp": "2025-06-12T16:02:39.774531+00:00"
    },
    {
      "id": "7cf1865c346245f0a7520de58f75998c",
      "sender": "dergoegge",
      "payload": "I\u2019m still working on extending the fuzzer to increase coverage (e.g. no compact block support atm) and brainstorming what kind of bug oracles are feasible (please lmk if you have any ideas, join the fuzzing wg)",
      "action": false,
      "timestamp": "2025-06-12T16:03:00.957080+00:00"
    },
    {
      "id": "a35e4765650e4f1bae33fa3019b06461",
      "sender": "purpleKarrot",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:03:08.795620+00:00"
    },
    {
      "id": "c30f78bd73ad4c688c80af57c185ea1f",
      "sender": "dergoegge",
      "payload": "Lastly, it would be interesting to have a collection of real p2p/validation bugs to test the fuzzer against (beyond what\u2019s list ed on https://bitcoincore.org/en/security-advisories/). If you know of or have found bugs in your own or other PRs please let me know! Any kind of bug (logic, crash, \u2026) is fine.",
      "action": false,
      "timestamp": "2025-06-12T16:03:19.928163+00:00"
    },
    {
      "id": "ef2c543d40f64a32ac3e0df85e10f369",
      "sender": "marcofleon",
      "payload": "hype",
      "action": false,
      "timestamp": "2025-06-12T16:03:39.924549+00:00"
    },
    {
      "id": "8e2c0007eedf4e10865e4571998c2a92",
      "sender": "instagibbs",
      "payload": "nice re:reorgs",
      "action": false,
      "timestamp": "2025-06-12T16:03:48.291641+00:00"
    },
    {
      "id": "014ddf79ccf54e0c810ea5efb4cef6e5",
      "sender": "rkrux",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:03:55.038960+00:00"
    },
    {
      "id": "b058cd1dbe28498fb34046b061c72c18",
      "sender": "eugenesiegel",
      "payload": "awesome about reorgs",
      "action": false,
      "timestamp": "2025-06-12T16:03:55.891077+00:00"
    },
    {
      "id": "3c9b35c5163b49189a7581f710d4b091",
      "sender": "brunoerg_",
      "payload": "nice",
      "action": false,
      "timestamp": "2025-06-12T16:04:15.907665+00:00"
    },
    {
      "id": "216c1c8842254c83988efcf770bc2789",
      "sender": "sipa",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:04:41.044892+00:00"
    },
    {
      "id": "5021b5cca5ed4e949693da62288d6c66",
      "sender": "sipa",
      "payload": "dergoegge: cool, will think about bugs that can be included",
      "action": false,
      "timestamp": "2025-06-12T16:05:35.214038+00:00"
    },
    {
      "id": "5e0a2705052844d989aee126cceba059",
      "sender": "achow101",
      "payload": "#topic Kernel WG Update (TheCharlatan)",
      "action": false,
      "timestamp": "2025-06-12T16:06:38.436812+00:00"
    },
    {
      "id": "130db9c971194d04bd8eae8673a2abec",
      "sender": "TheCharlatan",
      "payload": "I pushed a new version of #32427 including a write ahead log and crc32c checksums for each entry. Performance still seems to be a bit better compared to leveldb. This should make writes atomic and provide detection for potential corruption.",
      "action": false,
      "timestamp": "2025-06-12T16:06:43.304628+00:00"
    },
    {
      "id": "f050064215d54db3b6828b9cd76448f5",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/32427 | (RFC) kernel: Replace leveldb-based BlockTreeDB with flat-file based store by TheCharlatan \u00b7 Pull Request #32427 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:06:45.309331+00:00"
    },
    {
      "id": "882f2193be8449c5ba723a50fb9d6101",
      "sender": "cfields",
      "payload": "\ud83d\ude80",
      "action": false,
      "timestamp": "2025-06-12T16:07:12.534694+00:00"
    },
    {
      "id": "50683e9caa9e4c37a6c79c8bc309dd52",
      "sender": "TheCharlatan",
      "payload": "also looking for review on #32317",
      "action": false,
      "timestamp": "2025-06-12T16:07:41.923757+00:00"
    },
    {
      "id": "3dabcf1e7d1b4aed9a84629a1a2fc95b",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/32317 | kernel: Separate UTXO set access from validation functions by TheCharlatan \u00b7 Pull Request #32317 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:07:44.929775+00:00"
    },
    {
      "id": "36eb45b9ac84469c84c60a50fb170ba9",
      "sender": "TheCharlatan",
      "payload": "that's all for now",
      "action": false,
      "timestamp": "2025-06-12T16:08:13.293090+00:00"
    },
    {
      "id": "8151fa3a56074289951127edb02f3c60",
      "sender": "sipa",
      "payload": "TheCharlatan: (sorry for being lazy and not looking at code), what path structure are you using?",
      "action": false,
      "timestamp": "2025-06-12T16:08:13.419311+00:00"
    },
    {
      "id": "3142dfb923ab471e902136f5c31926a3",
      "sender": "cfields",
      "payload": "32427 spawned a discussion about a new on-disk block layout that is a bit of a distraction...",
      "action": false,
      "timestamp": "2025-06-12T16:08:14.614251+00:00"
    },
    {
      "id": "25a11d39e71e467e9ebfa6a18e801a9a",
      "sender": "sr_gi[m]1",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:08:17.103235+00:00"
    },
    {
      "id": "8d55c41311e840238d88068be365e302",
      "sender": "abubakarsadiq",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-12T16:08:30.992959+00:00"
    },
    {
      "id": "c5c456018a0645d68681d71c4bc24cc5",
      "sender": "sipa",
      "payload": "cfields: jinx, ok...",
      "action": false,
      "timestamp": "2025-06-12T16:08:40.263818+00:00"
    },
    {
      "id": "fe860e237ed54bcab5d8a583097eafb7",
      "sender": "cfields",
      "payload": "I think it might be worth having that discussion here a bit..",
      "action": false,
      "timestamp": "2025-06-12T16:08:45.560386+00:00"
    },
    {
      "id": "e5d374adb46740669936be40f54a550d",
      "sender": "TheCharlatan",
      "payload": "path structures?",
      "action": false,
      "timestamp": "2025-06-12T16:08:46.975232+00:00"
    },
    {
      "id": "ac0b800a758e47998ad681798cc74f01",
      "sender": "cfields",
      "payload": "sipa: hah",
      "action": false,
      "timestamp": "2025-06-12T16:08:47.701646+00:00"
    },
    {
      "id": "2a2822cbbacf4b188aee50eb4a8f8b76",
      "sender": "sipa",
      "payload": "TheCharlatan: directory/file names",
      "action": false,
      "timestamp": "2025-06-12T16:09:00.624069+00:00"
    },
    {
      "id": "c0944afef89b4050bfbf47e741c5b60f",
      "sender": "l0rinc",
      "payload": "TheCharlatan: \"Performance still seems to be a bit better compared to leveldb\" - I have measured a reindex until 888888 blocks for your PR and the performance seemed roughly the same",
      "action": false,
      "timestamp": "2025-06-12T16:09:22.273048+00:00"
    },
    {
      "id": "70c3bd12e7ee4957973cf9755f8a4586",
      "sender": "TheCharlatan",
      "payload": "oh, yeah, the PR does not touch the actual block storage hierarchy.",
      "action": false,
      "timestamp": "2025-06-12T16:09:47.771467+00:00"
    },
    {
      "id": "852df415e5764bbdb0541195cd4a1474",
      "sender": "sipa",
      "payload": "ah, ok",
      "action": false,
      "timestamp": "2025-06-12T16:09:59.667261+00:00"
    },
    {
      "id": "4751892e5b944118b22da76efb2a461f",
      "sender": "cfields",
      "payload": "tldr: in the review for 32427, several reviewers brought up the idea of changing the on-disk block format while we're at it. One suggested example is one-file-per-block...",
      "action": false,
      "timestamp": "2025-06-12T16:10:32.926746+00:00"
    },
    {
      "id": "4d05775c52634c52a89847540167c06f",
      "sender": "dergoegge",
      "payload": "the on disk block index storage performance should not affect ibd at all, we keep all of it in memory no?",
      "action": false,
      "timestamp": "2025-06-12T16:10:54.826608+00:00"
    },
    {
      "id": "1630db5d03694303910c9b7b9a37298e",
      "sender": "sipa",
      "payload": "dergoegge: flushes to utxo set trigger flushes of block data, which could take some marginal amount of time?",
      "action": false,
      "timestamp": "2025-06-12T16:11:30.347682+00:00"
    },
    {
      "id": "bf715eb938f64ec58e117d743357b5a8",
      "sender": "TheCharlatan",
      "payload": "I also think that given that we have some flexibility with the existing pair of 64bit numbers to point to a location on disk, we might be able to use the encoding for single block files.",
      "action": false,
      "timestamp": "2025-06-12T16:11:37.380370+00:00"
    },
    {
      "id": "252fbeff981a406092f93edc515a79de",
      "sender": "cfields",
      "payload": "for 32427 to move forward, we either need to agree to punt on that discussion and bring it up again later, or bikeshed some layout changes. For the sake of not grinding the flat index changes to a halt, I prefer the former.",
      "action": false,
      "timestamp": "2025-06-12T16:11:47.128924+00:00"
    },
    {
      "id": "7121d7ad25934078a681f7f04e380a31",
      "sender": "dergoegge",
      "payload": "sipa: ah right, ty",
      "action": false,
      "timestamp": "2025-06-12T16:11:53.185676+00:00"
    },
    {
      "id": "ac7749ba7c40429cbc0b0a274269eff0",
      "sender": "vasild",
      "payload": "\"one-file-per-block\" ... some filesystems may not handle well 1M files, is there any benefit from doing that?",
      "action": false,
      "timestamp": "2025-06-12T16:11:56.610825+00:00"
    },
    {
      "id": "3ab8a1f5b3f248fe9d18e6798f1bc9e5",
      "sender": "l0rinc",
      "payload": "won't we have problems with so many open files on Windows - like we had with LevelDB?",
      "action": false,
      "timestamp": "2025-06-12T16:12:00.658439+00:00"
    },
    {
      "id": "8262f723a27d48aba6143d987d62068f",
      "sender": "sipa",
      "payload": "vasild: they can be grouped into subdirectories too, either by hash, or (my suggestion, i think) by height",
      "action": false,
      "timestamp": "2025-06-12T16:12:27.245711+00:00"
    },
    {
      "id": "e453b5fc7f9f4d0a8c07ec38eaa4e44f",
      "sender": "cfields",
      "payload": "vasild: you don't really need an index anymore if the blocks can be located using the filesystem alone.",
      "action": false,
      "timestamp": "2025-06-12T16:12:31.091216+00:00"
    },
    {
      "id": "312d7d5e5ccd44229d30c04f3f29db8d",
      "sender": "vasild",
      "payload": "sure, I do not mean 1M files in a single directory",
      "action": false,
      "timestamp": "2025-06-12T16:12:47.626491+00:00"
    },
    {
      "id": "ce2ca1517cd54473b9b6b3e753ee2365",
      "sender": "cfields",
      "payload": "er, a much simpler index at least.",
      "action": false,
      "timestamp": "2025-06-12T16:12:53.437446+00:00"
    },
    {
      "id": "41d50f0b5e264238abe082ec440fd156",
      "sender": "sipa",
      "payload": "yes, agree with that, don't put 1M files in a single directory :)",
      "action": false,
      "timestamp": "2025-06-12T16:12:59.973204+00:00"
    },
    {
      "id": "787d0a4714c04331a6f89193d67b046f",
      "sender": "l0rinc",
      "payload": "would be really cool to try it out though - let me know if I can help with benchmarking anything",
      "action": false,
      "timestamp": "2025-06-12T16:13:00.472593+00:00"
    },
    {
      "id": "e4f47ed30dd043c18d918179f67fbdb0",
      "sender": "TheCharlatan",
      "payload": "dergoegge yes, in ibd time it is just good to know there are no regressions. The speedup during block index loading when starting a node is more significant though.",
      "action": false,
      "timestamp": "2025-06-12T16:13:13.260224+00:00"
    },
    {
      "id": "d21264dd811943849631cce2a413dd18",
      "sender": "lightlike",
      "payload": "people tend to copy datadirs for backups etc. years ago that would take very long with millions of files, did that change?",
      "action": false,
      "timestamp": "2025-06-12T16:13:14.912393+00:00"
    },
    {
      "id": "e43a8b886e154f4eb47926a7e8d8dc70",
      "sender": "sipa",
      "payload": "cfields: no need for the block data structure change (if any) to be made in the same PR, it suffices if it's in the same release",
      "action": false,
      "timestamp": "2025-06-12T16:13:55.286906+00:00"
    },
    {
      "id": "bd231db2a41249c9b149449a92da9c79",
      "sender": "sipa",
      "payload": "cfields: well \"index\" isn't the right word anymore then, but we still have a block database with things like validation status and so on (though, arguably, that belongs more in validation then block storage)",
      "action": false,
      "timestamp": "2025-06-12T16:15:00.567491+00:00"
    },
    {
      "id": "9e638e2e6b454de78c590f2d9e0946f4",
      "sender": "vasild",
      "payload": "cfields: that would be like outsouring the indexing to the OS/filesystem, e.g. blocks/1/15/153/153764 (for block 153764). The question is can we do better than the worst OS/FS that is going to use Bitcoin Core, or even, better than the best FS?",
      "action": false,
      "timestamp": "2025-06-12T16:15:02.165595+00:00"
    },
    {
      "id": "6f90c7eb29974bc4a476a0320316dbb9",
      "sender": "l0rinc",
      "payload": "would that mean that leveldb indexes can point to files and indexes now instead of duplicating any data? Or is that still problematic for pruned nodes?",
      "action": false,
      "timestamp": "2025-06-12T16:15:03.874798+00:00"
    },
    {
      "id": "98db24b94e75472196077bd40d41825d",
      "sender": "sipa",
      "payload": "it'd be pretty awesome if the block index can go away, and its remaining fields moved into the chainstate",
      "action": false,
      "timestamp": "2025-06-12T16:15:30.856598+00:00"
    },
    {
      "id": "4675794301974246aeb951d182b90f47",
      "sender": "vasild",
      "payload": "I guess it has to be tested...",
      "action": false,
      "timestamp": "2025-06-12T16:15:56.874397+00:00"
    },
    {
      "id": "9186def7798c437facfed48fa8850121",
      "sender": "cfields",
      "payload": "sipa: right",
      "action": false,
      "timestamp": "2025-06-12T16:15:57.198824+00:00"
    },
    {
      "id": "2e59efe62a2443b2a190664b101d95ba",
      "sender": "sipa",
      "payload": "though maybe not more than an aesthetical advantage",
      "action": false,
      "timestamp": "2025-06-12T16:16:07.217718+00:00"
    },
    {
      "id": "02aba4aba0b54b259b88b0d7919168dd",
      "sender": "sipa",
      "payload": "it's just ugly that we store validity of a block in the block index, it's not a storage-related thing but a validation-related one",
      "action": false,
      "timestamp": "2025-06-12T16:16:26.202328+00:00"
    },
    {
      "id": "1283aaf156304ca09981c3802b3b3025",
      "sender": "cfields",
      "payload": "sipa: much easier for non-core software to read blocks. definitely not just aesthetic.",
      "action": false,
      "timestamp": "2025-06-12T16:16:33.002560+00:00"
    },
    {
      "id": "daf8bae9abec4c1287286a79177a3c0d",
      "sender": "sipa",
      "payload": "cfields: i'm talking about the block index going away, independent of block storage structure used",
      "action": false,
      "timestamp": "2025-06-12T16:16:52.962140+00:00"
    },
    {
      "id": "3bd234c6e3b9424ab231e67b22bd7cd4",
      "sender": "sipa",
      "payload": "lightlike: yeah, i worry about that too - maybe in these days with fast SSDs that's less of an issue, but i don't actually know",
      "action": false,
      "timestamp": "2025-06-12T16:17:41.132917+00:00"
    },
    {
      "id": "68bbca4e082345f3b1a2f0dbf0bad4dc",
      "sender": "cfields",
      "payload": "sipa: not sure what you mean. how does it go away if we still need to map them to a non-addressable location?",
      "action": false,
      "timestamp": "2025-06-12T16:18:19.933050+00:00"
    },
    {
      "id": "0ce915fa9c4d49c49c3f5dff477f7d3a",
      "sender": "TheCharlatan",
      "payload": "also seems useful though to have block validity included for as long as we can't read the chainstate easily from external sources.",
      "action": false,
      "timestamp": "2025-06-12T16:19:21.341845+00:00"
    },
    {
      "id": "b67c857382294bf9b5d29f64172613b3",
      "sender": "sipa",
      "payload": "cfields: sorry, i'm being confusing. I'm talking about the advantage of the block index going away, which is something that's only possible with a change to directory structure - but i'm just talking that that index going away itself is nice, ignoring the advantage that the directory structure may bring without that",
      "action": false,
      "timestamp": "2025-06-12T16:20:00.727399+00:00"
    },
    {
      "id": "78f0898cde6548f6aeda07e6f044dcc1",
      "sender": "sipa",
      "payload": "TheCharlatan: i disagree!",
      "action": false,
      "timestamp": "2025-06-12T16:20:06.837052+00:00"
    },
    {
      "id": "e5a49817157943e9a2138a1bb290726a",
      "sender": "sipa",
      "payload": "TheCharlatan: it's pretty counterintuitive that someone just copying the block data, but not chainstate, would inherit the validity status from that block data",
      "action": false,
      "timestamp": "2025-06-12T16:20:29.062070+00:00"
    },
    {
      "id": "83c20ae15c7846018ef8928b62dbb18a",
      "sender": "cfields",
      "payload": "sipa: ah, yes, completely agree.",
      "action": false,
      "timestamp": "2025-06-12T16:20:39.577910+00:00"
    },
    {
      "id": "ef6cabde045c412ca6618100a6d173ce",
      "sender": "TheCharlatan",
      "payload": "mmh, so you couldn't recreate the  block tree anymore without re-validating?",
      "action": false,
      "timestamp": "2025-06-12T16:22:45.880502+00:00"
    },
    {
      "id": "3d3371270d554ccdba7706aba1b34720",
      "sender": "sipa",
      "payload": "TheCharlatan: i just wouldn't think of the validity status as part of the block data",
      "action": false,
      "timestamp": "2025-06-12T16:23:27.657949+00:00"
    },
    {
      "id": "1128d88e75e8448f8743a3cc3dffaf04",
      "sender": "sipa",
      "payload": "you can recreate it from just disk, but without a chainstate to fill in validity status, every block would be marked as non-validated",
      "action": false,
      "timestamp": "2025-06-12T16:23:47.370057+00:00"
    },
    {
      "id": "44c85e39b3254ce9a39379316ac87e34",
      "sender": "sipa",
      "payload": "this is probably getting a bit into the weeds for this meeting",
      "action": false,
      "timestamp": "2025-06-12T16:24:10.882953+00:00"
    },
    {
      "id": "c0015f7ce7614c87ad28ddc647c4f798",
      "sender": "TheCharlatan",
      "payload": "yes :)",
      "action": false,
      "timestamp": "2025-06-12T16:24:19.706725+00:00"
    },
    {
      "id": "ab1f1152dde6404592556b1b308a3288",
      "sender": "lightlike",
      "payload": "i feel like the discussion of this idea deserves a separate issue, it's not that related to ThCharlatan's PR.",
      "action": false,
      "timestamp": "2025-06-12T16:24:25.700860+00:00"
    },
    {
      "id": "f31979717cfe48ef8f2583e53378c6a6",
      "sender": "TheCharlatan",
      "payload": "sooo... next topic?",
      "action": false,
      "timestamp": "2025-06-12T16:25:40.540946+00:00"
    },
    {
      "id": "e18c55c168e04e6187d3e78b50185829",
      "sender": "achow101",
      "payload": "next topic",
      "action": false,
      "timestamp": "2025-06-12T16:25:54.130679+00:00"
    },
    {
      "id": "e637eb6367184f56aeda8e9cb487ce68",
      "sender": "achow101",
      "payload": "#topic Benchmarking WG Update (josie, l0rinc)",
      "action": false,
      "timestamp": "2025-06-12T16:25:55.575758+00:00"
    },
    {
      "id": "d6d93fcfb465443a8f4d29978479ee0d",
      "sender": "l0rinc",
      "payload": "I have opened the obfuscation PR in Oct 2024, split off other smaller optimizations since, some of those are merged already - the XOR block obfuscation one is next, reproducers and reviewers are welcome",
      "action": false,
      "timestamp": "2025-06-12T16:26:10.373001+00:00"
    },
    {
      "id": "fc6aaa51fce94d2cb4ef1045ec2cf9f4",
      "sender": "l0rinc",
      "payload": "I've received 2 raspberry pi servers recently, I will be able to do benchmarks on those as well (already measured Sipa's #32545) - since many people are complaining they're IBDs are taking weeks",
      "action": false,
      "timestamp": "2025-06-12T16:26:35.117946+00:00"
    },
    {
      "id": "808a4d08424941c099ce9c9e7b642c37",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/32545 | Replace cluster linearization algorithm with SFL by sipa \u00b7 Pull Request #32545 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:26:37.122207+00:00"
    },
    {
      "id": "1b2a243645714c2daa67f716b2ace012",
      "sender": "l0rinc",
      "payload": "And lately I'm measuring memory usages as well besides performance with massif and heaptrack as well - see #28531",
      "action": false,
      "timestamp": "2025-06-12T16:26:57.971420+00:00"
    },
    {
      "id": "a93ecf51a3c249f389d1247b50b1257c",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/28531 | improve MallocUsage() accuracy by LarryRuane \u00b7 Pull Request #28531 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:27:00.977084+00:00"
    },
    {
      "id": "3c9d49fb7e1841cb8d459773e90cc444",
      "sender": "jonatack",
      "payload": "nice",
      "action": false,
      "timestamp": "2025-06-12T16:27:15.472460+00:00"
    },
    {
      "id": "c30b6e43b0b34704b0c704947d08d04f",
      "sender": "l0rinc",
      "payload": "I noticed that GCC and Clang optimize differently - is it important to benchmark both?",
      "action": false,
      "timestamp": "2025-06-12T16:27:48.715489+00:00"
    },
    {
      "id": "b2c498463f33419bb36620bc7b14807c",
      "sender": "sipa",
      "payload": "whatever is used for releases is what matters most",
      "action": false,
      "timestamp": "2025-06-12T16:28:01.607316+00:00"
    },
    {
      "id": "f19235c483f34f669a6ce0ade9e33429",
      "sender": "fanquake",
      "payload": "GCC 13.3.0",
      "action": false,
      "timestamp": "2025-06-12T16:28:11.362288+00:00"
    },
    {
      "id": "ffd1b113af7549eea4f1a49813b91632",
      "sender": "sipa",
      "payload": "which is IIRC clang for macOS and gcc for windows and linux",
      "action": false,
      "timestamp": "2025-06-12T16:28:13.342944+00:00"
    },
    {
      "id": "d4504aecb73b409f905d92b3ccdda7ae",
      "sender": "fanquake",
      "payload": "clang 18 for macos",
      "action": false,
      "timestamp": "2025-06-12T16:28:21.114631+00:00"
    },
    {
      "id": "5958d15e11d744f99c43af2c960a9ffe",
      "sender": "l0rinc",
      "payload": "the tracking PR for speeding up Initial Block Download, where I have collected the results of the benchmarks I've done is in #32043",
      "action": false,
      "timestamp": "2025-06-12T16:29:30.715274+00:00"
    },
    {
      "id": "852c6cceffe44835a719bf9accd75eb1",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/32043 | [IBD] Tracking PR for speeding up Initial Block Download by l0rinc \u00b7 Pull Request #32043 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:29:32.719590+00:00"
    },
    {
      "id": "28c0c14cb7ef4c3999c47fdfc1cafa39",
      "sender": "jonatack",
      "payload": "maybe you are already doing so, but benchmarking with slow internet connections for ibd/p2p might reveal additional issues in how a change under consideration impacts nodes under more hostile conditions like that",
      "action": false,
      "timestamp": "2025-06-12T16:29:43.643407+00:00"
    },
    {
      "id": "fd0c4486f0f04713bf5ea1bb74c8da09",
      "sender": "l0rinc",
      "payload": "the PI server are also on slightly slower network and lower memory (4 & 8GB)",
      "action": false,
      "timestamp": "2025-06-12T16:30:42.349905+00:00"
    },
    {
      "id": "4ff19d6d811e48e7956ea67b646f8226",
      "sender": "dzxzg",
      "payload": "it's challenging to create realistic bad network conditions in a way that is also reproducible",
      "action": false,
      "timestamp": "2025-06-12T16:31:28.946082+00:00"
    },
    {
      "id": "ea776f4909654f2baf07f6a7dc4a614d",
      "sender": "l0rinc",
      "payload": "if you think it's important, I can simulate slow connections as well to see what that reveals (the Hetzner servers I have are very fast for normal IBD as well, I guess the nodes it find are probably also from Hetnzer)",
      "action": false,
      "timestamp": "2025-06-12T16:31:59.901891+00:00"
    },
    {
      "id": "be08c7f0ee884f198bc4567d9845d170",
      "sender": "jonatack",
      "payload": "benchmarking how bitcoind holds up under tough conditions seems valuable (i find it does very well currently, apart from ibd time)",
      "action": false,
      "timestamp": "2025-06-12T16:32:36.227403+00:00"
    },
    {
      "id": "d619d7ebcbc74368ab1e4d1efac69759",
      "sender": "jonatack",
      "payload": "(and the stalling/timeout->disconnect logic)",
      "action": false,
      "timestamp": "2025-06-12T16:33:01.562203+00:00"
    },
    {
      "id": "f108fcc447ae49f390484ae5e3ec913a",
      "sender": "sipa",
      "payload": "yeah i think those are very different things to measure",
      "action": false,
      "timestamp": "2025-06-12T16:33:13.877375+00:00"
    },
    {
      "id": "6214ee8dfbe64211b641a918b40e9cea",
      "sender": "l0rinc",
      "payload": "I've also checked swiftsync with very simpmple xor instead of muhash - and locally on my laptop it finished a reindex until 888888 blocks in 29 minutes",
      "action": false,
      "timestamp": "2025-06-12T16:33:20.182673+00:00"
    },
    {
      "id": "a0e38e228e394c1d9d1f825ed65f1223",
      "sender": "sipa",
      "payload": "pure computation/disk/io based effects",
      "action": false,
      "timestamp": "2025-06-12T16:33:31.009598+00:00"
    },
    {
      "id": "9f9d8bf016ea4541b12e611dc8de8476",
      "sender": "abubakarsadiq",
      "payload": "not sure whether it will help, but having a node with few peers as well? like doing ibd without inbounds, someone complained to me that their ibd was slow.",
      "action": false,
      "timestamp": "2025-06-12T16:33:39.082414+00:00"
    },
    {
      "id": "61b309f6101e4d2d9bcb4be2f29bf84e",
      "sender": "abubakarsadiq",
      "payload": "when I checked it due to having very few peers, basically no inbounds at all.",
      "action": false,
      "timestamp": "2025-06-12T16:33:39.208912+00:00"
    },
    {
      "id": "1f74a71e56bf4e1db666b313c02bbfce",
      "sender": "sipa",
      "payload": "vs network block IBD fetching effects",
      "action": false,
      "timestamp": "2025-06-12T16:33:40.581390+00:00"
    },
    {
      "id": "5857f61029ee4566948b0d1abc91d8c6",
      "sender": "eugenesiegel",
      "payload": "I have heard that netem can be used to simulate latency",
      "action": false,
      "timestamp": "2025-06-12T16:33:48.453840+00:00"
    },
    {
      "id": "6e68ef1653ea4119912f96227cc6725b",
      "sender": "achow101",
      "payload": "sorry, going to try to keep things moving since we have 2 actual topics this week",
      "action": false,
      "timestamp": "2025-06-12T16:34:42.957802+00:00"
    },
    {
      "id": "c8ae9fe74bfa46df9abcb9f0cd522cee",
      "sender": "achow101",
      "payload": "we can have further discussion after the meeting, or in an issue on github",
      "action": false,
      "timestamp": "2025-06-12T16:34:51.740076+00:00"
    },
    {
      "id": "24bc1311fab84c2fb05dc244b8e7087b",
      "sender": "l0rinc",
      "payload": "k, thanks",
      "action": false,
      "timestamp": "2025-06-12T16:34:52.630759+00:00"
    },
    {
      "id": "6fab2ba4db6f4747bbc35a8b5028b637",
      "sender": "achow101",
      "payload": "#topic Cluster Mempool WG Update (sdaftuar, sipa)",
      "action": false,
      "timestamp": "2025-06-12T16:34:57.153524+00:00"
    },
    {
      "id": "e74a062a324a43bab9ebafd823b62362",
      "sender": "sipa",
      "payload": "not much to report",
      "action": false,
      "timestamp": "2025-06-12T16:35:01.329659+00:00"
    },
    {
      "id": "cb5fa41d8c744103b42c143feb97acbc",
      "sender": "sipa",
      "payload": "next to review remains reorg support in txgraph, #31553",
      "action": false,
      "timestamp": "2025-06-12T16:35:24.279159+00:00"
    },
    {
      "id": "75837da1a2e845c1973e789971d81419",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/31553 | cluster mempool: add TxGraph reorg functionality by sipa \u00b7 Pull Request #31553 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:35:28.286032+00:00"
    },
    {
      "id": "342deb79680d4470a2df479008a70579",
      "sender": "sipa",
      "payload": "had some activity on a test-only but non-blocking PR, #30605, which had a review club, and grew a bit in more test improvements since",
      "action": false,
      "timestamp": "2025-06-12T16:36:00.347837+00:00"
    },
    {
      "id": "e1695707374a412784804d0af405b657",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/30605 | Cluster linearization: separate tests from tests-of-tests by sipa \u00b7 Pull Request #30605 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:36:02.351259+00:00"
    },
    {
      "id": "524d3c292c8e485a88e094cd2bcb0588",
      "sender": "sipa",
      "payload": "i posted instructions for more intensive benchmarking of the new linearization algorithm in #32545, if people want to participate in that",
      "action": false,
      "timestamp": "2025-06-12T16:36:35.358652+00:00"
    },
    {
      "id": "477bfbd583f3499f80614399ba911271",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/32545 | Replace cluster linearization algorithm with SFL by sipa \u00b7 Pull Request #32545 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:36:37.362951+00:00"
    },
    {
      "id": "c0707db666e845a18112cef4ec48d550",
      "sender": "sipa",
      "payload": "that's it from me",
      "action": false,
      "timestamp": "2025-06-12T16:36:46.041867+00:00"
    },
    {
      "id": "cc009bacbfe94eba96d04fac56eb331b",
      "sender": "achow101",
      "payload": "#topic MuSig2 WG Update (achow101, rkrux)",
      "action": false,
      "timestamp": "2025-06-12T16:36:52.842759+00:00"
    },
    {
      "id": "599e3cf03996484f8fe317f78d0d3cdc",
      "sender": "achow101",
      "payload": "Not much to update, #31244 has gotten some review which I've been addressing",
      "action": false,
      "timestamp": "2025-06-12T16:37:02.944883+00:00"
    },
    {
      "id": "89a758c60ba543c3861673cd48b5ea35",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/31244 | descriptors: MuSig2 by achow101 \u00b7 Pull Request #31244 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:37:06.952085+00:00"
    },
    {
      "id": "8addb02dc882452abd36f99f9a7f6ec4",
      "sender": "achow101",
      "payload": "The change to the BIP is still waiting to see if anyone has an opinion on the duplicate participants",
      "action": false,
      "timestamp": "2025-06-12T16:37:11.815739+00:00"
    },
    {
      "id": "0a635d0036fb4edcad1b37a3482345d5",
      "sender": "achow101",
      "payload": "#topic QML GUI WG Update (jarolrod, johnny9dev)",
      "action": false,
      "timestamp": "2025-06-12T16:37:25.242797+00:00"
    },
    {
      "id": "3246099f8d2e495e9276719d70e1bd00",
      "sender": "sipa",
      "payload": "achow101: link to BIP change?",
      "action": false,
      "timestamp": "2025-06-12T16:37:26.617592+00:00"
    },
    {
      "id": "b89dff7de811437984ad1f4a1fcdb4fb",
      "sender": "sipa",
      "payload": "ah, or that's on the ML?",
      "action": false,
      "timestamp": "2025-06-12T16:37:43.106278+00:00"
    },
    {
      "id": "553fde0ba40e4effa9daaf2c4eacdb92",
      "sender": "achow101",
      "payload": "sipa: ML",
      "action": false,
      "timestamp": "2025-06-12T16:37:47.262893+00:00"
    },
    {
      "id": "2929d346eb424ae2bf315a9530d543b7",
      "sender": "jonatack",
      "payload": "https://github.com/bitcoin/bips/pull/1867",
      "action": false,
      "timestamp": "2025-06-12T16:37:49.277177+00:00"
    },
    {
      "id": "237dabe96739472d931420a7e3332ba5",
      "sender": "johnny9dev",
      "payload": "Significant progress was made this week on rebasing the project and moving it to CMake+Qt6. Both hebasto and pinheadmz have PRs now to test and fix issues with the update. bitcoin-core/gui-qml#470 bitcoin-core/gui-qml#472. Both PRs are now able to load up the QML app and get to the main navigation and views.",
      "action": false,
      "timestamp": "2025-06-12T16:37:51.625973+00:00"
    },
    {
      "id": "0f6f40b79f3d47c5a10dd2ef6d0d915f",
      "sender": "johnny9dev",
      "payload": "For myself, I've been focused on the current Send and Recieve PRs that are in review. I've also been making updates to how address inputs are handled, bitcoin amount label formatting, and address label formatting to get closer to the design spec.",
      "action": false,
      "timestamp": "2025-06-12T16:37:51.712513+00:00"
    },
    {
      "id": "044b72de62c7406db42b331c02be43c8",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin-core/gui-qml/issues/470 | [WIP] Sync with main repo: CMake + Qt 6 by hebasto \u00b7 Pull Request #470 \u00b7 bitcoin-core/gui-qml \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:37:56.719863+00:00"
    },
    {
      "id": "27487eca2df7457695c8830c87466702",
      "sender": "sipa",
      "payload": "achow101: thanks",
      "action": false,
      "timestamp": "2025-06-12T16:37:59.450854+00:00"
    },
    {
      "id": "92b1c7765526486b8d1dc50505c1c824",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin-core/gui-qml/issues/472 | Rebase gui-qml on bitcoin/bitcoin, include qt6 and cmake by pinheadmz \u00b7 Pull Request #472 \u00b7 bitcoin-core/gui-qml \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:38:00.453694+00:00"
    },
    {
      "id": "45b583200d084cfc9e01a4c9a619eaec",
      "sender": "hebasto",
      "payload": "bitcoin-core/gui-qml#472 is preferred",
      "action": false,
      "timestamp": "2025-06-12T16:38:37.464738+00:00"
    },
    {
      "id": "841b70b064714a79b04bc4f4ede2fb1a",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin-core/gui-qml/issues/472 | Rebase gui-qml on bitcoin/bitcoin, include qt6 and cmake by pinheadmz \u00b7 Pull Request #472 \u00b7 bitcoin-core/gui-qml \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:38:41.472193+00:00"
    },
    {
      "id": "4d9ddf4b2c6a4e1aa025831ef1812816",
      "sender": "achow101",
      "payload": "#topic Script Validation WG Update (fjahr)",
      "action": false,
      "timestamp": "2025-06-12T16:39:57.765593+00:00"
    },
    {
      "id": "4994d8c4345347c6b91b85045ebc69e7",
      "sender": "fjahr",
      "payload": "Nothing really noteworthy this week, more time for the *actual* topics ;)",
      "action": false,
      "timestamp": "2025-06-12T16:40:01.179867+00:00"
    },
    {
      "id": "c3e7bd7e1e0048798f4f05ecc5ec4a7a",
      "sender": "achow101",
      "payload": "#topic Erlay WG Update (sr_gi, gleb)",
      "action": false,
      "timestamp": "2025-06-12T16:40:15.421496+00:00"
    },
    {
      "id": "b407f9a82e73462984be0781da955cc0",
      "sender": "sr_gi[m]1",
      "payload": "Nothing much to report on my end either, I've been off a couple of weeks. Currently picking warnet sims where I left them before leaving. Will report once I'm finished",
      "action": false,
      "timestamp": "2025-06-12T16:41:03.280038+00:00"
    },
    {
      "id": "74d6f5764ae64222bf2b4b9a379d2a40",
      "sender": "achow101",
      "payload": "#topic Rough poll - how many people use GCC and how many of those do generate code coverage with GCC? (vasild)",
      "action": false,
      "timestamp": "2025-06-12T16:41:16.743694+00:00"
    },
    {
      "id": "39c620d951f04183afd45831a144d94d",
      "sender": "vasild",
      "payload": "Trying to get an estimate of how many people are using the current GCC-oriented coverage we have in CMake.",
      "action": false,
      "timestamp": "2025-06-12T16:41:25.526259+00:00"
    },
    {
      "id": "8e2b8d96fd864501a5acae0361db1358",
      "sender": "eugenesiegel",
      "payload": "I use gcc for code coverage",
      "action": false,
      "timestamp": "2025-06-12T16:41:55.289585+00:00"
    },
    {
      "id": "4911b860dcaa41e2b4ea67955162475e",
      "sender": "achow101",
      "payload": "I use gcc, but I haven't generated coverage with it in ~5 years (or any other coverage really)",
      "action": false,
      "timestamp": "2025-06-12T16:41:58.550963+00:00"
    },
    {
      "id": "bd790a2aa54c4f51801258a9a8f15920",
      "sender": "sipa",
      "payload": "i use GCC for creating benchmarking builds, and clang for fuzzing builds; i haven't used coverage tools for a long time (maybe i should?)",
      "action": false,
      "timestamp": "2025-06-12T16:42:08.430533+00:00"
    },
    {
      "id": "63d24eb67e5d46228911746996a1dd2c",
      "sender": "fjahr",
      "payload": "Only have been using clang for anything cov related since that was what was recommended to me, but definitely not a heavy user lately",
      "action": false,
      "timestamp": "2025-06-12T16:42:27.273279+00:00"
    },
    {
      "id": "5593016e667d4a2eb321c34fd430fea5",
      "sender": "eugenesiegel",
      "payload": "coverage reports are nice for telling you where the fuzzer is stuck",
      "action": false,
      "timestamp": "2025-06-12T16:42:34.659030+00:00"
    },
    {
      "id": "40f9c1db6f2b45ccaf057b1966c2cdaf",
      "sender": "fanquake",
      "payload": "eugenesiegel: are you using GCC for fuzzing? Or just switching to it for coverage?",
      "action": false,
      "timestamp": "2025-06-12T16:43:01.799859+00:00"
    },
    {
      "id": "b738228fddec4004a8db4b73cd427f40",
      "sender": "eugenesiegel",
      "payload": "fanquake: I use libfuzzer to fuzz on a VM, and then run the corpus through with gcc coverage on my mac",
      "action": false,
      "timestamp": "2025-06-12T16:44:19.432669+00:00"
    },
    {
      "id": "0f65bbfe05d74c8da41d8c65e4faec09",
      "sender": "fanquake",
      "payload": "gcc on a mac is clang though? So brew installed GCC?",
      "action": false,
      "timestamp": "2025-06-12T16:44:56.578446+00:00"
    },
    {
      "id": "52ce7421875c4203966eb4a3f23f5570",
      "sender": "l0rinc",
      "payload": "I usually use test code coverage in cLion which automatically adds the `-DCMAKE_CXX_FLAGS=\"-fcoverage-mapping -fprofile-instr-generate\" -DCMAKE_C_FLAGS=\"-fcoverage-mapping -fprofile-instr-generate\"` options",
      "action": false,
      "timestamp": "2025-06-12T16:44:59.645719+00:00"
    },
    {
      "id": "a6d040d3c03a4211836680636f4d5f86",
      "sender": "dergoegge",
      "payload": "l0rinc: and then you (or cLion) uses the llvm tools to create the actual report?",
      "action": false,
      "timestamp": "2025-06-12T16:45:53.816894+00:00"
    },
    {
      "id": "fafa416e25e14ce8b26c8b38d310b49f",
      "sender": "l0rinc",
      "payload": "there's a built-in report, haven't checked how it generates it",
      "action": false,
      "timestamp": "2025-06-12T16:46:55.567049+00:00"
    },
    {
      "id": "097ef4524f42440d9e4b9f4f078f662f",
      "sender": "eugenesiegel",
      "payload": "fanquake: oh, I didn't know that. I use gcov so I assumed it was gcc",
      "action": false,
      "timestamp": "2025-06-12T16:46:55.810876+00:00"
    },
    {
      "id": "f01f8d7d52e44d05bc7fb2c715ebfb5f",
      "sender": "fanquake",
      "payload": "What is the output of gcc --version",
      "action": false,
      "timestamp": "2025-06-12T16:47:22.435576+00:00"
    },
    {
      "id": "42ad505276c241df84037ac1242f0e45",
      "sender": "dergoegge",
      "payload": "eugenesiegel: to clarify, your reports look like this: https://maflcko.github.io/b-c-cov/fuzz.coverage/index.html ?",
      "action": false,
      "timestamp": "2025-06-12T16:47:33.471501+00:00"
    },
    {
      "id": "2da164c14ed7477a89005a5079c56bc2",
      "sender": "vasild",
      "payload": "for the records, the context of this topic is https://github.com/bitcoin/bitcoin/issues/31047",
      "action": false,
      "timestamp": "2025-06-12T16:47:41.283599+00:00"
    },
    {
      "id": "ab716f3b62fd45829b3a1669e18fdf37",
      "sender": "eugenesiegel",
      "payload": "fanquake: clang 16",
      "action": false,
      "timestamp": "2025-06-12T16:48:05.911600+00:00"
    },
    {
      "id": "fb13d3c964a34f64aa8063bffbbcf46f",
      "sender": "fanquake",
      "payload": "Right, so that'll probably be Clang in compat mode",
      "action": false,
      "timestamp": "2025-06-12T16:48:50.561571+00:00"
    },
    {
      "id": "0fab675a8cc54c2b8e584325f7036bdf",
      "sender": "eugenesiegel",
      "payload": "dergoegge: no they don't, they look like this https://crypt-iq.github.io/fuzz_coverage_reports/cmpctblock-nyx-cov-06012025/",
      "action": false,
      "timestamp": "2025-06-12T16:49:23.294748+00:00"
    },
    {
      "id": "6576d6a766ad43968b75b7557c97e0cd",
      "sender": "jonatack",
      "payload": "brew says gcc 15.1, but currently for me gcc --version is Apple clang version 17.0.0 (clang-1700.0.13.5)",
      "action": false,
      "timestamp": "2025-06-12T16:49:24.057887+00:00"
    },
    {
      "id": "a5d11b35a21d45e7b0019d0c11bb34f1",
      "sender": "achow101",
      "payload": "I'm fine with replacing the gcc based coverage with clang based. IIRC, the current instructions don't even work?",
      "action": false,
      "timestamp": "2025-06-12T16:49:58.386841+00:00"
    },
    {
      "id": "23fbaceb864e4a1980f8da045c97c1fd",
      "sender": "achow101",
      "payload": "already have to switch compilers to use libfuzzer, and to get things like thread-safety warnings",
      "action": false,
      "timestamp": "2025-06-12T16:50:35.328471+00:00"
    },
    {
      "id": "999d8bb11b584baa8384e7e1dd5a6154",
      "sender": "marcofleon",
      "payload": "I think we have proper clang coverage instructions in the docs?",
      "action": false,
      "timestamp": "2025-06-12T16:50:55.809695+00:00"
    },
    {
      "id": "a86ad5dd1666433f9de407f4d50ec002",
      "sender": "dergoegge",
      "payload": "eugenesiegel: got it! \"Generated by llvm-cov\", so you're using the clang and the llvm tooling",
      "action": false,
      "timestamp": "2025-06-12T16:50:59.349146+00:00"
    },
    {
      "id": "650267e1d4194895a29a8477645e7d4e",
      "sender": "vasild",
      "payload": "achow101: current instructions work for me: https://github.com/bitcoin/bitcoin/issues/31047#issuecomment-2658930755",
      "action": false,
      "timestamp": "2025-06-12T16:51:15.167781+00:00"
    },
    {
      "id": "04f3d9d573244bafacca8b1ba8e9e0a4",
      "sender": "dergoegge",
      "payload": "(that's what it says at the bottom)",
      "action": false,
      "timestamp": "2025-06-12T16:51:18.040337+00:00"
    },
    {
      "id": "a1353a43b8fc45fb994cbff463940724",
      "sender": "Sjors[m]1",
      "payload": "#31047",
      "action": false,
      "timestamp": "2025-06-12T16:51:21.727353+00:00"
    },
    {
      "id": "16f56270d4684b69b5d24688ac6fd000",
      "sender": "corebot`",
      "payload": "https://github.com/bitcoin/bitcoin/issues/31047 | build: RFC Coverage build type \u00b7 Issue #31047 \u00b7 bitcoin/bitcoin \u00b7 GitHub",
      "action": false,
      "timestamp": "2025-06-12T16:51:22.730061+00:00"
    },
    {
      "id": "9f326782e16f4f56bade6d001dcc7b0a",
      "sender": "dzxzg",
      "payload": "Isn't it possible to compile with gcc and make a coverage report with lcov?",
      "action": false,
      "timestamp": "2025-06-12T16:51:39.117769+00:00"
    },
    {
      "id": "5e36790bcce141a88d0a64446d725cfc",
      "sender": "achow101",
      "payload": "vasild: hmm ok. I did try a while ago and it didn't work, but didn't try to debug what went wrong",
      "action": false,
      "timestamp": "2025-06-12T16:52:05.148295+00:00"
    },
    {
      "id": "8ef682e039eb4dc0b32e9e573dc3652d",
      "sender": "eugenesiegel",
      "payload": "dergoegge: oops. I think I used to use gcc but I guess not anymore",
      "action": false,
      "timestamp": "2025-06-12T16:52:37.685978+00:00"
    },
    {
      "id": "471bce4170ca482c99431a5ad33f349c",
      "sender": "fanquake",
      "payload": "dzxzg: it depends on the system, the verison of the tools, might require additional options etc",
      "action": false,
      "timestamp": "2025-06-12T16:52:41.772817+00:00"
    },
    {
      "id": "7f99148ddb804732a030fb702302f147",
      "sender": "fanquake",
      "payload": "i.e there are breaking changes between lcov 1.6 and 2.0",
      "action": false,
      "timestamp": "2025-06-12T16:53:05.804166+00:00"
    },
    {
      "id": "7732857ef0d7429f9dba1e8ad0d8cd2a",
      "sender": "dergoegge",
      "payload": "I think the llvm reports are also just more readable (see my comment here: https://github.com/bitcoin/bitcoin/issues/31047#issuecomment-2396661558)",
      "action": false,
      "timestamp": "2025-06-12T16:53:22.064928+00:00"
    },
    {
      "id": "45b89617030d4b2990e66851013d97ed",
      "sender": "fanquake",
      "payload": "using clang / llvm, unless you're installation is somehow broken, everything will just work in harmony",
      "action": false,
      "timestamp": "2025-06-12T16:53:37.984086+00:00"
    },
    {
      "id": "e4811240ed4843d8a3865a5afc8911b1",
      "sender": "fanquake",
      "payload": "and you get working sanitizers, fuzzing, thread safety etc",
      "action": false,
      "timestamp": "2025-06-12T16:53:52.912062+00:00"
    },
    {
      "id": "717228a106de4a0b8183919f70b76d15",
      "sender": "fanquake",
      "payload": "(hence why all of our important infra is using it)",
      "action": false,
      "timestamp": "2025-06-12T16:54:08.508492+00:00"
    },
    {
      "id": "17d5436e09584e179e634decf7252186",
      "sender": "achow101",
      "payload": "i think further discussion can happen in the issue",
      "action": false,
      "timestamp": "2025-06-12T16:54:18.950794+00:00"
    },
    {
      "id": "fe53d679972b479cb4511de84ce86517",
      "sender": "dergoegge",
      "payload": "so no one is using gcc is the conclusion?",
      "action": false,
      "timestamp": "2025-06-12T16:54:40.468992+00:00"
    },
    {
      "id": "feb5d82415114c039848f1cce4951218",
      "sender": "sipa",
      "payload": "except release builds",
      "action": false,
      "timestamp": "2025-06-12T16:54:47.141971+00:00"
    },
    {
      "id": "e73857ff580742e3a66f8c0af5dce76f",
      "sender": "sipa",
      "payload": ":p",
      "action": false,
      "timestamp": "2025-06-12T16:54:50.237874+00:00"
    },
    {
      "id": "7de81aa66cad45288fb3550257bb7277",
      "sender": "achow101",
      "payload": "dergoegge: seems like it",
      "action": false,
      "timestamp": "2025-06-12T16:54:53.642929+00:00"
    },
    {
      "id": "541f45db02384eb2a01c61ecb8c060fa",
      "sender": "vasild",
      "payload": ":)",
      "action": false,
      "timestamp": "2025-06-12T16:54:59.774801+00:00"
    },
    {
      "id": "4256568fb9c640fdb49e3f8810a95206",
      "sender": "achow101",
      "payload": "#topic [IBD] multi-byte block obfuscation (l0rinc)",
      "action": false,
      "timestamp": "2025-06-12T16:55:07.054645+00:00"
    },
    {
      "id": "e756ed07d1884023ad33913196e857fe",
      "sender": "dergoegge",
      "payload": ":D",
      "action": false,
      "timestamp": "2025-06-12T16:55:09.097756+00:00"
    },
    {
      "id": "4d4211fc92a243029e284ec04f0f761c",
      "sender": "l0rinc",
      "payload": "I have already talked about this, thanks",
      "action": false,
      "timestamp": "2025-06-12T16:55:56.148163+00:00"
    },
    {
      "id": "b058c694390a48f99c033d6e06fd8e02",
      "sender": "achow101",
      "payload": "ah, it was just asking for more review?",
      "action": false,
      "timestamp": "2025-06-12T16:56:17.073584+00:00"
    },
    {
      "id": "0b3ff764cd8e4110a3346d5c406810b3",
      "sender": "achow101",
      "payload": "Any other topics to discuss?",
      "action": false,
      "timestamp": "2025-06-12T16:56:39.578631+00:00"
    },
    {
      "id": "83aaaa2301754f339672446433c7be25",
      "sender": "l0rinc",
      "payload": "and I haven't talked about this before, just decided to join IRC, so wanted to give some context :)",
      "action": false,
      "timestamp": "2025-06-12T16:56:40.346920+00:00"
    },
    {
      "id": "dd1ca7a8e5584fd19b3e502da10bb66f",
      "sender": "achow101",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2025-06-12T16:58:07.945609+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "3fa3c98d7e774bb689bd134da72d270d",
        "sender": "achow101",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2025-06-12T16:00:15.602071+00:00"
      },
      "operand": null,
      "id": "3fa3c98d7e774bb689bd134da72d270d",
      "timestamp": "2025-06-12T16:00:15.602071+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "bf89dcc9c8ae44acbe9b0a2f95b1b476",
        "sender": "achow101",
        "payload": "#topic Fuzzing WG Update (dergoegge)",
        "action": false,
        "timestamp": "2025-06-12T16:01:55.420390+00:00"
      },
      "operand": "Fuzzing WG Update (dergoegge)",
      "id": "bf89dcc9c8ae44acbe9b0a2f95b1b476",
      "timestamp": "2025-06-12T16:01:55.420390+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "5e0a2705052844d989aee126cceba059",
        "sender": "achow101",
        "payload": "#topic Kernel WG Update (TheCharlatan)",
        "action": false,
        "timestamp": "2025-06-12T16:06:38.436812+00:00"
      },
      "operand": "Kernel WG Update (TheCharlatan)",
      "id": "5e0a2705052844d989aee126cceba059",
      "timestamp": "2025-06-12T16:06:38.436812+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "e637eb6367184f56aeda8e9cb487ce68",
        "sender": "achow101",
        "payload": "#topic Benchmarking WG Update (josie, l0rinc)",
        "action": false,
        "timestamp": "2025-06-12T16:25:55.575758+00:00"
      },
      "operand": "Benchmarking WG Update (josie, l0rinc)",
      "id": "e637eb6367184f56aeda8e9cb487ce68",
      "timestamp": "2025-06-12T16:25:55.575758+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "6fab2ba4db6f4747bbc35a8b5028b637",
        "sender": "achow101",
        "payload": "#topic Cluster Mempool WG Update (sdaftuar, sipa)",
        "action": false,
        "timestamp": "2025-06-12T16:34:57.153524+00:00"
      },
      "operand": "Cluster Mempool WG Update (sdaftuar, sipa)",
      "id": "6fab2ba4db6f4747bbc35a8b5028b637",
      "timestamp": "2025-06-12T16:34:57.153524+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "cc009bacbfe94eba96d04fac56eb331b",
        "sender": "achow101",
        "payload": "#topic MuSig2 WG Update (achow101, rkrux)",
        "action": false,
        "timestamp": "2025-06-12T16:36:52.842759+00:00"
      },
      "operand": "MuSig2 WG Update (achow101, rkrux)",
      "id": "cc009bacbfe94eba96d04fac56eb331b",
      "timestamp": "2025-06-12T16:36:52.842759+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "0a635d0036fb4edcad1b37a3482345d5",
        "sender": "achow101",
        "payload": "#topic QML GUI WG Update (jarolrod, johnny9dev)",
        "action": false,
        "timestamp": "2025-06-12T16:37:25.242797+00:00"
      },
      "operand": "QML GUI WG Update (jarolrod, johnny9dev)",
      "id": "0a635d0036fb4edcad1b37a3482345d5",
      "timestamp": "2025-06-12T16:37:25.242797+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "2929d346eb424ae2bf315a9530d543b7",
        "sender": "jonatack",
        "payload": "https://github.com/bitcoin/bips/pull/1867",
        "action": false,
        "timestamp": "2025-06-12T16:37:49.277177+00:00"
      },
      "operand": "https://github.com/bitcoin/bips/pull/1867",
      "id": "2929d346eb424ae2bf315a9530d543b7",
      "timestamp": "2025-06-12T16:37:49.277177+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "4d9ddf4b2c6a4e1aa025831ef1812816",
        "sender": "achow101",
        "payload": "#topic Script Validation WG Update (fjahr)",
        "action": false,
        "timestamp": "2025-06-12T16:39:57.765593+00:00"
      },
      "operand": "Script Validation WG Update (fjahr)",
      "id": "4d9ddf4b2c6a4e1aa025831ef1812816",
      "timestamp": "2025-06-12T16:39:57.765593+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "c3e7bd7e1e0048798f4f05ecc5ec4a7a",
        "sender": "achow101",
        "payload": "#topic Erlay WG Update (sr_gi, gleb)",
        "action": false,
        "timestamp": "2025-06-12T16:40:15.421496+00:00"
      },
      "operand": "Erlay WG Update (sr_gi, gleb)",
      "id": "c3e7bd7e1e0048798f4f05ecc5ec4a7a",
      "timestamp": "2025-06-12T16:40:15.421496+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "74d6f5764ae64222bf2b4b9a379d2a40",
        "sender": "achow101",
        "payload": "#topic Rough poll - how many people use GCC and how many of those do generate code coverage with GCC? (vasild)",
        "action": false,
        "timestamp": "2025-06-12T16:41:16.743694+00:00"
      },
      "operand": "Rough poll - how many people use GCC and how many of those do generate code coverage with GCC? (vasild)",
      "id": "74d6f5764ae64222bf2b4b9a379d2a40",
      "timestamp": "2025-06-12T16:41:16.743694+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "4256568fb9c640fdb49e3f8810a95206",
        "sender": "achow101",
        "payload": "#topic [IBD] multi-byte block obfuscation (l0rinc)",
        "action": false,
        "timestamp": "2025-06-12T16:55:07.054645+00:00"
      },
      "operand": "[IBD] multi-byte block obfuscation (l0rinc)",
      "id": "4256568fb9c640fdb49e3f8810a95206",
      "timestamp": "2025-06-12T16:55:07.054645+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "dd1ca7a8e5584fd19b3e502da10bb66f",
        "sender": "achow101",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2025-06-12T16:58:07.945609+00:00"
      },
      "operand": null,
      "id": "dd1ca7a8e5584fd19b3e502da10bb66f",
      "timestamp": "2025-06-12T16:58:07.945609+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}