Skip to content

optimism-java/btczee

 
 

Repository files navigation

btczee-logo

Bitcoin protocol implementation in Zig.

GitHub Workflow Status Zig Bitcoin Bitcoin Lightning

About

btczee is a Bitcoin protocol implementation in Zig. It aims to provide a clean and simple implementation of the Bitcoin protocol. The goal is to have a fully functional Bitcoin node that can be used to interact with the Bitcoin network.

Architecture

You can find the architecture of the project and description of components in the docs/architecture.md file.

graph TD
    Node[Node] --> Network
    Node --> Mempool
    Node --> Wallet
    Node --> Storage
    Node --> Miner

    Network --> Mempool
    Network --> Storage

    Mempool --> Wallet
    Mempool --> Storage

    Wallet --> Storage

    Miner --> Mempool
    Miner --> Storage

    subgraph "Core Components"
        Node
        Network
        Mempool
        Wallet
        Storage
        Miner
    end

    subgraph "Supporting Components"
        Types
        Primitives
        Config
    end

    Node -.-> Types
    Node -.-> Primitives
    Node -.-> Config

    classDef core fill:#f9f,stroke:#333,stroke-width:2px;
    classDef support fill:#bbf,stroke:#333,stroke-width:1px;
    class Node,Network,Mempool,Wallet,Storage,Miner core;
    class Types,Primitives,Config support;
Loading

Run

Usage: btczee [command] [args]

Commands:
  node     <subcommand>
  wallet   <subcommand>

Node

Usage: btczee node <subcommand>

Subcommands:
  help   Display help for node

Example:

zig build run -- node

# OR (after a build)
./zig-out/bin/btczee node

Wallet

Usage: btczee wallet <subcommand>

Subcommands:
  create    Create a new wallet
  load      Load an existing wallet
  help      Display help for wallet

Example:

zig build run -- wallet create

# OR (after a build)
./zig-out/bin/btczee wallet create

Test

zig build test --summary all

Build

zig build -Doptimize=ReleaseFast

Benchmark

zig build bench

Documentation

You can generate the documentation by running the following command:

zig build docs

Roadmap

You can find the roadmap of the project in the docs/roadmap.md file.

License

btczee is licensed under the MIT license. See the LICENSE file for more details.

References

Contributors ✨

Thanks goes to these wonderful people (emoji key):

A₿del ∞/21M 🐺 - 🐱
A₿del ∞/21M 🐺 - 🐱

💻 🤔 🧑‍🏫 📆 🔬 👀
lanaivina
lanaivina

💻
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

Releases

No releases published

Packages

No packages published

Languages

  • Zig 100.0%