• 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

Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

June 24, 2025
Sequans lanza una iniciativa de tesorería Bitcoin de $ 384 millones con Swan Bitcoin Partnership

Sequans lanza una iniciativa de tesorería Bitcoin de $ 384 millones con Swan Bitcoin Partnership

June 24, 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

Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

by luiselduque22
June 24, 2025
0

Razón para confiar Política editorial estricta que se centra en la precisión, relevancia e imparcialidad Creado por expertos de la...

Sequans lanza una iniciativa de tesorería Bitcoin de $ 384 millones con Swan Bitcoin Partnership

Sequans lanza una iniciativa de tesorería Bitcoin de $ 384 millones con Swan Bitcoin Partnership

by luiselduque22
June 24, 2025
0

Sequans Communications, un desarrollador con sede en Francia de tecnología de semiconductores 5G e IoT, ha anunciado Un traslado a...

Bybit celebra la expansión de Tradfi con el lanzamiento de 1 millón de USDT Fusion Cup

Bybit celebra la expansión de Tradfi con el lanzamiento de 1 millón de USDT Fusion Cup

by luiselduque22
June 23, 2025
0

Dubai, EAU, 24 de junio de 2025 / PRNewswire / - Bybitel segundo cambio de criptomonedas más grande del mundo...

Crypto & NFT Information Tracker CoinMarketCap fue pirateado

Crypto & NFT Information Tracker CoinMarketCap fue pirateado

by luiselduque22
June 23, 2025
0

En los últimos meses, ha habido un aumento significativo en hacks y estafas, con estafadores y piratas informáticos creando cada...

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

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

by luiselduque22
June 23, 2025
0

¿Cuál será la respuesta de Irán al bombardeo de los Estados Unidos? El presidente Donald Trump acaba de atacar y...

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
Codex respaldado por DragonFly lanza blockchain para stablecoins con soporte nativo de USDC

Codex respaldado por DragonFly lanza blockchain para stablecoins con soporte nativo de USDC

June 24, 2025
Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

June 24, 2025
Circle (CRCL) salta 749% desde su listado

Circle (CRCL) salta 749% desde su listado

June 24, 2025
Méliuz se convierte en la mejor firma pública de mantenimiento de bitcoin en América Latina

Méliuz se convierte en la mejor firma pública de mantenimiento de bitcoin en América Latina

June 24, 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

Codex respaldado por DragonFly lanza blockchain para stablecoins con soporte nativo de USDC

Codex respaldado por DragonFly lanza blockchain para stablecoins con soporte nativo de USDC

June 24, 2025
Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

Bitcoin repite su patrón 2021: Analyst advierte sobre el accidente ultimate

June 24, 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.