Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spacebudz/lucid
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.
https://github.com/spacebudz/lucid
cardano deno typescript
Last synced: about 1 month ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/spacebudz/lucid
- Owner: spacebudz
- License: mit
- Created: 2022-04-14T21:46:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-04T14:37:16.000Z (2 months ago)
- Last Synced: 2024-10-08T17:47:50.472Z (about 1 month ago)
- Topics: cardano, deno, typescript
- Language: Rust
- Homepage: https://lucid.spacebudz.io
- Size: 93.6 MB
- Stars: 339
- Watchers: 18
- Forks: 139
- Open Issues: 51
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Lucid
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.
### Get started
#### NPM
```
npm install lucid-cardano
```#### Deno 🦕
For JavaScript and TypeScript
```js
import { Lucid } from "https://deno.land/x/[email protected]/mod.ts";
```#### Web
```html
import { Lucid } from "https://unpkg.com/[email protected]/web/mod.js"
// ...```
###
### 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/[email protected]/mod.ts"; Deno
import { Blockfrost, Lucid } from "lucid-cardano"; // NPMconst lucid = await Lucid.new(
new Blockfrost("https://cardano-preview.blockfrost.io/api/v0", ""),
"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.