The Cryptonomics™
  • Home
  • Blockchain
  • Bitcoin
  • Ethereum
  • NFTS
  • Altcoin
  • Mining
  • Consulting
Reading: bitcoin core – Decoding chainstate UTXOs: TXID, block peak, and stability misalignment
Share
Please enter CoinGecko Free Api Key to get this plugin works.
The Cryptonomics™The Cryptonomics™
Font ResizerAa
Search
  • Home
  • Blockchain
  • Bitcoin
  • Ethereum
  • NFTS
  • Altcoin
  • Mining
  • Consulting
Follow US
  • About Us
  • Advertising Solutions
  • Privacy
  • Terms
  • Advertise
Copyright © MetaMedia™ Capital Inc, All right reserved
The Cryptonomics™ > Bitcoin > bitcoin core – Decoding chainstate UTXOs: TXID, block peak, and stability misalignment
Bitcoin

bitcoin core – Decoding chainstate UTXOs: TXID, block peak, and stability misalignment

admin
Last updated: July 26, 2025 4:27 am
admin Published July 26, 2025
Share
bitcoin core – Decoding chainstate UTXOs: TXID, block peak, and stability misalignment


I’m attempting to make a rust toolset for studying UTXOs instantly from chain state. I’m following bitcoin supply virtually to the letter (at the very least I believe I’m).

I’ve a decode_varint

pub fn decode_varint(information: &[u8]) -> Choice<(u32, usize)> {
    let mut n: u32 = 0;
    let mut shift = 0;

    for (i, &byte) in information.iter().enumerate().take(5) {
        let half = (byte & 0x7F) as u32;
        n |= half << shift;

        if byte & 0x80 == 0 {
            return Some((n, i + 1));
        }

        // Bitcoin provides this quirk:
        n = n.wrapping_add(1 << shift);
        shift += 7;
    }

    None
}

I’ve a decompress_amount

pub fn decompress_amount(x: u64) -> u64 {
    if x == 0 {
        return 0;
    }
    let mut x = x - 1;
    let e = x % 10;
    x /= 10;
    let mut n;
    if e < 9 {
        let d = (x % 9) + 1;
        x /= 9;
        n = x * 10 + d;
    } else {
        n = x + 1;
    }
    for _ in 0..e {
        n *= 10;
    }
    n
}

I’m ensuring to solely get UTXO entries

pub fn decode_utxo_key(mut key: &[u8]) -> Choice<(Vec, u32)> {
    if key.is_empty() || key[0] != b'C' {
        return None;
    }
    key = &key[1..];
    let txid = key.get(..32)?.to_vec();
    key = &key[32..];
    let (vout, _) = decode_varint(key)?;
    Some((txid, vout as u32))
}

But for some motive my keys are displaying totally different txids than the block peak.

key: `BytesKey([67, 0, 0, 0, 0, 1, 236, 58, 152, 94, 229, 61, 50, 239, 22, 75, 88, 246, 154, 181, 7, 146, 209, 249, 113, 25, 180, 120, 10, 150, 212, 118, 209, 0]), worth: [60, 114, 185, 97, 43, 211, 164, 127, 45, 124, 28, 164, 166, 210, 240, 182, 238, 220, 41, 24, 211, 153, 185, 205, 199])

txid: f349b3a497e29738638c27654d3125deb8d90702dc51ab3bc993370900000000

thats txid at block 684,608

I get the XOR obfuscation key:

    let read_opts = ReadOptions::new();
    let xor_iter = db.iter(read_opts);
    let mut obfuscation_key: Vec = Vec::new();

    for (key, worth) in xor_iter {
        if key.0.starts_with(&[0x0e]) {
            obfuscation_key = worth;
            break;
        }
    }

This returns worth bytes decoded as: [52, 148, 23, 67, 104 , 115, 134, 222, 130, 10, 78, 153, 93, 115, 228, 159, 196, 86, 17, 179, 224, 72, 222, 228, 185, 255, 26, 46, 229, 73, 140, 125, 129, 241, 246, 106, 170, 3, 94, 35]

But 52, is clearly not the proper byte for block 684,608.

What am I lacking?



Supply hyperlink

You Might Also Like

New property and pairs obtainable for margin buying and selling: VIRTUAL, FET, AERO, DOG, SYRUP, TRUMP, FARTCOIN, XRP and W!

Hulk Hogan, Ozzy Osbourne Meme Cash Flood The Market, Soar

Bitcoin Whiplash: BTC Dives Beneath $115K, $140M in Longs Liquidated

Ether Could Quickly Outperform Bitcoin: Michael Novogratz

Coming quickly: Integrating $INK Token and Ink Layer 2 protocols into our core merchandise

Share This Article
Facebook Twitter Email Copy Link Print
Previous Article Capital shifts to stablecoins as DeFi protocols bleed TVL Capital shifts to stablecoins as DeFi protocols bleed TVL
Next Article EtherRock NFT Bought For 0,000 EtherRock NFT Bought For $300,000
Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Subscribe to our newslettern

Get Newest Articles Instantly!

- Advertisement -
Ad imageAd image
Popular News
Billionaire Mike Novogratz Says Ethereum Will Enter Worth Discovery If It Takes Out This Stage
Billionaire Mike Novogratz Says Ethereum Will Enter Worth Discovery If It Takes Out This Stage
The journey to a mature asset administration system
The journey to a mature asset administration system
High 3 Meme Coin Gems Price Shopping for Earlier than Could 2024 – PEPE, WIF, and DOGEVERSE
High 3 Meme Coin Gems Price Shopping for Earlier than Could 2024 – PEPE, WIF, and DOGEVERSE

Follow Us on Socials

We use social media to react to breaking news, update supporters and share information

Facebook Instagram Linkedin Pinterest Tiktok Twitter Youtube
The Cryptonomics™

Cryptonomics Magazine is your premier digital source for blockchain insights, offering cutting-edge research, news, interviews, and ICO updates for everyone from entrepreneurs to institutions. We drive blockchain knowledge and growth.

Subscribe to our newsletter

Always Stay Up to Date

Subscribe to our newsletter to get our newest articles instantly!

Billionaire Mike Novogratz Says Ethereum Will Enter Worth Discovery If It Takes Out This Stage
July 26, 2025
Japan’s Approval Tradition Is Blocking Crypto Progress: WeFi CEO
July 26, 2025
Ethereum Value Stays Elevated—Bulls Eye Additional Upside
July 26, 2025
Japan’s Approval Tradition Is Blocking Crypto Development: WeFi CEO
July 26, 2025
New property and pairs obtainable for margin buying and selling: VIRTUAL, FET, AERO, DOG, SYRUP, TRUMP, FARTCOIN, XRP and W!
July 26, 2025
Copyright © The Cryptonomics™ , All right reserved
  • About Us
  • Advertising Solutions
  • Privacy
  • Terms
  • Advertise
Join Us!

Subscribe & Stay Ahead of the Curve with Cryptonomics !

Zero spam, Unsubscribe at any time.
Welcome Back!

Sign in to your account

Lost your password?