Basic Transactions
As of writing, there are 4 main types of transactions:
- Send lovelace and assets (this)
- Interacting with smart contracts
- Minting and burning assets
- Interacting with stake pools
In this section, we will explore the following:
- Send ADA to Addresses
- Send Multiple Assets to Addresses
- Send Assets to Handler
- Send tokens and stable coins to addresses
Send ADA to Addresses
You can chain tx.sendLovelace() to send to multiple recipients. For example:
import { Transaction } from "@meshsdk/core";
const tx = new Transaction({ initiator: wallet })
.sendLovelace(
"addr_test1vpvx0sacufuypa2k4sngk7q40zc5c4npl337uusdh64kv0c7e4cxr",
"1000000"
)
.sendLovelace("ANOTHER ADDRESS HERE", "1500000");
const unsignedTx = await tx.build();
const signedTx = await wallet.signTx(unsignedTx);
const txHash = await wallet.submitTx(signedTx);
Send Multiple Assets to Addresses
We can chain a series of tx.sendAssets() and tx.sendLovelace() to send multiple assets to multiple recipients. For example:
import { Transaction, Asset } from "@meshsdk/core";
const tx = new Transaction({ initiator: wallet })
.sendLovelace(
"addr_test1vpvx0sacufuypa2k4sngk7q40zc5c4npl337uusdh64kv0c7e4cxr",
"1000000"
)
.sendAssets(
"addr_test1vpvx0sacufuypa2k4sngk7q40zc5c4npl337uusdh64kv0c7e4cxr",
[
{
unit: "64af286e2ad0df4de2e7de15f8ff5b3d27faecf4ab2757056d860a424d657368546f6b656e",
quantity: "1",
},
]
)
.sendLovelace("ANOTHER ADDRESS HERE", "1500000");
const unsignedTx = await tx.build();
const signedTx = await wallet.signTx(unsignedTx);
const txHash = await wallet.submitTx(signedTx);
Send Assets to Handler
We can get the ADA Handle's address with any blockchain providers and calling the fetchHandleAddress() function.
For instance, lets send some lovelace to $jingles:
import { KoiosProvider, Transaction } from "@meshsdk/core";
const koios = new KoiosProvider("api");
const tx = new Transaction({ initiator: wallet })
.sendLovelace(
await koios.fetchHandleAddress("jingles"),
"1000000"
);
const unsignedTx = await tx.build();
const signedTx = await wallet.signTx(unsignedTx);
const txHash = await wallet.submitTx(signedTx);
Send tokens and stable coins to addresses
Like sendLovelace(), we can chain sendToken() along side tx.sendLovelace() to send multiple assets to multiple recipients.
For instance, lets send some DJED to ADA to jingles:
import { Transaction } from '@meshsdk/core';
const koios = new KoiosProvider("api");
const address = await koios.fetchHandleAddress("jingles");
const tx = new Transaction({ initiator: wallet })
.sendToken(
address,
'DJED',
'1000000'
)
.sendLovelace(
address,
"1000000"
);
const unsignedTx = await tx.build();
const signedTx = await wallet.signTx(unsignedTx);
const txHash = await wallet.submitTx(signedTx);
Check out the Mesh Playground for live demo and full explanation.