• 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

FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

June 8, 2025
Snorter Token Preval se calienta en medio de Drama de monedas de Meme Trump-Musk-Musk

Snorter Token Preval se calienta en medio de Drama de monedas de Meme Trump-Musk-Musk

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

FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

by luiselduque22
June 8, 2025
0

El principal regulador financiero del Reino Unido acaba de hacer un eje sorprendente. La Autoridad de Conducta Financiera (FCA), conocida...

Snorter Token Preval se calienta en medio de Drama de monedas de Meme Trump-Musk-Musk

Snorter Token Preval se calienta en medio de Drama de monedas de Meme Trump-Musk-Musk

by luiselduque22
June 7, 2025
0

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

Guía de Airdrop Coresky | ¿Cómo ser elegible?

Guía de Airdrop Coresky | ¿Cómo ser elegible?

by luiselduque22
June 6, 2025
0

Management de llaveCoresky es una plataforma Web3 centrada en la incubación de tokens de memes, lo que permite a los...

FBI advierte los usuarios de Hadera Hashgraph contra las estafas de AirDrop NFT

FBI advierte los usuarios de Hadera Hashgraph contra las estafas de AirDrop NFT

by luiselduque22
June 6, 2025
0

Unirse a nuestro Telegrama canal para mantenerse al día sobre la cobertura de noticias de última hora Las estafas y...

Trump supuestamente engañó a XRP Crypto Reserve Publish, el informe afirma

Hong Kong planea introducir el comercio de derivados criptográficos pronto

by luiselduque22
June 6, 2025
0

Hong Kong ha estado aumentando los esfuerzos para fortalecer su posición como un centro de activos digitales. La Comisión 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
FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

June 8, 2025
Circle rechazó la compra de $ 5 mil millones de Ripple, ahora valorada en más de $ 20 mil millones después del debut de NYSE

Circle rechazó la compra de $ 5 mil millones de Ripple, ahora valorada en más de $ 20 mil millones después del debut de NYSE

June 7, 2025
Snorter Token Preval se calienta en medio de Drama de monedas de Meme Trump-Musk-Musk

Snorter Token Preval se calienta en medio de Drama de monedas de Meme Trump-Musk-Musk

June 7, 2025
La adquisición organiza con éxito el segundo bitgala anual que celebra Bitcoin en Las Vegas

La adquisición organiza con éxito el segundo bitgala anual que celebra Bitcoin en Las Vegas

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

FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

FCA propone levantar la prohibición de cripto etns para inversores minoristas del Reino Unido

June 8, 2025
Circle rechazó la compra de $ 5 mil millones de Ripple, ahora valorada en más de $ 20 mil millones después del debut de NYSE

Circle rechazó la compra de $ 5 mil millones de Ripple, ahora valorada en más de $ 20 mil millones después del debut de NYSE

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