项目作者: FIWARE

项目描述 :
CanisMajor is a blockchain adaptor that supports various DLT, the adaptor aims to submit the data to DLT using FIWARE Technologies.
高级语言: JavaScript
项目地址: git://github.com/FIWARE/CanisMajor.git
创建时间: 2020-05-27T09:06:01Z
项目社区:https://github.com/FIWARE/CanisMajor

开源协议:Apache License 2.0

下载


CanisMajor - FIWARE DLT Adaptor

FIWARE Blockchain
CII Best Practices
License
Docker badge


CI

CanisMajor is a blockchain adaptor that supports persistence and verification of NGSI-LD Entity-Transactions (e.g., create/delete/update- operations) in blockchains.

This project is a part of FIWARE. For more information check the FIWARE Catalogue entry for the
Core Context Management.

:books: Documentation :mortar_board: Academy quay.io :dart: Roadmap

Overview

Current Architecture

In order to persist transactions inside the blockchain, a client has to send information about its transactions (e.g., create/update/delete entity) to CanisMajor.
The request should include information about the Wallet (e.g., Keystore) to be used for signing the transaction. Please check the API (tag NGSI-LD) on how to
send the transactions and provide the Wallet-Information. CanisMajor will create a Merkle-Tree from the submitted data
and include it as data into the transaction for the Blockchain. In order to properly sign the transaction, CanisMajor uses the provided Wallet-Information and delegates the
signing to the client’s Wallet. The signed transaction is then put into the Oketh-compatible blockchain.

Testing

Run unit-tests via: mvn clean test

A set of integration tests (using cucumber) is available under it/.
To run them use:

  1. cd it
  2. docker compose -f docker-compose/docker-compose-env.yaml -f docker-compose/docker-compose-java.yaml up
  3. NGSI_ADDRESS=localhost:4000 mvn clean test

The integration tests use the following values by default:

Variable Value
VAULT_IMAGE quay.io/fiware/vault-ethereum:1.0.1
ORION_IMAGE quay.io/fiware/orion-ld:1.7.1
ORION_LD_PORT 1026
EXPOSED_PORT 1026
MONGO_DB_VERSION mongo:6.0
MONGO_DB_PORT 27017

Additionally NGSI_ADDRESS=localhost:4000 should be set if running locally.

ADRs

License

CanisMajor is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

© 2021-2025 FIWARE Foundation e.V.