This repository contains a number of sub-modules and folders. For more detailed information, refer to the paper.
Framework currently consists of 3 modules:
- dlsf-core: DLSF Core module.
- dlsf-bitcoin: DLSF Bitcoin module.
- dlsf-boot: DLSF Boot module.
Following modules prefixed with x-
are part of example simulations:
- x-bitcoin-explorer: Bitcoin explorer simulation’s module.
- x-bitcoin-tx-protocols: Bitcoin transaction protocol simulations’ module. It includes both Flood and Erlay simulations.
- x-bitcoin-server: This module is used to bootstrap the whole application. It includes all the example simulations and utilizes DLSF boot module.
- x-bitcoin-client: This module folder contains the web client’s code.
-
Research paper for DLSF can be found under
extras/paper
: Design and Implementation of an Extensible Large-Scale Blockchain Simulation Framework -
Intellij code convention configuration file can be found under
extras/convention
.
- Java 11
- Maven 3
- NPM 6
To build the whole project, run the following at the project root:
mvn clean install
Like any other maven multi-module project, the simulation system can be packaged and run in various ways. To start the server on local machine, navigate to x-bitcoin-server folder and run the following command.
mvn compile exec:java
Web client is an Angular application that can be built and run using npm scripts found in package.json file. To install dependencies and to serve client in development mode, navigate to the x-bitcoin-client folder and run the following commands.
Install dependencies from npm:
npm install
Serve client in development mode. Site should be accessible at localhost:4200.
npm run start