# lucid-cardano

> 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.

Latest version **0.10.11** (published 2024-11-27) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install lucid-cardano
pnpm add lucid-cardano
yarn add lucid-cardano
bun add lucid-cardano
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.10.11 |
| Published | 2024-11-27 |
| First published | 2022-04-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=14 |
| Dependencies | 3 |
| Unpacked size | 5.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 359 |
| Author | Alessandro Konrad |
| Maintainers | alessandrokonrad |

## Links

- npm: https://www.npmjs.com/package/lucid-cardano
- Repository: https://github.com/spacebudz/lucid
- Homepage: https://github.com/spacebudz/lucid#readme
- Issues: https://github.com/spacebudz/lucid/issues
- npm.io page: https://npm.io/package/lucid-cardano

## Dependencies (3)

- [ws](https://npm.io/package/ws.md) ^8.10.0
- [node-fetch](https://npm.io/package/node-fetch.md) ^3.2.3
- [@peculiar/webcrypto](https://npm.io/package/@peculiar/webcrypto.md) ^1.4.0

## Recent versions

- 0.10.11 (latest) — 2024-11-27
- 0.6.0 (vasil) — 2022-09-13
- 0.10.10 — 2024-09-04
- 0.10.9 — 2024-09-01
- 0.10.8 — 2024-08-30
- 0.10.7 — 2023-07-25
- 0.10.6 — 2023-06-02
- 0.10.5 — 2023-05-21
- 0.10.4 — 2023-05-06
- 0.10.3 — 2023-05-04
- 0.10.2 — 2023-04-22
- 0.10.1 — 2023-04-05
- 0.10.0 — 2023-04-04
- 0.9.9 — 2023-04-04
- 0.9.8 — 2023-03-27
- … 74 more at https://npm.io/package/lucid-cardano/versions

## README

<p align="center">
  <img width="100px" src="./logo/lucid.svg" align="center"/>
  <h1 align="center">Lucid</h1>
  <p align="center">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.</p>

<p align="center">
    <img src="https://img.shields.io/github/commit-activity/m/berry-pool/lucid?style=for-the-badge" />
    <a href="https://www.npmjs.com/package/lucid-cardano">
      <img src="https://img.shields.io/npm/v/lucid-cardano?style=for-the-badge" />
    </a>
     <a href="https://doc.deno.land/https://deno.land/x/lucid/mod.ts">
      <img src="https://img.shields.io/readthedocs/cardano-lucid?style=for-the-badge" />
    </a>
    <a href="https://www.npmjs.com/package/lucid-cardano">
      <img src="https://img.shields.io/npm/dw/lucid-cardano?style=for-the-badge" />
    </a>
    <img src="https://img.shields.io/npm/l/lucid-cardano?style=for-the-badge" />
    <a href="https://twitter.com/spacebudzNFT">
      <img src="https://img.shields.io/twitter/follow/spacebudzNFT?style=for-the-badge&logo=twitter" />
    </a>
  </p>

</p>

### Get started

#### NPM

```
npm install lucid-cardano
```

#### Deno 🦕

For JavaScript and TypeScript

```js
import { Lucid } from "https://deno.land/x/lucid@0.10.11/mod.ts";
```

#### Web

```html
<script type="module">
import { Lucid } from "https://unpkg.com/lucid-cardano@0.10.11/web/mod.js"
// ...
</script>
```

### 

### Build from source

Build NPM and Web target

```
deno task build
```

Outputs a `dist` folder

### Examples

- [Basic examples](./src/examples/)
- [Next.js Blockfrost Proxy API Example](https://github.com/GGAlanSmithee/cardano-lucid-blockfrost-proxy-example)

### Basic usage

```js
// import { Blockfrost, Lucid } from "https://deno.land/x/lucid@0.10.11/mod.ts"; Deno
import { Blockfrost, Lucid } from "lucid-cardano"; // NPM

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

// 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

```
deno task test
```

### Build Core

This library is built on top of a customized version of the serialization-lib
(cardano-multiplatform-lib) and on top of the message-signing library, which are
written in Rust.

```
deno task build:core
```

### Test Core

```
deno task test:core
```

### Docs

[View docs](https://doc.deno.land/https://deno.land/x/lucid/mod.ts) 📖

You can generate documentation with:

```
deno doc
```

### Compatibility

Lucid is an ES Module, so to run it in the browser any bundler which allows for
top level await and WebAssembly is recommended. 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.

### Contributing

Contributions and PRs are welcome!\
The [contribution instructions](./CONTRIBUTING.md).

Join us on [Discord](https://discord.gg/82MWs63Tdm)!

### Use Lucid with React

[use-cardano](https://use-cardano.alangaming.com/) a React context, hook and set
of components built on top of Lucid.

### Use Lucid with Next.js

[Cardano Starter Kit](https://cardano-starter-kit.alangaming.com/) a Next.js
starter kit for building Cardano dApps.

---
_Source: https://npm.io/package/lucid-cardano · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
