client : Existe-t-il une solution Bitcoin testnet3 exploitable pour créer, signer, diffuser une transaction normale à l'aide de Golang  ?


Actuellement, j’essaie de créer, signer et diffuser une transaction bitcoin à l’aide de btcsuite. Pour commencer, j’ai déjà eu l’adresse testnet3 et sa clé privée associée pour les tests. Cependant, en parcourant la publication et les articles comme ci-dessous  : –

  • ici
  • ici
  • ici
  • La solution proposée ci-dessus n’est pas complète, pour la première, elle ne couvre que jusqu’à la signature (je savais que l’auteur affirmait qu’elle n’était pas diffusable à moins que vous ne fournissiez l’utxo que j’ai fait si j’ai raison) mais lors de la tentative de diffusion, elle a échoué avec le message

    « Erreur lors de la validation de la transaction  : transaction orpheline, référence manquante. »

    client : Existe-t-il une solution Bitcoin testnet3 exploitable pour créer, signer, diffuser une transaction normale à l'aide de Golang  ?

    Je n’ai aucune idée de ce qui se passe et je soupçonne que son script est incompatible.

    Donc, l’essentiel est que je veux juste un exemple réalisable dans bitcoin testnet3 qui montre « de 1 adresse, transférez du bitcoin à une autre adresse » en montrant le processus de création d’une transaction brute, signez-la avec une clé privée,://live./btc/pushtx/ (BTC testnet)

    actuellement mon code est le suivant:-

    package main import ( « fmt » « encoding//btcsuite//btcsuite/btcd//btcsuite/btcd/chaincfg//btcsuite/btcd//btcsuite/btcd/wire » ) ​​func txToHex(tx *wire.= bytes.NewBuffer(make(octet, 0, tx.SerializeSize ())) tx.Serialize (BUF) hex.EncodeToString retour (buf. destination = « de  » :: = «  » txHash =  »  » var montant int64 = 100000000 txFee := int64(500000) //essayez d’envoyer btc decodedwif,err := btcutil.DecodeWIF(pvkey) if err .Printf(« decodedwif error : %v\n ».Printf(« decodedwif : %v\n »,decodedwif) addresspubkey,:= btcutil.NewAddressPubKey(decodedwif.PrivKey.PubKey().SerializeUncompressed(), &btcchain.= wire.NewMsgTx( wire.:= chainhash.= wire.:= wire. nil, nil) destinationAddress,:= btcutil.DecodeAddress(destination, &btcchain. err := btcutil.DecodeAddress(addresspubkey.EncodeAddress(), &btcchain.T estNet3Params) if err .: %v\n ».:= txscript.:= txscript.= wire.NewTxOut(montant.TxHash() restartTx := wire.NewMsgTx(wire.TxVersion) prevOut := wire. 0) racheterTxIn := wire.NewTxIn(prevOut, nil, nil) racheterTx.AddTxIn(redeemTxIn) racheterTxOut := wire.NewTxOut((montant – txFee), destinationPkScript) racheterTx.AddTxOut(redeemTxOut) sigScript, err := txscript.SignatureScript(racheterTx, 0.TxOut.PkScript, txscript.SigHashAll, decodedwif.PrivKey, false) if err .Printf(« sigScript err  : %v\n ».TxIn.SignatureScript = sigScript fmt.Printf(« sigScript: %v\n »,hex.EncodeToString(sigScript)) //Valider les drapeaux de signature := txscript.StandardVerifyFlags vm, err := txscript.TxOut.PkScript, rachatTx, 0, drapeaux, néant, néant, montant) if err .Printf(« err ! = nil : %v\n »,:= vm.Execute(); err .Printf(« vm.Execute > err ! = nil  : %v\n ».Printf(« redeemTx  : %v\n »,

    le txhash provenait d’une transaction précédente où j’ai obtenu le bitcoin testnet du robinet et rien d’autre..

    Veuillez indiquer ce qui ne va pas avec le code ci-dessus, merci vraiment si quelqu’un peut le signaler.