• 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

Reemplace por tarifa: perder transacciones reemplazadas al ver la Mempool

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


Estoy tratando de capturar todas las transacciones reemplazadas. He cumplido Bitcon Core con rastreo habilitado y escuche el mempool:changed Como se sugiere en esto pregunta.

Este método funciona como se esperaba y puedo obtener las transacciones reemplazadas. Sin embargo, en algunos casos (alrededor del 20% de todas las transacciones que captura), el TraCepoint me alerta de la transacción que se reemplaza, pero no estoy capturando el reemplazo de esa transacción.

Puedo pensar en dos razones por las que esto está sucediendo:

  1. Podría ser que algunos de los reemplazos no ingresen a mi mempool. Pero si ese es el caso, ¿cómo sabe el tracePoint que las transacciones se están reemplazando? Además, es extraño que esto suceda con tantas transacciones (20% como se explicó anteriormente).
  2. La segunda opción es que el script que procesa la transacción no está considerando algunos casos, lo que termina en la pérdida de transacciones. El script es una versión modificada de esto ejemplo. Lo he modificado para poder capturar a los niños de las transacciones reemplazadas también. Los datos que reúno con este script se guarda más tarde en un archivo PKL, por lo que tiene una lista compartida.

No sé por qué estoy perdiendo tantas transacciones, y me preguntaba si alguien podría ayudar a ver qué estoy haciendo mal.

Aquí están las funciones modificadas:

       def handle_replaced(_, knowledge, measurement):
          # Set up a brand new RPC connection for this occasion
          rpc_connection_replaced = connection()
          occasion = bpf("replaced_events").occasion(knowledge)
          hash_replaced = bytes(occasion.replaced_hash)(::-1).hex()
          hash_new = bytes(occasion.replacement_hash)(::-1).hex()
          tx_time = get_timestamp()
          
          hex_tx = rpc_connection_replaced.getrawtransaction(hash_new)
          new_tx = rpc_connection_replaced.decoderawtransaction(hex_tx)
          new_tx('hex') = hex_tx
          # Decide mother or father transactions which can be nonetheless within the mempool and are usually not the transaction itself
          mother and father = set((x('txid') for x in new_tx('vin') if x('txid') in mempool.keys() and x('txid') != new_tx('txid')))
          # Retrieve the outdated transaction data from the mempool 
          outdated = mempool.get(hash_replaced, None)
          if outdated isn't None:  # Some transactions could also be lacking initially
            mempool.pop(hash_replaced, None)
            # Share the changed occasion particulars through list_shared queue
            list_shared.put((outdated, (new_tx, tx_time, mother and father)))
            # Discover all baby transactions that reference the brand new transaction as a mother or father
            childs = (i(0)('txid') for i in mempool.values() if new_tx('txid') in i(2))
            
            # Recursive operate to gather baby transaction IDs
            def baby(ll):
              if len(ll) == 0:
                return ()
              new_childs = (i(0)('txid') for i in mempool.values() if ll - i(2) != ll)
              return checklist(ll) + new_childs + baby(set(new_childs))
            
            if len(childs) > 0:
              childs = baby(set(childs))
              # Share the connection between the brand new transaction and the primary baby
              list_shared.put(((new_tx, tx_time, mother and father), mempool(childs(0))))
              # Share connections between subsequent baby transactions
              for i in vary(len(childs)-1):
                list_shared.put((mempool(childs(i)), mempool(childs(i+1))))

          # Add the brand new transaction to the mempool with its timestamp and mother or father set
          mempool(new_tx('txid')) = (new_tx, tx_time, mother and father)
          logger.data('-----------')
          logger.data('New RBF!')        
          
      def handle_added(_, knowledge, measurement):
          rpc_connection_added = connection()
          occasion = bpf("added_events").occasion(knowledge)
          hash_new = bytes(occasion.hash)(::-1).hex()
          hex_tx = rpc_connection_added.getrawtransaction(hash_new)
          tx_raw = rpc_connection_added.decoderawtransaction(hex_tx)
          tx_raw('hex') = hex_tx
          mother and father = set((x('txid') for x in tx_raw('vin') if x('txid') in mempool.keys()))
          mempool(tx_raw('txid')) = (tx_raw, get_timestamp(), mother and father)
          
      def handle_removed(_, knowledge, measurement):
        occasion = bpf("removed_events").occasion(knowledge)
        if occasion.purpose != b'changed':
            txid_rem = bytes(occasion.hash)(::-1).hex()
                    
            keys = mempool.keys()
            if txid_rem in keys:
              mempool.pop(txid_rem) 
              logger.data('-----------')
              logger.data(f'Eliminated. Motive:{occasion.purpose}')

Related articles

El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

July 20, 2025
Litecoin Sharp Rackback: surgen oportunidades de escala mientras LTCBTC busca estabilidad

Litecoin Sharp Rackback: surgen oportunidades de escala mientras LTCBTC busca estabilidad

July 20, 2025


Estoy tratando de capturar todas las transacciones reemplazadas. He cumplido Bitcon Core con rastreo habilitado y escuche el mempool:changed Como se sugiere en esto pregunta.

Este método funciona como se esperaba y puedo obtener las transacciones reemplazadas. Sin embargo, en algunos casos (alrededor del 20% de todas las transacciones que captura), el TraCepoint me alerta de la transacción que se reemplaza, pero no estoy capturando el reemplazo de esa transacción.

Puedo pensar en dos razones por las que esto está sucediendo:

  1. Podría ser que algunos de los reemplazos no ingresen a mi mempool. Pero si ese es el caso, ¿cómo sabe el tracePoint que las transacciones se están reemplazando? Además, es extraño que esto suceda con tantas transacciones (20% como se explicó anteriormente).
  2. La segunda opción es que el script que procesa la transacción no está considerando algunos casos, lo que termina en la pérdida de transacciones. El script es una versión modificada de esto ejemplo. Lo he modificado para poder capturar a los niños de las transacciones reemplazadas también. Los datos que reúno con este script se guarda más tarde en un archivo PKL, por lo que tiene una lista compartida.

No sé por qué estoy perdiendo tantas transacciones, y me preguntaba si alguien podría ayudar a ver qué estoy haciendo mal.

Aquí están las funciones modificadas:

       def handle_replaced(_, knowledge, measurement):
          # Set up a brand new RPC connection for this occasion
          rpc_connection_replaced = connection()
          occasion = bpf("replaced_events").occasion(knowledge)
          hash_replaced = bytes(occasion.replaced_hash)(::-1).hex()
          hash_new = bytes(occasion.replacement_hash)(::-1).hex()
          tx_time = get_timestamp()
          
          hex_tx = rpc_connection_replaced.getrawtransaction(hash_new)
          new_tx = rpc_connection_replaced.decoderawtransaction(hex_tx)
          new_tx('hex') = hex_tx
          # Decide mother or father transactions which can be nonetheless within the mempool and are usually not the transaction itself
          mother and father = set((x('txid') for x in new_tx('vin') if x('txid') in mempool.keys() and x('txid') != new_tx('txid')))
          # Retrieve the outdated transaction data from the mempool 
          outdated = mempool.get(hash_replaced, None)
          if outdated isn't None:  # Some transactions could also be lacking initially
            mempool.pop(hash_replaced, None)
            # Share the changed occasion particulars through list_shared queue
            list_shared.put((outdated, (new_tx, tx_time, mother and father)))
            # Discover all baby transactions that reference the brand new transaction as a mother or father
            childs = (i(0)('txid') for i in mempool.values() if new_tx('txid') in i(2))
            
            # Recursive operate to gather baby transaction IDs
            def baby(ll):
              if len(ll) == 0:
                return ()
              new_childs = (i(0)('txid') for i in mempool.values() if ll - i(2) != ll)
              return checklist(ll) + new_childs + baby(set(new_childs))
            
            if len(childs) > 0:
              childs = baby(set(childs))
              # Share the connection between the brand new transaction and the primary baby
              list_shared.put(((new_tx, tx_time, mother and father), mempool(childs(0))))
              # Share connections between subsequent baby transactions
              for i in vary(len(childs)-1):
                list_shared.put((mempool(childs(i)), mempool(childs(i+1))))

          # Add the brand new transaction to the mempool with its timestamp and mother or father set
          mempool(new_tx('txid')) = (new_tx, tx_time, mother and father)
          logger.data('-----------')
          logger.data('New RBF!')        
          
      def handle_added(_, knowledge, measurement):
          rpc_connection_added = connection()
          occasion = bpf("added_events").occasion(knowledge)
          hash_new = bytes(occasion.hash)(::-1).hex()
          hex_tx = rpc_connection_added.getrawtransaction(hash_new)
          tx_raw = rpc_connection_added.decoderawtransaction(hex_tx)
          tx_raw('hex') = hex_tx
          mother and father = set((x('txid') for x in tx_raw('vin') if x('txid') in mempool.keys()))
          mempool(tx_raw('txid')) = (tx_raw, get_timestamp(), mother and father)
          
      def handle_removed(_, knowledge, measurement):
        occasion = bpf("removed_events").occasion(knowledge)
        if occasion.purpose != b'changed':
            txid_rem = bytes(occasion.hash)(::-1).hex()
                    
            keys = mempool.keys()
            if txid_rem in keys:
              mempool.pop(txid_rem) 
              logger.data('-----------')
              logger.data(f'Eliminated. Motive:{occasion.purpose}')

Tags: MempoolperderporReemplacereemplazadastarifatransaccionesver
Share76Tweet47

Related Posts

El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

by luiselduque22
July 20, 2025
0

Editorial de confianza Contenido, revisado por expertos líderes de la industria y editores experimentados. Divulgación de anuncios El viernes, el...

Litecoin Sharp Rackback: surgen oportunidades de escala mientras LTCBTC busca estabilidad

Litecoin Sharp Rackback: surgen oportunidades de escala mientras LTCBTC busca estabilidad

by luiselduque22
July 20, 2025
0

En un reciente correo En X, Cryptowzrd señaló que Litecoin terminó el día con una nota bajista, con LTCBTC renunciando...

Crypto Market Rallies mientras Dege se prepara para $ 0.5 Goal

Crypto Market Rallies mientras Dege se prepara para $ 0.5 Goal

by luiselduque22
July 19, 2025
0

Management de llaveLa ruptura de precios de Doge es inminente ya que el precio gana el zumbido de Web antes...

Configuración del minero: ejecutar una instancia de Public -Pool en Umbrel, cómo conectar Bitaxe si usa TailScale

by luiselduque22
July 19, 2025
0

Para responder a esta pregunta, si ya tienes a Umbrel corriendo la escala de cola, esa es la mayor parte...

Crypto Market Cap alcanza $ 4T como Home Passes Genius Act

Crypto Market Cap alcanza $ 4T como Home Passes Genius Act

by luiselduque22
July 18, 2025
0

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

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
El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

July 20, 2025

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

July 20, 2025
Elon Musk cube que Xai está construyendo Child Grok para ofrecer contenido para niños

Elon Musk cube que Xai está construyendo Child Grok para ofrecer contenido para niños

July 20, 2025
Litecoin Sharp Rackback: surgen oportunidades de escala mientras LTCBTC busca estabilidad

Litecoin Sharp Rackback: surgen oportunidades de escala mientras LTCBTC busca estabilidad

July 20, 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

El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

El legislador republicano advierte la Ley Genius abre la puerta a los CBDC en capas

July 20, 2025

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

July 20, 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.