Можем ли мы подключить шлюз только один раз в Hypeledger Fabri c с помощью узла SDK - PullRequest
0 голосов
/ 14 февраля 2020

Мне нужно помочь с моим запросом, который связан с соединением шлюза fabri c Hyperledger с клиентом через узел SDK. Я написал несколько API-интерфейсов, которые подключены к сети fabri c с использованием приведенного ниже кода.

const ccpPath = path.resolve(__dirname, '..', 'config', 'connection.json');

const gateway = new Gateway();

await gateway.connect(ccpPath, {
    wallet,
    identity: Username,
    discovery: {
        enabled: true,
        asLocalhost: false
    }

});

Теперь я должен использовать приведенный выше код для подключения каждого контроллера каждый раз, который вызывает API, однако я хочу использовать его один раз, так что После подключения к сети мне не нужно подключаться снова и снова. Есть ли способ реализовать это? если возможно, предложите мне, чтобы я мог реализовать его в своем API. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 14 февраля 2020

Шлюзы предназначены для повторного использования, фактически вам следует избегать постоянного создания и отключения шлюзов, поскольку это может привести к проблемам в сети.

Единственное, что нужно понять со шлюзами, это то, что они имеют отношение 1-1 к удостоверениям, а также к сети fabri c (но не к каналам, шлюз может подключаться к более чем 1 каналу). Таким образом, правильное использование шлюзов состоит в том, чтобы иметь шлюз для каждого отдельного идентификатора для вашей сети и повторно использовать этот шлюз.

Если вы планируете подключать множество разных идентификаторов, то вы можете рассмотреть возможность использования устаревшая политика для шлюзов, так как они будут поддерживать сетевые соединения, например, если какое-то удостоверение не взаимодействует с сетью некоторое время, вы можете отключить этот шлюз и создать новый для этого удостоверения, когда они попытаются взаимодействовать позже.

1 голос
/ 14 февраля 2020

Да, конечно.

inglobe в функции подключения и объявить шлюз как внешний для функции.

let gateway;
function connect() {
  const ccpPath = path.resolve(__dirname, '..', 'config', 'connection.json');

  gateway = new Gateway();

  await gateway.connect(ccpPath, {
    wallet,
    identity: Username,
    discovery: {
        enabled: true,
        asLocalhost: false
    }

  });
}

Далее из приложения. js или начальная точка вашего приложения, вызовите функцию, и вы подключены. Вам не нужно каждый раз подключаться, вы можете подключиться один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...