Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use balius to implement smart contracts #6

Merged
merged 21 commits into from
Nov 27, 2024
Merged

Use balius to implement smart contracts #6

merged 21 commits into from
Nov 27, 2024

Conversation

SupernaviX
Copy link
Collaborator

Context

Implement "smart contracts" in the cardano connector. Also remove the dependency on a running cardano node.

Important Changes Introduced

The cardano connector uses a library called balius to build transactions. This library is a runtime for WASM "smart contracts" which run offchain and know how to build cardano transactions. The connector has an API endpoint to "deploy" a smart contract (the endpoint accepts hex-encoded WASM), an endpoint to "invoke" a smart contract, and an endpoint to see the status of an invocation. Notifying firefly-core that the contract has been deployed/invoked has not yet been implemented.

The library is using blockfrost to query against the chain, instead of relying on chainsync from a real cardano node. The demo has also been updated to use an offchain "smart contract" to build its transaction, so you can run the demo end to end while only depending on the blockfrost API.

Future work

Balius itself is still under heavy development, and the API is not yet stable. For this to be production-ready, we'll need to develop it further.

The blockfrost API does not have the right set of endpoints to meet this application's needs without quickly hitting rate limits. We need to enhance blockfrost's APIs and/or work around the rate limits in the paplication.

@SupernaviX SupernaviX merged commit 102ceb6 into main Nov 27, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant