calcular la tarifa de transacción en un bloque

Quiero saber cómo se puede consultar el núcleo de bitcoin a través de json rpc u otros métodos para encontrar todas las tarifas de transacción en un bloque. Las consultas API no son útiles ya que tienen un límite de frecuencia.

Aquí hay un bloque de ejemplo, para el cual quiero calcular las tarifas de transacción

número de bloque 395545

Respuestas (2)

Como se conoce la identificación del bloque, la tarifa se puede encontrar en la propia base de monedas sin gastos generales. Mantenga un mapa simple para los puntos de recompensa diciendo que los bloques entre 0 y 149 dan 50 BTC, los siguientes 149 25, etc.

Ahora, la primera transacción en cualquier bloque es siempre una transacción coinbase. Coinbasetran->vout[0] - recompensa = Tarifa (tarifa real + cambio no reclamado)

Aquí hay una solución simple.

  1. Habilitar la bandera pasada a txDetailsde blockToJSON()enrpcblockchain.cpp

Cambios necesarios:

--- a/src/rpcblockchain.cpp
+++ b/src/rpcblockchain.cpp
@@ -423,7 +423,7 @@ UniValue getblock(const UniValue& params, bool fHelp)
         return strHex;
     }

-    return blockToJSON(block, pblockindex);
+    return blockToJSON(block, pblockindex, true);
 }
  1. Utilice el getblock <HASH>comando JSON RPC. Ahora, arrojará todos los detalles de la transacción. La transacción de Coinbase puede ayudarlo a inferir sus tarifas (TENGA EN CUENTA que la lógica también se puede incorporar en el código anterior, pero lo mantengo simple)

Salida de ejemplo:

.....

          "vout": [
            {
              "value": 25.04810000,
              "n": 0,
              "scriptPubKey": {
                "asm": "02b551067a9159d3964cb5c5b15d57169c0b2e24fefcfe768c6624ff1a6cedf7b5 OP_CHECKSIG",
                "hex": "2102b551067a9159d3964cb5c5b15d57169c0b2e24fefcfe768c6624ff1a6cedf7b5ac",
                "reqSigs": 1,
                "type": "pubkey",
                "addresses": [
                  "mqu1hVy32hcojhq12kt21kVaCd7g4nwPU5"
                ]
              }
            }
          ]
        }
      ],
.....