Присоединиться к новой организации в канале.Hyperledger Fabric Node-sdk - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь присоединиться к новой организации в канале существующей сети.
Я понял процесс присоединения организации к каналу из документации фабрики , но они использовали docker.

Я хочу сделать то же самое, используя node-sdk.

Чтобы получить последний блок конфигурации канала, я использую эти методы:

<async> getChannelConfig(target, timeout)  
<async> getChannelConfigFromOrderer()  

https://fabric -sdk-node.github.io / release-1.4 / Channel.html # getChannelConfig__anchor
Оба возвращают одинаковый результат.И его тип common.ConfigEnvelope .
Это не common.Block .

Он возвращает объект в соответствии с документацией, и я сохраняю его какфайл json.
Когда я прошел его, в нем нет полей ниже, необходимых для этой цели.
{"channel_group":{"groups":{"Application":{"groups": {
Я прикрепляю последний блок file который я получил.

Пожалуйста, скажите, где я делаю ошибку, и если есть какая-либо ссылка для этого, пожалуйста, укажите.

1 Ответ

0 голосов
/ 17 мая 2019

На самом деле, последние блоки конфигурации являются объектами protobuf.

Итак, когда я пытаюсь сохранить его как json, он не был правильно отформатирован для json.

Для этого сначала преобразуйте его в буфер и сохраните.

// return latest config block as protobuf object

const latestConfig = await getChannelConfigFromOrderer();

const latestConfigBuffer = latestConfig.toBuffer();

// save it in .pb format  
fs.writeFileSync("latest-config.pb", latestConfigBuffer);

Затем с помощью configtxlator преобразовать его в json и внести соответствующие изменения.

...