Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/lucid/mod.ts

Lucid is a library, which allows you to create Cardano transactions and off-chain code for your Plutus contracts in JavaScript, Deno and Node.js.
Go to Latest
import * as lucid from "https://deno.land/x/lucid@0.5.2/mod.ts";

Classes

ED25519 key used as public key

We introduce a builder-pattern format for creating transaction outputs This is because:

  1. Some fields (i.e. data hash) are optional, and we can't easily expose Option<> in WASM
  2. Some fields like amounts have many ways it could be set (some depending on other field values being known)
  3. Easier to adapt as the output format gets more complicated in future Cardano releases

Builder de-duplicates witnesses as they are added

Enums

JSON <-> PlutusData conversion schemas. Follows ScriptDataJsonSchema in cardano-cli defined at: https://github.com/input-output-hk/cardano-node/blob/master/cardano-api/src/Cardano/Api/ScriptData.hs#L254

Each new language uses a different namespace for hashing its script This is because you could have a language where the same bytes have different semantics So this avoids scripts in different languages mapping to the same hash Note that the enum value here is different than the enum value for deciding the cost model of a script https://github.com/input-output-hk/cardano-ledger/blob/9c3b4737b13b30f71529e76c5330f403165e28a6/eras/alonzo/impl/src/Cardano/Ledger/Alonzo.hs#L127

Used to choose the schema for a script JSON string

Variables

v
C

This function is temporarily needed only, until Blockfrost returns the datum natively in cbor

Functions

Concatenate the given arrays into a new Uint8Array.

If module_or_path is {RequestInfo} or {URL}, makes a request and for everything else, calls WebAssembly.instantiate directly.

Receives a script JSON string and returns a NativeScript. Cardano Wallet and Node styles are supported.

Check whether binary arrays are equal to each other.

Interfaces

A wallet that can be constructed from external data e.g UTxOs, collateral, and address

Type Aliases

Bech32

Note: Plutus scripts need to be cbor encoded. Raw compiled script without the CBOR encoding do not work.

Hex

Hex

JSON object

Hex

Note: Plutus scripts need to be CBOR encoded. Raw compiled script without the CBOR encoding do not work.

asHash will add the datum hash to the output and the datum to the witness set

Hex

These are the arguments that conform a BuiltinData in Plutus:

Hex

Bech32

Bech32

Hex (Redeemer is only PlutusData, same as Datum)

Bech32

Note: Plutus scripts need to be CBOR encoded. Raw compiled script without the CBOR encoding do not work.

Hex

Hex

Note: Plutus scripts need to be CBOR encoded. Raw compiled script without the CBOR encoding do not work.

Hex

Hex

Hex

Hex

Concatenation of Policy Id and asset name in Hex

Time in milliseconds

Note: Plutus scripts need to be cbor encoded. Raw compiled script without the CBOR encoding do not work.