European Commission ebsi European Blockchain

EBSI Open Source

This page contains a guide of the contents of the EBSI open source repository, for more information about the EBSI initiative, visit our main website.

Open source repository(opens in a new tab)

Introduction

The goal of releasing the different software assets is to enable public institutions, businesses, and developers to contribute and discover the potential and possibilities that the EBSI networks offers, while fostering innovation, transparency and adoption.


All software, assets, libraries and any other part of this software stack, are released under the terms of the European Public Licence (hereinafter EUPL); if you want to learn more about the EUPL, you can find more information on their website.


Before going into further detail, it is crucial to make an important clarification at this point: what is released is a software stack that will allow anyone to understand and experiment with the EBSI solution and its trust framework. Interacting with this software stack in any capacity does not mean or entitle any and all users to consider themselves part of the EBSI initiative governed by EUROPEUM-EDIC.

What can you do with EBSI open source?

The users will be able to deploy locally a self-hosted interoperable networks, extend such networks with you own smart contracts and APIs beyond the ones that are already included in the repository; learning, developing and leveraging the capabilities of EBSI-like networks based on this software stack. the primary goal being to evaluate EBSI as candidate to run your use case.

What is being released?

As part of EBSI open source, 11 repositories are being released and within them you will find the tools to deploy the following capabilities and functionalities :

Ethereum network based on 4+ nodes

All EBSI Smart Contracts

Reverse Proxy

All EBSI APIs for interaction with the Smart Contracts

Network monitoring stack

We can divide the repositories in the following categories, according to their respective functions:

Infrastructure

Software

  • /core-services: Implementation of the core services of the EBSI platform, including APIs and the code of the smart contracts.
  • /core-libs: Shared libraries and common components used by different EBSI services.
  • /conformance: Tool to verify the conformance of what is implemented according to the different required standards and capabilities.
  • /root-tao-api: API and webapp to manage the Trust Anchor Operations of the network.
  • /cli: Command Line Interface, the tool to interact with the EBSI services and APIs.
  • ./hub: Documentation portal for the APIs and centralised EBSI API catalogue.

Quality Assurance

  • ./performance-testing: Framework and scripts for performance and load testing of the respective services.
  • ./core-services-testing: Specific Tools and tests for the validation of the core services.
  • ./wallet-conformance-testing: Framework of self-serving, automatised tests to validate that the wallets implementation are aligned with the standards and protocols used within the EBSI ecosystem.

What do you need to do before starting?

Before you start, besides some basic understanding of blockchain technology, understanding of API concepts, and how they interact with the services, here is a list of elements that you will need to have:

  • Docker and Docker Compose (required for deploying nodes using the ebsi-node-docker-compose repository).
  • Git (for cloning the repositories).
  • Node.js and npm (needed for CLI and API interactions).

How can I use it?

The limitations for the use of this software stack, are the ones stated on the EUPL (you can find more information and FAQ), but could be summarised as follows:

Main features

  • It allows you to modify, distribute, and integrate EBSI code into your projects.
  • Can be combined with GPL-compatible open-source licenses.
  • Can be used for research, development, and commercial purposes.

Limitations

  • Cannot be re-licensed under a proprietary model.
  • Any modifications must remain open-source under EUPL Terms. However, contrary to many copyleft licences – and similar to permissive licences – the EUPL is compatible and interoperable.
  • Even though the licence granted is for free, a private company would still be able to charge for the software distribution, or to require payment for related trainings or assistance.

  • No labels