Ich arbeite an einer App, in der mein Projekt mit dem Bitcoin-Server kommuniziert, um die Details einer Transaktion mit der Transaktions-ID als Parameter abzurufen. Ich habe bitcoind, bitcoin-cli und bitcoin-qt auf meinem System installiert. Wenn ich bitcoin-qt im Regtest-Modus ausführe, kann ich Testtransaktionen erstellen, bei denen ich Geld an eine Adresse senden und die Transaktions-ID dafür erhalten kann. Ich verwende diese Transaktions-ID in meiner App, ich kann die Transaktionsdetails von bitcoin-qt abrufen. Das Problem ist, dass sich meine Tests jetzt nur noch auf Transaktionen nach außen beschränken, bei denen ich Bitcoins auf ein anderes Konto überweise. Wie kann ich einige Testtransaktionen erstellen, bei denen Bitcoins meinem Wallet gutgeschrieben werden?
Wahrscheinlich möchten Sie mehrere bitcoind
Instanzen ausführen regtest
, um mehrere Knoten zu simulieren. Das ist ziemlich einfach. Sie können eine zweite Instanz ausführen, indem Sie Bitcoin mit einem sauberen Datenverzeichnis und einem anderen RPC- und P2P-Port starten.
Dazu könnten Sie ein zweites Datenverzeichnis erstellen (Beispiel: /tmp/datadir2
). Erstellen /tmp/datadir2/bitcoin.conf
.
Verwenden Sie etwas Ähnliches als:
regtest=1
rpcuser=rt
rpcuser=rt
port=12340
rpcport=10340
discover=0
Jetzt müssen Sie Ihren ersten Knoten mit Ihrem zweiten Knoten verbinden, indem Sie eine addnode
über die RPC-Schnittstelle senden.
bitcoin-cli addnode 127.0.0.1:10340 onetry
-datadir
Sie können dann mit dem Argument beim Aufruf zwischen beiden Knoten unterscheiden bitcoin-cli
.
bitcoin-cli -datadir=/tmp/datadir2/ getinfo
Münzen im ersten Knoten generieren (50 BTC verfügbar)
bitcoin-cli generate 101
Adresse vom 2. Knoten erhalten
bitcoin-cli -datadir=/tmp/datadir2/ getnewaddress
Senden Sie Münzen an den 2. Knoten
bitcoin-cli sendtoaddress <address> 10.0
plbit
thenakulchawla
getmempoolinfo
für den Knoten tue, der die Transaktion empfängt. Wie sende ich die Transaktion?Jonas Schnelli
Pankaj Kumar
Thalis K.
generate
ist der Befehl veraltet und in 0.19 wird er vollständig entfernt. Verwenden Siegeneratetoaddress
stattdessen.