Skip to content
Snippets Groups Projects

Distributed Evidence Network

Scenario

DEN_overview

  • A ModelChecking organization represents all ETB nodes that can execute model checking tools.

  • A StaticAnalysis organization represents all ETB nodes that can execute static analysis tools.

  • A Coordinator organization can register service providers on the network.

  • A User organization represents an ETB node which wants to execute a service.

  1. The coordinator registers the available services from each service organization.

  2. A user wants to execute an infer tool.

  3. The network emits an event, searching for available ETB nodes that can execute the requested service.

  4. An ETB node responds to the event and executes the service.

  5. Upon successful execution of the service, the ETB node updates the network with the result.

Prerequisites

Download Binaries and Docker Images

The installation instructions will utilize scripts/bootstrap.sh (available in the root folder)

script to download all of the requisite Hyperledger Fabric binaries and docker

images, and tag the images with the 'latest' tag. Optionally,

specify a version for fabric, fabric-ca and thirdparty images. If versions

are not passed, the latest available versions will be downloaded.

The script will also clone fabric-samples repository using the version tag that

is aligned with the Fabric version.

You can also download the script and execute locally:


  

# Fetch bootstrap.sh from fabric repository using

  

curl -sS https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./scripts/bootstrap.sh

  

# Change file mode to executable


chmod +x ./scripts/bootstrap.sh

  

# Download binaries and docker images

  
./scripts/bootstrap.sh [version] [ca version] [thirdparty_version]

Getting started

First, navigate to the evidentia-app folder.

To bring the network up, run:

./den.sh -u

If you want to monitor the logs from all the running containers, run the following script:

./monitorDocker.sh net_byfn

To start Hyperledger Explorer alongside the network, run:

./den.sh -u -e

Then, launch the URL http(s)://localhost:8090 on a browser and login as user: admin_mc with password: adminpw.

Configurations for the explorer can be found at the evidentia-app/den.sh file.

To bring the network down and remove all the containers, run:

./den.sh -d

or:

./stopFabric.sh

Add new org

To add a new organization into the network, navigate to the evidentia-app folder and run:

./extendFabric.sh

1. Enroll admin and register users

Navigate to evidentia-app/javascript folder in order to enroll the admin and register users.

The scrips for the enrollment and registration can be found under the folders enroll and register.

  • To enroll all admins (4 organizations), run:

./enrollAllAdmins.sh
  • To register all users (4 organizations), run:

./registerAllUsers.sh

After executing successfully the above scripts, the wallet directory should have the following structure:


├── admin_coord/

├── admin_mc/

├── admin_clientUser/

├── admin_sa/

├── coord/

├── mc/

├── sa/

└── user/

Built With

Authors

  • Anastasios Kalogeropoulos (fortiss GmbH)

License

This project is licensed under the the Apache License, Version 2.0 (Apache-2.0) - see the LICENSE file for more details.