Erstellen Sie eine Rohtransaktion und senden Sie sie mit Bitcoin Core an die Blockchain

Ich habe eine Adresse n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV, einen Betrag, den ich senden möchte, 1 BTCund 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":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303‌​091b3c6a514848c","vo‌​ut":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}' 

und das:bitcoin-cli sendrawtransaction XXX

I have tried this command :bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}' and this: bitcoin-cli sendrawtransaction XXX
Aber ich möchte eine Transaktion mit einem bestimmten privaten Schlüssel durchführen
Ich möchte keinen privaten Schlüssel in Wallet importieren

Antworten (2)

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.

Können Sie mir einige Möglichkeiten zum Erstellen von txid in rawtransaction nennen. Es wäre besser, wenn Sie es zu Ihrer Antwort posten könnten
Gibt es einen einzelnen Befehl, der in Bitcoin Core verfügbar ist und dem entsprichtcreaterawtransaction,signrawtransaction,sendrawtransaction
Mir ist ein solcher Befehl nicht bekannt...

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

Können Sie mir einige Möglichkeiten zum Erstellen von txid in rawtransaction nennen
@AjitSoman Es gibt viele Beispiele in der Dokumentation