A blazingly-fast, ux-first simplicity development framework.
Simplex is a Rust-based, comprehensive development framework for Simplicity smart contracts, aiming to provide a rich tooling suite for implementing, testing, and deploying smart contract on Liquid.
- CLI for managing simplicity-based projects.
- SDK with essential simplicity utilities.
- Liquid regtest for local integration testing.
- Extensive framework configuration.
Warning
The framework is at the extremely early stage of development, unforeseen breaking changes and critical bugs are expected.
cargo install --path ./crates/cliThe proper installer will be provided soon.
Simplex is a zero-config framework. However, it requires a simplex.toml file to exist in the project root. The default configuration is the following:
# Simplex config
[build]
src_dir = "./simf"
simf_files = ["*.simf"]
out_dir = "./src/artifacts"
[test]
mnemonic = "exist carry drive collect lend cereal occur much tiger just involve mean"
[test.esplora]
url = "<esplora url>"
network = "<Liquid, LiquidTestnet, LiquidRegtest>"
[test.rpc]
url = "<rpc url>"
username = "<rpc username>"
password = "<rpc password>"Where:
build(simplex buildconfig)src_dir- The simplicity contracts source directory.simf_files- A glob pattern incidating which contracts are in scope.out_dir- The output directory where contracts artifacts are generated.
test(simplex testconfig)esploraurl- Esplora API endpoint urlnetwork- Esplora network type (Liquid,LiquidTestnet,LiquidRegtest).
rpcurl- Elements RPC endpoint urlusername- Elements RPC usernamepassword- Elements RPC password
Simplex CLI provides the following commands:
simplex init- Initializes a Simplex project.simplex config- Prints the current config.simplex build- Generates simplicity artifacts.simplex regtest- Spins up local Electrs + Elements nodes.simplex test- Runs Simplex tests.simplex clean- Cleans up the project.
To view the available options, run the help command:
simplex -hCheck out the complete project examples in the examples directory to learn more.
- Custom signer setup with
simplex regtest. - SDK support for confidential assets.
-
simplex initandsimplex cleantasks. - Proper installation scripts.
- Simplicity dependencies management once the language adds support for modules.
- Comprehensive documentation.
The framework is released under the MIT License.
