Wie kann ein Miner auswählen, welche Transaktion in den nächsten Block aufgenommen werden soll?

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, prioritisetransactiondies (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 estimatefeefunktioniert, ist aber wirklich weit von der Realität entfernt, und unabhängig von der Gebühr gehen alle meine Transaktionen in den ersten Block.

Ich habe diese Diskussion auch gefunden, aber niemand beantwortet die eigentliche Frage wirklich: bitcoin.stackexchange.com/questions/7311/…
Hast du es versucht prioritisetransaction txid2 -1000000 -1000000?
Ich habe versucht: bitcoin-cli prioritisetransaction txId1 1000000 1000000 bitcoin-cli prioritisetransaction txId2 -1000000 -1000000 ohne Erfolg
die funktion schätzgebühr gibt im grunde eine geordnete statistik über die höchstens 100 mal 25 = 2500 transaktionen zurück. Wenn Sie nicht genügend TXs in Ihrer Blockchain haben, kann sie diese Art von Berechnung nicht durchführen.

Antworten (1)

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 -blockmaxsizeOption ä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).