Skip to content

HarmonicLabs/cardanocli-pluts

Repository files navigation

cardanocli-pluts

Overview

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

Prerequisites

  • cardano-node >= 1.29.0
  • node.js >= 12.19.0
  • plu-ts >= 0.2.0

Getting started

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()

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published