JSPM

  • Created
  • Published
  • Downloads 1929
  • Score
    100M100P100Q118699F
  • License MIT

Lucid is a library, which allows you to create Cardano transactions and off-chain code for your Plutus contracts in JavaScript and Node.js.

Package Exports

  • lucid-cardano
  • lucid-cardano/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lucid-cardano) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Lucid

Lucid is a library, which allows you to create Cardano transactions and off-chain code for your Plutus contracts in JavaScript and Node.js.

Installation

npm install lucid-cardano

From Source

Install dependencies

npm install

Generate build

npm run build

Examples

You can check out the examples folder.

Basic usage

import {Lucid, Blockfrost} from "lucid-cardano";

const lucid = await Lucid.new(
  new Blockfrost('https://cardano-testnet.blockfrost.io/api/v0', '<projectId>'),
  'Testnet'
);

// Assumes you are in a browser environment
const api = await window.cardano.nami.enable();
lucid.selectWallet(api);

const tx = await lucid.newTx()
    .payToAddress("addr...", {lovelace: 5000000n})
    .complete();

const signedTx = await tx.sign().complete();

const txHash = await signedTx.submit();

console.log(txHash);

Test

npm test

Docs

You can generate documentation with:

npm run docs

It'll be located under /docs.

Compatibilty

To run it in the browser Webpack 5 is recommended or any other bundler which allows for top level await and WebAssembly. If you use Webpack 5 enable in the webpack.config.js:

experiments: {
    asyncWebAssembly: true,
    topLevelAwait: true,
    layers: true // optional, with some bundlers/frameworks it doesn't work without
  }

To run the library in Node.js you need to set {"type" : "module"} in your project's package.json. Otherwise you will get import issues.


This library is built on top of a customized version of the serialization-lib (cardano-multiplatform-lib).

Documentation for cardano-multiplatform-lib: https://cardano-lucid.readthedocs.io/en/latest

Link: https://github.com/Berry-Pool/cardano-multiplatform-lib/tree/plutus

Branch: Plutus

Commit hash: 97e57ec28a0a1a48a5c1f71af9ed97b058091b74