Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
bf9b6c4
Add WIP cardano support
SupernaviX May 30, 2024
0b47496
Fix WS connection to cardano connector
SupernaviX Jun 2, 2024
7b9e934
Pass-through FFI validation
SupernaviX Jun 2, 2024
fb574c6
Fix signature of cardano plugin
SupernaviX Oct 31, 2024
b9b766a
Update tags for cardano images
SupernaviX Oct 31, 2024
0238a58
feat: implement invoking cardano contracts
SupernaviX Nov 6, 2024
2e9baf2
feat: support DeployContract
SupernaviX Dec 6, 2024
67c8b1c
fix: pass namespace to HandleReceipt
SupernaviX Feb 6, 2025
ef68f8e
feat: support contract listeners
SupernaviX Feb 7, 2025
89c1a24
fix: correct linter error
SupernaviX Feb 8, 2025
1e5f445
fix: correct image paths
SupernaviX Feb 8, 2025
a95c7af
fix: correct copyright year
SupernaviX Feb 8, 2025
07f4dbd
fix: fix documentation
SupernaviX Feb 8, 2025
dba31c7
test: add coverage
SupernaviX Feb 10, 2025
89dd513
fix: use newer curl version
SupernaviX Feb 10, 2025
8a1372f
fix: use same curl version everywhere
SupernaviX Feb 10, 2025
e992174
fix: downgrade to older curl version everywhere
SupernaviX Feb 10, 2025
b4e295f
test: add test on invalid input to reach 100% coverage
SupernaviX Feb 10, 2025
1f4d2f9
feat: use different websockets for different namespaces
SupernaviX Feb 11, 2025
4efbdd8
feat: copy event signature logic to error signatures
SupernaviX Feb 11, 2025
581623f
fix: use proper i18n errors
SupernaviX Feb 11, 2025
77b0e82
Merge branch 'main' into cardano
SupernaviX Feb 20, 2025
d219791
fix: remove unneeded dockerfile change
SupernaviX Feb 20, 2025
0fbba39
Merge branch 'main' into cardano
SupernaviX Feb 24, 2025
85486a8
Merge branch 'main' into cardano
SupernaviX Feb 26, 2025
5bf7193
fix: correct OperationUpdate mock
SupernaviX Feb 26, 2025
3bd61a9
Merge branch 'main' into cardano
SupernaviX Mar 3, 2025
bc93388
Merge branch 'main' into cardano
SupernaviX Mar 7, 2025
96531e3
feat: remove fake websocket code from GetTransactionStatus
SupernaviX Mar 11, 2025
710b94e
feat: expect receipts to arrive in batches
SupernaviX Mar 11, 2025
1649d7c
fix: remove redundant Cardano in logs
SupernaviX Mar 11, 2025
3b39818
fix: correct copyright on new files
SupernaviX Mar 11, 2025
d22629b
Merge branch 'main' into cardano
SupernaviX Mar 12, 2025
976a0b1
fix: fix overflow warning
SupernaviX Mar 12, 2025
995e2bf
feat: update manifest images
SupernaviX Mar 13, 2025
0d3cc67
docs: add docs
SupernaviX Mar 13, 2025
a6d26e7
feat: support QueryContract
SupernaviX Mar 13, 2025
18e6eec
Merge branch 'main' into cardano
SupernaviX Mar 14, 2025
17bab49
fix: handle unchecked error
SupernaviX Mar 14, 2025
c177dcb
fix: pass full signature in listener
SupernaviX Mar 14, 2025
f424f72
feat: use synchronous bulk operation updates for receipt handling
SupernaviX Mar 15, 2025
34390c6
docs: document contract creation
SupernaviX Mar 15, 2025
6ef9ba7
fix: address captialization issues
SupernaviX Mar 15, 2025
e19609d
fix: update cardano images
SupernaviX Mar 15, 2025
0c170a7
fix: finish sentences in docs
SupernaviX Mar 17, 2025
725f706
fix: correct timing-out test
SupernaviX Mar 17, 2025
05bab1b
feat: update docs and connector images
SupernaviX Mar 21, 2025
7321ba9
Merge branch 'main' into cardano
SupernaviX Mar 21, 2025
02ee3c1
Merge branch 'main' into cardano
SupernaviX Apr 28, 2025
c739ed8
Merge branch 'main' into cardano
SupernaviX Apr 30, 2025
8cc7e00
Update custom contracts docs
SupernaviX May 1, 2025
71673fd
Remove comment
SupernaviX May 1, 2025
a5d6e4c
Use fresh error codes for cardano errors
SupernaviX May 1, 2025
1fe0143
Merge branch 'main' into cardano
SupernaviX May 16, 2025
a008d52
Merge branch 'main' into cardano
SupernaviX May 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions doc-site/docs/tutorials/chains/cardano.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: Cardano
---

This guide will walk you through the steps to create a local FireFly development environment running against the preview node.

## Previous steps: Install the FireFly CLI

If you haven't set up the FireFly CLI already, please go back to the Getting Started guide and read the section on how to [Install the FireFly CLI](../../gettingstarted/firefly_cli.md).

[← ① Install the FireFly CLI](../../gettingstarted/firefly_cli.md){: .md-button .md-button--primary}

## Create the stack

A Cardano stack can be run in two different ways; with a firefly
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A Cardano stack can be run in two different ways; with a firefly
A Cardano stack can be run in two different ways with Hyperledger FireFly


### Option 1: Use a local Cardano node

> **NOTE**: The cardano-node communicates over a Unix socket, so this will not work on Windows.
Start a local cardano node. The fastest way to do this is to [use mithril](https://mithril.network/doc/manual/getting-started/bootstrap-cardano-node/) to bootstrap the node.

For an example of how to bootstrap and run the cardano node in docker, see [the firefly-cardano repo](https://github.com/hyperledger/firefly-cardano/blob/1be3b08d301d6d6eeb5b79e40cf3dbf66181c3de/infra/docker-compose.node.yaml#L4).

The cardano-node exposes a Unix socket named `node.socket`. Pass that to firefly-cli. The example below uses `firefly-cli` to
- Create a new Cardano-based stack named `dev` with 1 member.
- Disable `multiparty` mode.
- Connect to the local Cardano node, which is running in the [preview network](https://preview.cexplorer.io/).

```sh
ff init cardano dev 1 \
--multiparty false \
--network preview \
--socket /path/to/ipc/node.socket
```

### Option 2: Use Blockfrost

The Cardano connector can also use the [paid Blockfrost API](https://blockfrost.io/) in place of a local Cardano node.

The example below uses firefly-cli to
- Create a new Cardano-based stack named `dev` with 1 member.
- Disable `multiparty` mode.
- Use the given block

```sh
ff init cardano dev 1 \
--multiparty false \
--network preview \
--blockfrost-key previewXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```

## Start the stack

Now you should be able to start your stack by running:

```sh
ff start dev
```

After some time it should print out the following:

```
Web UI for member '0': http://127.0.0.1:5000/ui
Sandbox UI for member '0': http://127.0.0.1:5109
To see logs for your stack run:
ff logs dev
```

## Get some ADA

Now that you have a stack, you need some seed funds to get started. Your stack was created with a wallet already (these are free to create in Cardano). To get the address, you can run
```sh
ff accounts list dev
```

The response will look like
```json
[
{
"address": "addr_test1...",
"privateKey": "..."
}
]
```

If you're developing against a testnet such as preview, you can receive funds from the [testnet faucet](https://docs.cardano.org/cardano-testnets/tools/faucet). Pass the `address` from that response to the faucet.
10 changes: 6 additions & 4 deletions manifest.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
{
"cardanoconnect": {
"image": "hyperledger/firefly-cardanoconnect",
"tag": "main"
"image": "ghcr.io/hyperledger/firefly-cardanoconnect",
"tag": "v0.2.1",
"sha": "de880330e10faee733a30306add75139ccdf248329724f0b1292cf62eb65619f"
},
"cardanosigner": {
"image": "hyperledger/firefly-cardanosigner",
"tag": "main"
"image": "ghcr.io/hyperledger/firefly-cardanosigner",
"tag": "v0.2.1",
"sha": "d277bb99de78ed0fafd8b6a83f78a70efaa493a2b2c8259a4c46508f6987b0d5"
},
"ethconnect": {
"image": "ghcr.io/hyperledger/firefly-ethconnect",
Expand Down
Loading