Boka / 波卡 / bō kǎ: A JAM implementation built with Swift, brought to you by Laminar Labs.
- Install tools and deps
- macos:
brew install swiftlint swiftformat rocksdb openssl
- linux:
apt-get install librocksdb-dev libzstd-dev libbz2-dev liblz4-dev libssl-dev
- macos:
- Precommit hooks:
make githooks
- Pull submodules:
git submodule update --init --recursive
- Setup deps:
make deps
- Boka
- The CLI entrypoint. Handles CLI arg parsing and launch
Node
with corresponding config.
- The CLI entrypoint. Handles CLI arg parsing and launch
- Node
- The API for the blockchain node. Provide API to create various components and assemble the blockchain node.
- Blockchain
- Implements the data structure, state transform function and consensus. Used by
Node
.
- Implements the data structure, state transform function and consensus. Used by
- RPC
- Provide the RPC interface for the blockchain node. Uses
Blockchain
and used byBoka
.
- Provide the RPC interface for the blockchain node. Uses
- Database
- Provide the database interface for the blockchain node. Used by
Node
.
- Provide the database interface for the blockchain node. Used by
- Networking
- Provide the networking interface for the blockchain node. Used by
Node
.
- Provide the networking interface for the blockchain node. Used by
- Utils
- Provide the common utilities for the blockchain node.