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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions