CoBlockly is a block-based visual modeling solution designed for defining compliance rules in terms of blockchain characterizations. The main advantage of this tool is that it abstracts the underlying CoBlock DSL into an intuitive “drag-and-drop” interface, allowing auditors to focus on compliance logic without requiring deep programming expertise.
This enables a comprehensive framework where visually modeled rules are automatically compiled and checked against smart contract execution data. CoBlockly has been integrated into an end-to-end pipeline and validated through user-centric assessments and performance evaluations to ensure its effectiveness in real-world DApp auditing.
Getting Started
Installation with Docker
Prerequisites
– Docker installed on your system.
Commands
1. Build the Docker image:
docker build -t coblockly .2. Run the Docker container:
docker run -p 8000:8000 coblockly3. Open the local application instance at:
http://0.0.0.0:8000/Manual installation
Prerequisites
– Node.js
– Python
Commands
Frontend stage:
1. Install all Node.js required packages:
./frontend npm i2. Start the frontend:
./frontend npm run devBackend stage:
1. Install all Python requirements:
./backend pip install -r requirements.txt2. Run the Pyhton backend via Uvicorn:
./backend uvicorn app:app --reload3. Open the local application instance at:
http://localhost:5173/Usage
1. First, the user must upload an Blockchain Log. Once loaded, information about the chosen log are displayed in the dedicated panel.

2. The second step is the selection of the mapping between the blockchain log columns and blockchain elements.

3. At this point, the user can start modeling the blockchain rule using the CoBlockly visual environment to drag-and-drop blocks representing rule elements into the canvas.

4. Once visually modeled, the rule is translated into the corresponding textual rule built on the underlying domain-specific language, CoBlock.

5. Finally, the rule is ready to be checked against the loaded blockchain log, and the results are summarized and previewed in the dedicated panel.

Evaluation
Following are the instructions to replicate the CryptoKitties analysis:
- Load the CryptoKitties blockchain log from https://bitbucket.org/proslabteam/coblock/src/coblockly/data/CK.xes
- Select the following mapping for the blockchain log:
– Function: functionName
– Events: events
– Internal Txs: internalTxs
(n.b. this is the minimal set in order to replicate the experiment) - Model the visual compliance rule as defined in Figure 3
- Translate the rule into the textual form, and parse it to check for correctness
- Run the rule-engine to check the modeled rule against the loaded blockchain log