У меня есть цепной код с двумя контрактами, так что второй контракт вызывает транзакцию первого, как показано ниже:
class ContractA implements ContractInterface{
.....
@Transaction
public boolean trans1(MyContext ctx, String data) {
...
return result;
}
}
class ContractB implements ContractInterface{
.....
@Transaction
public boolean trans2(MyContext ctx, String data) {
...
Chaincode.Response response = ctx.getStub().invokeChaincode(chaincodeId,
new String[]{ContractA:trans1, "data"});
...
}
}
Во время выполнения trans2 invokeChaincode не выполняется с ошибка: «Ошибка INVOKE_CHAINCODE: существует идентификатор транзакции». Согласно документации , при вызове invokeChaincode не будет создана никакая другая транзакция, поэтому правильно, что вызов создается с тем же идентификатором транзакции.
Это ошибка или я что-то не так в моем дизайне?
Заранее большое спасибо, Роксана