@@ -18,18 +18,21 @@ For the user interface to work, you need to have the following installed on your
18
18
- Node.js
19
19
- pnpm
20
20
21
- Installing everything on macOS:
21
+ Installing everything on macOS using HomeBrew can be done with the following commands :
22
22
23
23
```
24
24
brew install openjdk@17 node pnpm
25
25
```
26
26
27
+ For other operating systems, please refer to the respective installation instructions.
28
+
27
29
## Building
28
30
29
- To build the benchmarking suite, run the following command :
31
+ To install dependencies and build the benchmarking suite, run the following commands :
30
32
31
33
```
32
34
./gradlew build
35
+ (cd webui && pnpm install)
33
36
```
34
37
35
38
## Running
@@ -45,11 +48,27 @@ To run the benchmarking suite, run the following command:
45
48
To run the web interface, run the following command:
46
49
47
50
```
48
- (cd webui && pnpm install && pnpm run kubb:generate && pnpm run dev)
51
+ (cd webui && pnpm run kubb:generate && pnpm run dev)
49
52
```
50
53
54
+ > [ !NOTE]
55
+ > The simulator must be running for ` kubb:generate ` to succeed.
56
+
51
57
The UI should then be available at http://localhost:3000 .
52
58
59
+ ## Running Benchmarks
60
+
61
+ We currently have the following protocols implemented:
62
+
63
+ - [ PBFT] ( simulator/src/main/java/byzzbench/simulator/protocols/pbft/PbftReplica.java ) : The original PBFT protocol, as
64
+ described in
65
+ the [ PBFT paper] ( https://www.microsoft.com/en-us/research/publication/practical-byzantine-fault-tolerance/ ) ;
66
+ - [ PBFT-Java] ( simulator/src/main/java/byzzbench/simulator/protocols/pbft_java/PbftReplica.java ) : A buggy version of
67
+ PBFT,
68
+ from the [ PBFT-Java repository] ( https://github.com/caojohnny/pbft-java ) ;
69
+ - [ Fast-HotStuff] ( simulator/src/main/java/byzzbench/simulator/protocols/fasthotstuff/FastHotStuffReplica.java ) : A
70
+ failed attempt at improving HotStuff, as described in the [ Fast-HotStuff paper] ( https://arxiv.org/abs/2010.11454 ) ;
71
+
53
72
## Documentation
54
73
55
74
- [ Implementing new BFT Protocols] ( docs/implementing-protocols.md )
0 commit comments