Signing Transactions
Transactions are a formal action on a blockchain. They can contain a simple sending of Lumen (Payment Operation) or sending tokens creating data on the blockchain network and so on.
In Rabet, use the rabet.sign
method to send a transaction.
This function accepts a transaction envelope XDR and network type(mainnet or testnet), When you put an XDR string and network type inside this method and call it, Rabet decodes it and shows its details to the user, if the user confirms and signs it, you receive the signed XDR.
// Connect before signing
const xdr = 'AAAAAL...'; // Only string
const network = 'mainnet'; // mainnet / testnet
rabet.sign(xdr, network)
.then(result => console.log(`Signed xdr: ${result.xdr}`))
.catch(error => console.error(`Error: ${error.message}`));
Example of the message that the user will receive when calling the sign
function:

You can use StellarSdk to submit the transaction to the network. Like so:
var StellarSdk = require('stellar-sdk');
var server = new StellarSdk.Server('https://horizon-testnet.stellar.org');
const xdr = 'AAAA...';
const envelope = StellarSdk.xdr.TransactionEnvelope.fromXDR(xdr, 'base64');
var transaction = new StellarSdk.Transaction(envelope, StellarSdk.Networks.TESTNET);
server
.submitTransaction(transaction)
.then((result) => {
console.log(result);
})
.catch((e) => {
console.log(e.response.data);
});
You can learn more about Stellar SDKs here.
Last updated
Was this helpful?