Send Funds
Overview
Once you have a wallet and some funds (tutorial), another common task is sending Dash to an address. (Sending Dash to a contact or a DPNS identity requires the Dashpay app, which has not been registered yet.)
Code
Wallet Operations
Currently, the JavaScript SDK does not cache wallet information, and therefore, it re-syncs the entire Core chain for some wallet operations (e.g.
client.getWalletAccount()
). This can result in wait times of 5+ minutes. An upcoming release will add a persistence feature to cache wallet information during initial sync so that subsequent access is much faster.
const Dash = require('dash');
const clientOpts = {
network: 'testnet',
wallet: {
mnemonic: 'your wallet mnemonic goes here'
},
};
const client = new Dash.Client(clientOpts);
const sendFunds = async () => {
const account = await client.getWalletAccount();
const transaction = account.createTransaction({
recipient: 'yixnmigzC236WmTXp9SBZ42csyp9By6Hw8', // Evonet faucet
satoshis: 100000000, // 1 Dash
});
return account.broadcastTransaction(transaction);
};
sendFunds()
.then((d) => console.log('Transaction broadcast!\nTransaction ID:', d))
.catch((e) => console.error('Something went wrong:\n', e))
.finally(() => client.disconnect());
What's Happening
After initializing the Client, we build a new transaction with account.createTransaction
. It requires a recipient and an amount in satoshis (often called "duffs" in Dash). 100 million satoshis equals one Dash. We pass the transaction to account.broadcastTransaction
and wait for it to return. Then we output the result, which is a transaction ID. After that we disconnect from the Client so node can exit.
Updated almost 4 years ago