Diese Frage ist kein Duplikat von Können Bergleute wählen, welche Transaktionen sie abbauen?
Alle scheinen sich darin einig zu sein, dass Miner auswählen können, welche Transaktionen sie abbauen. Aber ich finde keine Möglichkeit dazu! Ich habe ein persönliches Bitcoin-Netzwerk (Testnet-Protokoll) erstellt, in dem ich der einzige Miner bin. Ich sende Transaktionen an meine verschiedenen (gefälschten) Knoten und bekomme sie alle in den Mempool.
Zu Demonstrationszwecken möchte ich, dass einige der Transaktionen (mit hohen Gebühren) in den ersten Block aufgenommen werden und der Rest in den zweiten. Ich habe versucht, prioritisetransaction
dies (mit meinem Miner-Knoten) zu tun, aber alle Transaktionen gingen an denselben Block:
bitcoin-cli priorisierttransaktion txId1 5000 200
bitcoin-cli priorisiert Transaktion txId2 0 -200
Ich gebe beliebige Werte ein, das Ziel ist es, Tx1 im ersten Block und Tx2 im zweiten oder sogar danach abzubauen. Wie kann ich ein solches Verhalten erzeugen? Muss ich wirklich mehr als 1000 Transaktionen eingeben, um zu sehen, dass meine Transaktionen in verschiedene Blöcke gehen?
Ich freue mich über jede Hilfe, danke im Voraus.
EDIT: Ich füge diesem Beitrag eine Frage hinzu. Um einen Weg zu finden, in welchem Block meine Transaktion enthalten sein wird, habe ich bei einem anderen Hinweis "Gebührenschätzung/Priorität"-Anrufe versucht. In meinem privaten Bitcoin-Netzwerk (Höhe: 14.000 Blöcke) wenn ich anrufe:
Bitcoin-Cli-SchätzungGebühr X
unabhängig von X (Anzahl der Blöcke vor der Aufnahme), lautet die Antwort "-1", was bedeutet, dass das Netzwerk nicht schätzen kann, was ich frage (sollte nur für hohe Ziffern angehängt werden). Brauche ich mehr Blöcke in meiner Blockchain? Mehr Transaktionen? Dasselbe Experiment im echten Testnetz estimatefee
funktioniert, ist aber wirklich weit von der Realität entfernt, und unabhängig von der Gebühr gehen alle meine Transaktionen in den ersten Block.
Muss ich wirklich mehr als 1000 Transaktionen [in einem Block] platzieren, um zu sehen, dass meine Transaktionen in verschiedene Blöcke gehen?
Nein. Sie können die Größe der von Ihnen produzierten Blöcke begrenzen, indem Sie die -blockmaxsize
Option ändern. Wenn Sie beispielsweise nur eine einzelne 250-Byte-Transaktion plus den 80-Byte-Header und die 1-Byte-Transaktionszählung (in diesem Fall) hinzufügen möchten, können Sie Bitcoin Core wie folgt starten:
bitcoind -testnet -daemon -blockmaxsize=331
Dann können Sie den prioritisetransaction RPC verwenden, um tx1 gegenüber tx2 zu priorisieren.
In Bezug auf Ihre zweite Frage liefern „Schätzgebühr“ und „Schätzpriorität“ möglicherweise keine nützlichen Ergebnisse im Testnet, da das Transaktionsvolumen dort gering ist, sodass fast jede Transaktion in den nächsten Block geht.
Möglicherweise finden Sie es nützlicher, mit dem Regressionstestmodus zu experimentieren, der es Ihnen ermöglicht, ein privates Testnetzwerk zu erstellen und jeden Block vollständig zu kontrollieren (sowie Blöcke sofort abzubauen).
Hugo Borne
Nick Odell
prioritisetransaction txid2 -1000000 -1000000
?Hugo Borne
Clemens Walter