Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func (b *basicDecredService) CreateTransaction(ctx context.Context, address string, amount int64) (txHash string, err error) {
- destination := &walletrpc.ConstructTransactionRequest_OutputDestination{
- Address: address,
- }
- nonChangeOutputs := []*walletrpc.ConstructTransactionRequest_Output{&walletrpc.ConstructTransactionRequest_Output{
- Destination: destination,
- Amount: amount,
- }}
- constTxRes, err := b.wsc.ConstructTransaction(ctx, &walletrpc.ConstructTransactionRequest{
- SourceAccount: uint32(AccountNumber),
- RequiredConfirmations: int32(TxRequiredConfirmations),
- FeePerKb: int32(TxFeePerKb),
- OutputSelectionAlgorithm: walletrpc.ConstructTransactionRequest_UNSPECIFIED,
- NonChangeOutputs: nonChangeOutputs,
- })
- if err != nil {
- return "", err
- }
- signTxRes, err := b.wsc.SignTransaction(ctx, &walletrpc.SignTransactionRequest{
- Passphrase: []byte(AccountPassphrase),
- SerializedTransaction: constTxRes.UnsignedTransaction,
- })
- if err != nil {
- return "", err
- }
- pubTxRes, err := b.wsc.PublishTransaction(ctx, &walletrpc.PublishTransactionRequest{
- SignedTransaction: signTxRes.Transaction,
- })
- if err != nil {
- return "", err
- }
- hash, err := chainhash.NewHash(pubTxRes.TransactionHash)
- if err != nil {
- return "", err
- }
- return hash.String(), err
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement