[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/BitVM/bitvm.github.io/main/treeplusplus.md [Back]  [Original]

# Tree++ 
Tree++ is a language for smarter Bitcoin contracts. The following summarizes the vision.

## Advanced Scripting
At the core of Tree++ there is a templating language which can express complex Bitcoin Scripts.

- Evaluate constant expressions
- Parametrized templates
- Unroll loops
- Compose opcodes
- Library of composed opcodes
  - E.g., multiplication, bitwise XOR, bitwise shifts, Blake3, ...
- Hints
  - E.g. reduce: division to a multiplication, square root to a multiplication, modulo to a multiplication., ...
- Lookup tables
- Statefulness
  - Lamport signatures (message sizes: u8, u32, u160, ...)
  - Also Winternitz signatures
  - In the future maybe OP_CHECKSIGFROMSTACK

## Graphs of Transactions
- Compose Tree++ scripts into potentially large Taptrees
- Model contract logic in form of sequences and graphs of transactions
- Statefulness
  - Presigned transactions (also sighashes!)
  - Connector outputs
  - Trigger transactions
  - Timeouts
- Library of parametrizable sub-graphs
  - E.g. BitVM, zkp verifier, bridge

## Tooling 
- Documentation and Tutorials
- Online editor with examples (like https://ide.scriptwiz.app)
- Package manager (Cargo)



Web Proxy Viewer  |  New URL  |  Original Page