Skip to content

Bitcoin-Wildlife-Sanctuary/dsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 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

Packages

No packages published

Languages