2016-07-18 3 views
0

У меня есть два цепных кода - назовем их A и B - и я пытаюсь заставить A вызывать метод на B в настройке с включенной конфиденциальностью. Пример такого вызова, который я пытаюсь сделать, показан ниже.Передача запросов между цепными кодами с включенной конфиденциальностью

func (e *ChaincodeA) someFuncOnChaincodeA(stub *shim.ChaincodeStub, args []string) ([]byte, error) { 

    //Do stuff 

    newArgs := []string{"somevalue1","somevalue2"} 

    msg, err := stub.InvokeChaincode(chaincodeBName,"someFuncOnChaincodeB",args) 

    if err != nil{ 
     fmt.Println(err.Error()) 
    } 

    return msg, err 
} 

Однако всякий раз, когда я пытаюсь запустить это, он дает мне следующие сообщения об ошибках, прежде чем убить моего chaincode:

[72047168] Ошибка chaincode-chaincode взаимодействия не поддерживается с секретностью поддержкой.

Отправка ERROR Ошибка запуска Простой chaincode: Ошибка обработки сообщения: [72047168-5f5a-4017-862a-1329660e2076] обработчик Chaincode FSM может не ручка сообщение (ВЫПОЛНЕНО) с размером полезной нагрузки (0), тогда как в состоянии: готовый

Процесс закончил с кодом выхода 0

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

Кроме того, почему конфиденциальность мешает обмену цепочками кодовых цепочек? Я не понимаю, почему это происходит.

ответ

0

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

Relevent Issue