Как назначить идентификатор экземпляру Fabric-Client? - PullRequest
0 голосов
/ 05 февраля 2019

Я не могу установить код цепи узла с помощью fabric-node-sdk.
Я получаю следующую ошибку:

installChaincode error Нет идентификатора, назначенного этому клиенту

Я использую следующий скрипт

const Client = require("fabric-client");
const path = require("path");
const os = require("os");
const client = new Client();
const deploy = async () => {
  const connectionOpts = {
    name: "peer1",
    "request-timeout": 7000,
    pem: path.resolve(
      os.homedir,
      "/fabric-samples/chaincode-docker-devmode/msp/signcerts/peer.pem"
    ),
    "ssl-target-name-override": "peer"
  };
  const peer = client.newPeer("grpc://172.18.0.3:7052", connectionOpts);
  const request = {
    targets: peer,
    chaincodePath: path.resolve(
      os.homedir + "/fabric-samples/chaincode/chaincode_example02/node"
    ),
    chaincodeId: "myc",
    chaincodeVersion: "v0",
    chaincodeType: "node"
  };

  const result = await client.installChaincode(request, 6000);
  console.log(await result);
};

deploy();

Как назначить идентификационные данные клиенту?
В документации не показано, какие аргументы потребовались и как назначить идентификационные данные.

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Я также столкнулся с той же проблемой, и она решается после добавления строки ниже, то есть инициализации канала.

await channel.initialize ({Discover: true});

source: https://fabric -sdk-node.github.io / master / tutorial-discovery.html

0 голосов
/ 05 февраля 2019

Одноранговый узел хочет знать, кто совершает транзакцию.Попробуйте использовать этот метод перед транзакцией установки chincode:

client.setAdminSigningIdentity(private_key, certificate, mspid)

Где:
private_key : строка PEM с закрытым ключом
сертификат : PEMстрока сертификата
mspid : идентификатор поставщика услуг участника для локального идентификатора подписи (т. е. 'Org1MSP')

В запросе на установку цепного кода необходим txId:

client.setAdminSigningIdentity(private_key, certificate, mspid)
const request = {
  targets: peer,
  chaincodePath: path.resolve(
    os.homedir + "/fabric-samples/chaincode/chaincode_example02/node"
  ),
  chaincodeId: "myc",
  chaincodeVersion: "v0",
  chaincodeType: "node",
  txId: client.newTransactionID(true)
};

const result = await client.installChaincode(request, 6000);
console.log(await result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...