I published a version of Mempool here that adds a bunch of BIP-110 specific visualizations. It is built for Start9 (if you don’t have a Start9 server and have some dev skills or can work with an LLM, the upstream source code is at this repo here). Be sure to verify the .s9pk package (Sparrow makes that easy) before side-loading it on your server via System > Sideload a Service
It highlights blocks in orange that would violate the BIP-110 rules if the soft fork were active today, and shows a visual of what percentage of the block space was consumed by garbage, and shows a count of garbage transactions. The goggles are updated to have filters for BIP-110 specific rule violations, and the transaction details shows which specific rules were violated.
There is also a visualization (though you probably won’t see it for a while) for when a block is tagged with the miner signalling for BIP110. If you are curious, that will look like this once those start showing up on the chain (this is a faked one that I used for debugging):
Thanks Paul! I really like the direction this is headed and I really appreciate the package work for a Start 9 implementation as well.
On the subject of SPAM in general, I had a thought a few months ago that, for a novice coder like me, seemed reasonable. However, I’m sure it has problems I’m not fully capable of anticipating.
My thought was that since a hash of hashes for each leaf of a Merkle tree (not sure that’s even the right way to phrase that), up to the root, have the same result as the hash of all the components, that it might be possible to have another node storage option that only stores the hash for data elements that don’t conform to local node policies. For elements that don’t conform, the hash, with a flag indicating this, rather than the original data might be stored. Peers requesting stored block data, if running compatible node software, would be able to recognize “hash-only” data elements and check them accordingly. Peers not running compatible versions would, of course, reject it and need to use data from another peer. Assuming the vast number of nodes preferred to ignore non-monetary data, the raw non-monetary data would become increasingly difficult to locate over time. On the other hand, if certain clients wish to preserve it off-chain, they could still verify it was authentic.
I’ve recently started digging into the bitcoin code to see if this thought is at all coherent, but I’ve only coded in very limited capacities to date, and in my advancing years (I’m now in my 60s), I recognize this might be a slog for me.
Anyhow, I thought I might post the thought here to get an idea of how reasonable, or unreasonable it is, my lack of detail notwithstanding.
Would your version conflict with the current version of Mempool that is installed? i.e. - Do I need to delete Mempool before installing your modified version?
As far as what is the point of mining on testnet, presumably someone has to mine on it for it to function (though a ton of hashrate isn’t necessary). It is also a good way to test new software that has functionality which only fires whenever you mine a block (since the difficulty is very low)
I suppose I could enable the network switching feature on my fork, so we could make sure it is properly detecting real BIP110 signalling “in the wild”. I don’t have the exact bit memorized, but in principle, the process he showed is how you could check for signaling blocks without having the cool neon-green visualization that I added.
Try uninstalling it. If it has an error and gets stuck in Uninstalling (I saw that happen once), then you’ll need to restart your server to clear that. Once back up and running you should be able to install it again.
I think there may still be something from the original Mempool app that it is referencing, and can’t find it since it has a different package name. I’ll see if I can recreate the issue, and try and track down a fix for it.
The decorations for the violations should will fill in after the block analysis process completes. It takes a while because I had to throttle the rate down to not overload the service.
Actually, I see the pool icons are missing in your screenshot too – I think you are still on the older version.