• About Us
  • Privacy Policy
  • Disclaimer
  • Contact Us
Coin Snap
  • Home
  • Bitcoin
  • Defi
  • Crypto Mining
  • Crypto News
No Result
View All Result
  • Home
  • Bitcoin
  • Defi
  • Crypto Mining
  • Crypto News
No Result
View All Result
Coin Snap
No Result
View All Result
Home Bitcoin

Bitcoin Core – Decoding Chainstate Utxos: TXID, altura de bloque y desalineación de equilibrio

luiselduque22 by luiselduque22
July 26, 2025
in Bitcoin
0
189
SHARES
1.5k
VIEWS
Share on FacebookShare on Twitter


Estoy tratando de hacer un conjunto de herramientas de óxido para leer Utxos directamente desde Chain State. Estoy siguiendo la fuente de Bitcoin casi a la carta (al menos creo que lo soy).

Tengo un decode_varint

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

    for (i, &byte) in knowledge.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
}

Tengo un 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
}

Me aseguro de obtener solo entradas Utxo

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))
}

Sin embargo, por alguna razón, mis teclas muestran diferentes TXID que la altura del bloque.

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

eso es txid en el bloque 684,608

Estoy obteniendo la clave de ofuscación XOR:

    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;
        }
    }

Esto devuelve los bytes de valor decodificados como: (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)

Sin embargo, 52, claramente no es el byte correcto para el bloque 684,608.

¿Qué me estoy perdiendo?

Related articles

El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

July 27, 2025
Pepeto anuncia una plataforma de negociación de preventa y demo de $ 5.5M

Pepeto anuncia una plataforma de negociación de preventa y demo de $ 5.5M

July 26, 2025


Estoy tratando de hacer un conjunto de herramientas de óxido para leer Utxos directamente desde Chain State. Estoy siguiendo la fuente de Bitcoin casi a la carta (al menos creo que lo soy).

Tengo un decode_varint

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

    for (i, &byte) in knowledge.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
}

Tengo un 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
}

Me aseguro de obtener solo entradas Utxo

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))
}

Sin embargo, por alguna razón, mis teclas muestran diferentes TXID que la altura del bloque.

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

eso es txid en el bloque 684,608

Estoy obteniendo la clave de ofuscación XOR:

    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;
        }
    }

Esto devuelve los bytes de valor decodificados como: (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)

Sin embargo, 52, claramente no es el byte correcto para el bloque 684,608.

¿Qué me estoy perdiendo?

Tags: alturaBitcoinbloqueChainstatecoreDecodingdesalineaciónequilibrioTXIDUTXOs
Share76Tweet47

Related Posts

El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

by luiselduque22
July 27, 2025
0

Opeyemi es un escritor y entusiasta competente en el emocionante y único reino de criptomonedas. Si bien la industria de...

Pepeto anuncia una plataforma de negociación de preventa y demo de $ 5.5M

Pepeto anuncia una plataforma de negociación de preventa y demo de $ 5.5M

by luiselduque22
July 26, 2025
0

Dubai, EAU, 25 de julio de 2025, cablePepeto, una moneda de meme construida en la cadena de bloques Ethereum, ha...

Mike Novogratz cube que Ethereum puede superar a Bitcoin

Mike Novogratz cube que Ethereum puede superar a Bitcoin

by luiselduque22
July 25, 2025
0

Unirse a nuestro Telegrama canal para mantenerse al día sobre la cobertura de noticias de última hora El CEO de...

Respuesta de Irán al bombardeo de EE. UU.: Bitcoin se recupera a medida que se avecina la Primera Guerra Mundial

Registros de minería de Crypto Ruse Surge Diezfold

by luiselduque22
July 25, 2025
0

Rusia simplemente se fue al modo Beast en Bitcoin Crypto Mining. En solo seis meses, las empresas mineras registradas se...

Bitcoin OG de 2011 se despierta, cobra una ganancia de 322,000x

Bitcoin OG de 2011 se despierta, cobra una ganancia de 322,000x

by luiselduque22
July 25, 2025
0

Editorial de confianza Contenido, revisado por expertos líderes de la industria y editores experimentados. Divulgación de anuncios Una ballena bitcoin...

Load More
  • Trending
  • Comments
  • Latest
Ethereum en la cúspide de una gran ruptura en el primer trimestre de 2025, se espera que las altcoins sigan su ejemplo

Ethereum en la cúspide de una gran ruptura en el primer trimestre de 2025, se espera que las altcoins sigan su ejemplo

December 28, 2024
Raoul Pal califica el patrón gráfico de Ethereum como “uno de los más poderosos en criptografía”, lo que indica que se avecina una gran ruptura ⋆ ZyCrypto

Raoul Pal califica el patrón gráfico de Ethereum como “uno de los más poderosos en criptografía”, lo que indica que se avecina una gran ruptura ⋆ ZyCrypto

December 27, 2024
El impulso alcista impulsa el impulso hacia los $6

El impulso alcista impulsa el impulso hacia los $6

January 7, 2025
6 mejores altcoins para invertir hoy 30 de enero – OKB, Mantra, Onyxcoin

6 mejores altcoins para invertir hoy 30 de enero – OKB, Mantra, Onyxcoin

January 30, 2025
¿Ha terminado la temporada de Memecoin? PEPE y SHIB luchan mientras Lunex se eleva

¿Ha terminado la temporada de Memecoin? PEPE y SHIB luchan mientras Lunex se eleva

0
Comprensión de los rendimientos y la economía de las apuestas en Ethereum y Solana

Comprensión de los rendimientos y la economía de las apuestas en Ethereum y Solana

0
Calienta tu hogar mientras ganas Bitcoin con Heatbit

Calienta tu hogar mientras ganas Bitcoin con Heatbit

0
Líderes de IcomTech sentenciados a una década tras las rejas

Líderes de IcomTech sentenciados a una década tras las rejas

0
Bitcoin para ver ‘año up’ en 2026, y un growth más estable

Bitcoin para ver ‘año up’ en 2026, y un growth más estable

July 27, 2025
El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

July 27, 2025

Rusia lanza el registro de equipos mineros de criptografía para frenar la actividad ilícita

July 27, 2025

Carbon Defi va a vivir con recompensas de minería de liquidez en TAC | por Jen Albert | Jul, 2025

July 26, 2025

Coinsnap-Pro

Welcome to CoinSnap Pro, your ultimate destination for everything related to decentralized finance (DeFi), cryptocurrency news, Bitcoin, and crypto mining. Our mission is to keep you informed and empowered in the ever-evolving world of digital assets and blockchain technology.

Categories

  • Bitcoin
  • Crypto Mining
  • Crypto News
  • Defi
  • Economía

Recent News

Bitcoin para ver ‘año up’ en 2026, y un growth más estable

Bitcoin para ver ‘año up’ en 2026, y un growth más estable

July 27, 2025
El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

El precio de Bitcoin aún podría bajar a $ 109,000; este patrón de gráfico sugiere que así

July 27, 2025
  • About Us
  • Privacy Policy
  • Disclaimer
  • Contact Us

© 2024 Coinsnap.pro. All rights reserved.

No Result
View All Result
  • Home
  • Bitcoin
  • Defi
  • Crypto Mining
  • Crypto News

© 2024 Coinsnap.pro. All rights reserved.