Prototype the certification adaptation in the Dijkstra era (before Leios)

Đang mở
#3,687 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

@jpraynaud đang làm issue này rồi.

Từ ngày 9/11/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

prototype :hammer_and_wrench:

Why

The Dijkstra hard fork brings a new block format and lets a Cardano transaction embed sub-transactions (nested transactions, CIP-0118) with their own transaction ids, but the Mithril nodes only decode the blocks up to Conway and only store the top-level transactions returned by MultiEraBlock::txs(), so the Mithril certifications would break or be incomplete after the hard fork.

What

A prototype where the Mithril certifications keep working on a Dijkstra devnet with cardano-node 11.2.0 before Leios.

How

  • Store the hashes of the sub-transactions of each transaction when scanning a block (ScannedBlock::convert), with no change for the pre-Dijkstra blocks
  • Evolve the devnet
    • Fork to Dijkstra as the latest era with cardano-node 11.2.0 (--cardano-hard-fork-latest-era-at-epoch sets the Dijkstra epoch), the older nodes keeping Conway
    • Create nested transactions in the payment script when the era is Dijkstra
  • Evolve the end-to-end tests
    • Collect the sub-transaction hashes from the immutable files
    • Certify the sub-transactions with the client CLI on both backends in the full and minimal scenarios, and fail when a Dijkstra devnet produced none
  • Decide whether a sub-transaction needs a dedicated leaf format or a link to its parent transaction
  • Pallas dijkstra patches:
    • Create a patch for the optional Leios header fields with Cardano 11.2.0
    • Publish the patch for the optional Leios header fields with Cardano 11.2.0
  • List the follow-up issues for production
    • Upgrade to the released Pallas crates supporting Dijkstra
    • Ship a new distribution with the released Pallas crate
Ngôn ngữ chính
Rust
Star
155
Fork
52
Merge trung bình
2 ngày 10 giờ
Pull request đã merge (30 ngày)
35

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của IntersectMBO/mithril

Tất cả issue của IntersectMBO/mithril

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.