Skip to content

stacks-network/sbtc

Repository files navigation

sBTC

Note: This repo is still in early development and is not ready for production use.

License: GPL v3 Discord

Ths repository builds off the developer experience within https://github.com/stacks-network/sbtc-developer-release.

Links

Decisions and Design

All decisions are made and tracked via GitHub issues where they and their rationale can be verified publicly. Due to sBTC's critical nature extensive research and planning has been done to ensure all funds remain secure on launch.

Contributing

Before going any further please review our code of conduct

Tools to Install

This repository is under development and this section may become outdated. Please open a GitHub issue if you believe some tools are missing.

The following are the developer tools that you should install on your local machine in order to build and run the sources in this repository.

Tool Versions

This command should check the version of the dependencies required for the sBTC resources to be built and tested.

echo "\n--- sBTC tool versions ---" \
    && cargo --version \
    && cargo lambda --version \
    && echo "pnpm $(pnpm --version)" \
    && echo "smithy $(smithy --version)" \
    && make --version | head -n 1 \
    && java --version | head -n 1

Below is the output on a machine that is able to build and run all the sources and tests.

--- sBTC tool versions ---
cargo 1.77.2 (e52e36006 2024-03-26)
cargo-lambda 1.2.1 (12f9b61 2024-04-05Z)
pnpm 8.15.4
smithy 1.47.0
GNU Make 3.81
openjdk 21.0.2 2024-01-16

Building

To build the sources we recommend you use the Makefile commands; they'll build the dependencies in the right order.

  • make install - Installs node dependencies
  • make build - Builds packages
  • make lint - Lints packages
  • make clean - Cleans workspace
  • make test - Run non-integration tests
  • make integration-test - Run all tests

For other commands read the Makefile at repository root.

Operating Systems

This project currently supports development on UNIX-based operating systems but does not support development on Windows or z/OS.