Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 1.01 KB

README.md

File metadata and controls

18 lines (14 loc) · 1.01 KB

dsl

This repository contains a domain-specific language (DSL)-like toolchain that converts a structural program into the corresponding Bitcoin script. Unlike sCrypt, this was not designed for general users, but for the purpose of addressing a few challenges that we encounter in the new algorithm for M31.

These challenges include:

  • difficulty to keep track of the relative position of the lookup table and other state data
  • difficulty to do bookkeeping of the hints for unstructured programs with mixed function calls
  • difficulty to read, debug, and maintain manually written copy (OP_PICK) and move (OP_ROLL) of stack operations

This DSL is still under development, and new functionalities will be added gradually as we try it on the new M31 algorithm.

  • more interfaces for the trace generator
  • more documentation
  • more examples for integration and tests

This implementation is inspired by the methods in sCrypt. Xiaohui Liu from sCrypto has provided some advice and feedback to this work.