Ich habe eine Adresse n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV
, einen Betrag, den ich senden möchte, 1 BTC
und ich habe eine private key
. Wie kann ich damit eine Rohtransaktion erstellen und sie mit Bitcoin Core an die Blockchain senden?
Ich habe diesen Befehl versucht:
bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}'
und das:bitcoin-cli sendrawtransaction XXX
BEARBEITEN: Basierend auf der OP-Anfrage habe ich hier Beispiele eingefügt:
Es gibt viele Beispiele für verschiedene TX-Typen auf bitcoin.org, in den Entwicklerbeispielen . Grundsätzlich benötigen Sie drei Schritte. Angenommen, Sie verwenden OpenBSD/MacOS/Linux, können Sie folgendermaßen vorgehen:
1.) createrawtransaction - das haben Sie bereits und es sieht gut aus. Ich weiß nicht, ob die vorherige tx-ID oder v_out korrekt ist, vorausgesetzt, Sie kennen die Details, ist Ihr String in Ordnung (ansonsten mit "bitcoin-cli -regtest listunspent" überprüfen und TX_ID und V_OUT entsprechend übernehmen). Ich gehe auch davon aus, dass die Adresse eine ist, die sich in Ihrer Brieftasche befindet. Andernfalls können Sie einfach eine Adresse erstellen und anschließend so fortfahren:
UTXO_TXID=dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303
UTXO_VOUT=1
NEW_ADDRESS=n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV
bitcoin-cli -regtest createrawtransaction '''
[
{
"txid": "'$UTXO_TXID'",
"vout": '$UTXO_VOUT'
}
]
''' '''
{
"'$NEW_ADDRESS'": 1
}'''
Sie stellen diese zurückgegebene Hex-Zeichenfolge einer anderen Variablen zur Verfügung:
RAW_TX=01000...
2.) signrawtransaction - der vorherige Befehl gibt eine Hex-Zeichenfolge zurück, die Sie zum Signieren der Transaktion verwenden - siehe erneut die Dokumentation. Zuerst verifiziere ich meinen erstellten TX und unterschreibe dann:
bitcoin-cli -regtest decoderawtransaction $RAW_TX
bitcoin-cli -regtest signrawtransaction $RAW_TX
wieder weisen Sie das Ergebnis einer Variablen zu:
SIGNED_RAW_TX=01000...
3.) senddrawtransaction - Sie nehmen wieder den Hexstring des vorherigen Befehls als Parameter und/oder sehen sich die Dokumentation an.
bitcoin-cli -regtest sendrawtransaction $SIGNED_RAW_TX
und vielleicht eine Überprüfung als Schritt 4:
bitcoin-cli -regtest generate 1
dies erzeugt eine Sperre, und Sie können an der $NEW_ADDRESS sehen, ob Gelder überwiesen wurden.
Ich habe gerade die beiden Stichworte hier in die Suchfunktion eingegeben und auch viele Antworten gefunden.
createrawtransaction,signrawtransaction,sendrawtransaction
Sie können verwenden signrawtransaction
, diese Methode akzeptiert ein Array privater Schlüssel als Argument.
Parameter #3 – private Schlüssel zum Signieren:
Ein Array mit privaten Schlüsseln. Wenn Schlüssel bereitgestellt werden, werden nur diese zum Signieren der Transaktion verwendet (auch wenn die Brieftasche andere passende Schlüssel hat). Wenn dieses Array leer ist oder nicht verwendet wird und die Brieftaschenunterstützung aktiviert ist, werden Schlüssel aus der Brieftasche verwendet
Ajit Soman
Ajit Soman
Ajit Soman