Build your first transaction
How to create and submit a transaction with Lucid.
Let's create a simple transaction where we send 5 ADA
to two recipients each:
const tx = await lucid.newTx()
.payTo("addr_testa...", { lovelace: 5000000n })
.payTo("addr_testb...", { lovelace: 5000000n })
.commit();
Transactions always need to end with .commit()
in order to balance the transaction and do coin selection.
Next we sign the transaction:
const signedTx = await tx.sign().commit();
Here we also need to call .commit()
when we are ready with signing.
Lastly we submit the transaction:
const txHash = await signedTx.submit();
console.log(txHash);
The full example:
import { Blockfrost, Lucid } from "https://deno.land/x/lucid/mod.ts";
const lucid = new Lucid({
provider: new Blockfrost(
"https://cardano-preprod.blockfrost.io/api/v0",
"<projectId>",
),
});
lucid.selectWalletFromPrivateKey(privateKey);
const tx = await lucid.newTx()
.payTo("addr_testa...", { lovelace: 5000000n })
.payTo("addr_testb...", { lovelace: 5000000n })
.commit();
const signedTx = await tx.sign().commit();
const txHash = await signedTx.submit();
console.log(txHash);