Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alpenlabs/strata-bridge
PoC Implementation of the Strata Bridge
https://github.com/alpenlabs/strata-bridge
bitcoin bitvm2 bridge strata zk-snarks
Last synced: 10 days ago
JSON representation
PoC Implementation of the Strata Bridge
- Host: GitHub
- URL: https://github.com/alpenlabs/strata-bridge
- Owner: alpenlabs
- License: apache-2.0
- Created: 2024-10-27T07:29:52.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-12-31T12:07:20.000Z (13 days ago)
- Last Synced: 2024-12-31T13:18:41.891Z (13 days ago)
- Topics: bitcoin, bitvm2, bridge, strata, zk-snarks
- Language: Rust
- Homepage:
- Size: 4.26 MB
- Stars: 7
- Watchers: 4
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Strata Bridge Proof of Concept
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![License: Apache-2.0](https://img.shields.io/badge/License-Apache-blue.svg)](https://opensource.org/licenses/apache-2-0)
[![ci](https://github.com/alpenlabs/strata-bridge-poc/actions/workflows/lint.yml/badge.svg?event=push)](https://github.com/alpenlabs/strata-bridge-poc/actions)A research implementation of Strata Bridge by your friends at [Alpen Labs](https://www.alpenlabs.io/).
> [!IMPORTANT]
> The majority of this code was written in a two-week period in a hackathon spirit.
> This software was written as a research proof of concept, and is _not_ meant to be used in a production environment!## Transaction Graph
The following is the transaction graph that has been implemented in this repository:
The transaction graph for this repository, focussing on the non-optimistic path.## System Diagram
The following is the system diagram for this repository:
The system diagram for this repository.## How To Run Locally
### Prerequisites
- [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html).
- [SP1 Toolchain](https://docs.succinct.xyz/docs/getting-started/install) and associated [linkers](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/tag/v14.2.0-2).
- Credentials to connect to SP1's [infra](https://explorer.succinct.xyz).
- [Docker](https://docs.docker.com/get-docker/).
- [`sqlx-cli`](https://lib.rs/crates/sqlx-cli) to run database migrations.### Running
Run the Strata stack (`strata-client`, `strata-reth`, `bitcoind`) as per the instructions
in the [`strata`](https://github.com/alpenlabs/strata/tree/bitvm2) repository. Then run:```bash
make migrate
PROFILE=release make run
```In order to perform deposits and withdrawals, you can run:
```bash
make bridge-in
make bridge-out
```The above `Makefile` recipes have defaults for `strata-client` and `bitcoind`.
## Contributing
Contributions are generally welcome.
If you intend to make larger changes, please discuss them in an issue
before opening a PR to avoid duplicate work and architectural mismatches.For more information please see [`CONTRIBUTING.md`](/CONTRIBUTING.md).
## License
This work is dual-licensed under MIT and Apache 2.0.
You can choose between one of them if you use this work.