Skip to content

Implement tx submit evaluation via pallas & haskell#322

Closed
ginnun wants to merge 24 commits intomainfrom
feat/tx-evaluation
Closed

Implement tx submit evaluation via pallas & haskell#322
ginnun wants to merge 24 commits intomainfrom
feat/tx-evaluation

Conversation

@ginnun
Copy link
Copy Markdown
Collaborator

@ginnun ginnun commented May 26, 2025

Implements #306

The goal of this PR is to implement tx evaluation APIs while trying to stay compatible to the Blockfrost.io version, which are:

  • /utils/txs/evaluate
  • /utils/txs/evaluate/utxos

What is added

  • Two new endpoints and tests under a new compile configuration: evaluate
  • New cardano node client functions related to ledger: protocol_params and genesis_config
  • pallas_validate handling

What is changed

  • Test folder layout. Now we can have separate files for each endpoint tests. This makes sense since we are going to have lots of them.
  • Underlying commit of the pallas tag. I ended up fixing a non-working part in pallas. So changed the hash of the tag. (I want to use tagging better in the future)
  • cargo.lock file content

Considerations

  • I am getting the protocol params and genesis from the Cardano node every time. This can be changed to use the new static implementation (or cached)
  • The build configuration evaluate will be built by default except windows and linux-aarch64 platforms (handled in build.rs).
  • The build configuration evaluate enables tx evaluation endpoints. It exists since pallat-validate crate isn't building for windows-all and linux-aarch64 at the moment.

Please run cargo clean to make sure everything is in a fresh state before compiling.

Haskell part: blockfrost/testgen-hs#3

@ginnun ginnun requested review from michalrus and vladimirvolek and removed request for michalrus May 26, 2025 14:26
@ginnun ginnun force-pushed the feat/tx-evaluation branch from b7ed042 to 0ecb7c2 Compare May 27, 2025 16:59
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented May 27, 2025

Deploying blockfrost-platform with  Cloudflare Pages  Cloudflare Pages

Latest commit: 0fdfd5b
Status: ✅  Deploy successful!
Preview URL: https://85ede00f.blockfrost-platform.pages.dev
Branch Preview URL: https://feat-tx-evaluation.blockfrost-platform.pages.dev

View logs

@michalrus
Copy link
Copy Markdown
Member

michalrus commented May 30, 2025

Current situation

Not a review (yet), but here's the build situation after a few of my tweaks above:

  • ✅ OCI (Docker)
  • ✅ Linux (x86_64)
  • ❌ Linux (AArch64) – cross compilation of gmp-mpfr-sys not (easily) possible,
  • ✅ macOS (AArch64)
  • ✅ macOS (x86_64)
  • ❌ Windows (x86_64) – phase2 of Pallas not supported, see this txpipe/dolos issue.

See also: the job table: https://ci.iog.io/jobset/blockfrost-blockfrost-platform/pullrequest-322#tabs-jobs.

More details in the Slack thread.

Next steps

@ginnun ginnun force-pushed the feat/tx-evaluation branch from e09a5b9 to 581d7de Compare June 19, 2025 08:59
@ginnun
Copy link
Copy Markdown
Collaborator Author

ginnun commented Jun 19, 2025

All the issues mentioned by @michalrus above are addressed. No compilation should fail anymore. Please the the PR desc for details.

@michalrus
Copy link
Copy Markdown
Member

michalrus commented Jul 7, 2025

Latest update: I'm adding the random tests in a PR on top of this one:

I also think we need to merge main into this one. 👀

@ginnun ginnun force-pushed the feat/tx-evaluation branch from 7550202 to 0fdfd5b Compare September 9, 2025 10:50
@ginnun ginnun changed the title Implement tx submit evaluation via pallas Implement tx submit evaluation via pallas & haskell Sep 9, 2025
@michalrus
Copy link
Copy Markdown
Member

@ginnun, should this be closed in favor of ↓?

@ginnun
Copy link
Copy Markdown
Collaborator Author

ginnun commented Sep 16, 2025

@michalrus yes I will do it, once I feel secure about the rebase outcome.

@ginnun
Copy link
Copy Markdown
Collaborator Author

ginnun commented Sep 23, 2025

Closed in favor of #378 . I will keep the branch around for a while.

@ginnun ginnun closed this Sep 23, 2025
@michalrus michalrus deleted the feat/tx-evaluation branch March 2, 2026 12:37
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.

Add POST /utils/txs/evaluate – how many execution units for a transaction

3 participants