Skip to content

Compiler infrastructure for Bitcoin Script

License

Notifications You must be signed in to change notification settings

zkLayer/dsl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Compiler infrastructure for Bitcoin Script

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%