Многоканальный против Многокомпонентного компоновщика BNAs - PullRequest
0 голосов
/ 04 сентября 2018

Согласно официальной документации композитора Hyperledger, композитор может работать только на одном канале:

https://hyperledger.github.io/composer/latest/reference/connectionprofile

В проекте, который я намереваюсь реализовать, у меня есть несколько каналов, работающих одновременно. Поэтому мне нужно было бы создать определение BNA для каждого канала и запускать его каждый раз, когда я хочу создать канал?

Чтобы сэкономить время и трудности при разработке всей системы на уровне фабрики, могу ли я приравнять наличие нескольких каналов к простому запуску нескольких композиторов BNA?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

У меня тоже такое же заблуждение. Но после прочтения вопроса я понял, почему композитор connection profile не поддерживает многоканальный.
https://github.com/hyperledger/composer/issues/2103
Поскольку разные каналы имеют свою специализацию, ужасно определять все из них в одном connection profile Если вы используете composer-rest-api, он всегда будет использовать первый элемент в channels

0 голосов
/ 04 сентября 2018

В файле профиля подключения вы можете иметь несколько каналов, вот пример моей версии для одного из моих проектов:

"channels": {
        "chan1": {
            "x-status": "membership_valid",
            "orderers": [
                "orderer"
            ],
            "peers": {
                "org1-peer0c64": {
                    "x-chaincode": {}
                }
            },
            "chaincodes": [],
            "x-members": [
                "org1",
                "org4"
            ]
        },
        "chan2": {
            "x-status": "membership_valid",
            "orderers": [
                "orderer"
            ],
            "peers": {
                "org1-peer0c64": {
                    "x-chaincode": {}
                }
            },
            "chaincodes": [],
            "x-members": [
                "org1"
            ]
        }
    },

Идея состоит в том, что вы можете подключить одноранговый узел по нескольким каналам. у вас может быть установлен цепной код (bna) на одноранговом узле, а затем этот цепной код необходимо создать на канале. Ничто не мешает вам создавать один и тот же цепной код на любом количестве каналов.

Просто помните, что у каждого канала есть свой собственный регистр, они будут отдельными, но да, есть случаи, когда такой дизайн требуется.

хороший ресурс для более сложного сценария: https://hyperledger.github.io/composer/latest/tutorials/deploy-to-fabric-multi-org

...