@@ -4,12 +4,57 @@ Boka / 波卡 / bō kǎ: A JAM implementation built with Swift, brought to you b
44
55## Development Environment
66
7- - Install tools and deps
8- - macos: ` brew install swiftlint swiftformat rocksdb openssl `
9- - linux: ` apt-get install librocksdb-dev libzstd-dev libbz2-dev liblz4-dev libssl-dev `
10- - Precommit hooks: ` make githooks `
11- - Pull submodules: ` git submodule update --init --recursive `
12- - Setup deps: ` make deps `
7+ Install tools and dependencies:
8+
9+ ** macOS**
10+ ``` bash
11+ brew install swiftlint swiftformat rocksdb openssl
12+ ```
13+
14+ ** Linux**
15+ ``` bash
16+ apt-get install librocksdb-dev libzstd-dev libbz2-dev liblz4-dev libssl-dev
17+ ```
18+
19+ Setup the project:
20+
21+ ``` bash
22+ # Install precommit hooks
23+ make githooks
24+
25+ # Pull submodules
26+ git submodule update --init --recursive
27+
28+ # Setup dependencies
29+ make deps
30+ ```
31+
32+ ## Run
33+
34+ - Run the node: ` make run `
35+ - Run a devnet: ` make devnet `
36+
37+ ## CLI Usage
38+
39+ The Boka CLI supports the following arguments:
40+
41+ - ` --base-path <path> ` : Base path to database files.
42+ - ` --chain <chain> ` : A preset config or path to chain config file. Default: ` minimal ` .
43+ - ` --rpc <address> ` : Listen address for RPC server. Pass 'no' to disable. Default: ` 127.0.0.1:9955 ` .
44+ - ` --p2p <address> ` : Listen address for P2P protocol. Default: ` 127.0.0.1:0 ` .
45+ - ` --peers <address> ` : Specify peer P2P addresses.
46+ - ` --validator ` : Run as a validator.
47+ - ` --operator-rpc <address> ` : Listen address for operator RPC server. Pass 'false' to disable.
48+ - ` --dev-seed <seed> ` : For development only. Seed for validator keys.
49+ - ` --name <name> ` : Node name. For telemetry only.
50+ - ` --local ` : Enable local mode, whereas peers are not expected.
51+ - ` --dev ` : Enable dev mode. This is equivalent to ` --local --validator ` .
52+
53+ ## Testing
54+
55+ - Run Swift tests: ` make test `
56+ - Run Rust tests: ` make test-cargo `
57+ - Run tests with coverage: ` make test-coverage `
1358
1459## Packages
1560
@@ -25,5 +70,9 @@ Boka / 波卡 / bō kǎ: A JAM implementation built with Swift, brought to you b
2570 - Provide the database interface for the blockchain node. Used by ` Node ` .
2671- Networking
2772 - Provide the networking interface for the blockchain node. Used by ` Node ` .
73+ - PolkaVM
74+ - The PVM implementation.
75+ - Codec
76+ - The JAM codec implementation.
2877- Utils
2978 - Provide the common utilities for the blockchain node.
0 commit comments