Skip to content

Support displaying Simplicity scripts #597

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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