Skip to content

Support displaying Simplicity scripts #597

@imaginator

Description

@imaginator

Feature Request: Add Simplicity Program Display for Taproot Script Path Spends

Description

With the upcoming launch of Simplicity on a public signet (e.g., testnet4 or similar), users will start creating, spending, and testing Simplicity-based transactions. To enhance usability and accessibility, the Esplora block explorer should support displaying Simplicity-specific details for transaction inputs that spend Taproot outputs via a Simplicity script path.

When viewing such an input, add a new, clearly labeled section in the input details panel. This section could include:

  • Heading: "Simplicity Program" (to distinguish it from standard Bitcoin Script).
  • Human-Readable Disassembly: A decoded, readable representation of the executed Simplicity program (e.g., bitcode parsing showing jets in use).
  • Tagged Merkle Root (TMR): The TMR as the unique contract identifier.
  • Optional Enhancements: MAST visualization if applicable, to show the program's structure.

This feature should be enabled for Simplicity-supported networks like Liquid (where P2TR Simplicity spends are already possible) and the new signet/testnet.

Implementation Notes

  • implementation on liquid.network for testing and stability, then extend to Bitcoin testnets/signets.
  • Reference for Simplicity details: Ongoing work on transaction weight computation and jet costs; potential future upgrades may involve Taproot script versioning.
  • Additional context and examples: Gist on Simplicity Testnet Plans
  • here's an example transaction: 6e8d14e02b4255da8b2e0625be120207cc73b378e0edcafffd29f69d199cac70

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions