У меня есть два цепных кода - назовем их 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 связи. Есть ли способ обойти это, чтобы обеспечить связь при сохранении конфиденциальности? Или лучше всего поставить абсолютно все в единый гигантский цепочный код?
Кроме того, почему конфиденциальность мешает обмену цепочками кодовых цепочек? Я не понимаю, почему это происходит.