JSPM

  • Created
  • Published
  • Downloads 2028
  • Score
    100M100P100Q118098F
  • 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

GitHub commit activity

Read the Docs

Twitter Follow

Discord

npm version

npm downloads

NPM

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

This library is experimental. Expect bugs. It's still work in progress.

Table of contents

Features

  • To be added
  • To be added

Installation

npm install lucid-cardano

Examples

You can check out the examples folder.

Preview

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

// Assumes you are in a browser environment
await Lucid.selectWallet('nami');

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

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

const txHash = await signedTx.submit();

console.log(txHash);

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. When 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: https://cardano-lucid.readthedocs.io/en/latest

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

Branch: Plutus

Commit hash: 9e6f6ed0b315ad3e10ecaccd8f8a321591cc2c98