cardanocli-pluts
is a library that wraps cardano-cli using Typescript allowing you to interact with the cli using the Types exposed by plu-ts
cardano-node >= 1.29.0
node.js >= 12.19.0
plu-ts >= 0.2.0
import { CardanoCliPluts } from "@harmoniclabs/cardanocli-pluts"
import { Value } from "@harmoniclabs/plu-ts"
const cli = new CardanoCliPluts({
network: "testnet 42"
});
async function main(){
// read a saved address from file
const bobAddr = await cli.utils.readAddress( "./addresses/bob.addr" );
// or make a new addres using the cli
const { privateKey, publicKey } = await cli.address.keyGen();
const myAddr = await cli.address.build({
payment: { publicKey }
});
// query the UTxOs at myAddr
const myUtxos = await cli.query.utxo({
address: myAddr
});
// send some ada to bob
const tx = await cli.transaction.build({
inputs: [{ utxo: myUtxos[0] }],
outpus: [
{
address: bobAddr,
value: Value.lovelaces(2_000_000)
}
],
changeAddress: myAddr
});
const txSigned = await cli.transaction.sign({
tx,
privateKey
});
// let's check everything is ok before submission
console.log(
JSON.stringify(
txSigned.toJson(),
undefined,
2
)
);
// send the transaction
cli.transaction.submit({ tx: txSigned })
}
main()