Please visit the javadoc documentation for more information.
This framework provides advanced logging capabilities for Ethereum applications on top of Web3J / Ethereum's JSON RPC. It consists of four components:
Example bcql documents include
Code demonstrating the use of the component scan be found here
Details of the framework are described in more detail in the following publication:
C. Klinkmüller, A. Ponomarev, A.B. Tran, I. Weber, W. van der Aalst (2019): "Mining Blockchain Processes: Extracting Process Mining Data from Blockchain Applications". In: 17th International Conference on Business Process Management (Blockchain Forum).
C. Klinkmüller, I. Weber, A. Ponomarev, A.B. Tran, W. van der Aalst (2020): Efficient Logging for Blockchain Applications. arXiv:2001.10281.
Ensure Java 11 or higher is installed locally and the env var JAVA_HOME
is properly set. AdoptOpenJDK provides binaries and installation guides for various operating systems.
Install Apache Maven. Distribution archive and installation guidelines are available at maven.apache.org.
To check whether Java and Maven have been set up correctly, run
mvn --version
To build the project, run
cd Blockchain-Logging-Framework
mvn clean verify
blf-cmd.jar
, add the option
"-Dblf.skip.assemble=true"
"-DskipTests"
Now you're ready to develop!
To run unit tests, run
mvn test
git config --local core.hooksPath .githooks/
chmod u+x .githooks/pre-commit
This software is released under the MIT Licence Agreement. Details can be found LICENSE.md. Moreover the third party components distributed with the software and their licenses are listed in NOTICE.md.