这个返回值有一个用例。即,如果您从另一个链代码中调用一个链代码。在这种情况下,返回值将被传递给第一个链码,允许它根据响应进行处理。
例如,考虑一个用户通过以下方法调用链代码 A,该方法又调用 B。
func (t *ChaincodeA) Invoke(stub *shim.ChaincodeStub, function string, args []string) ([]byte, error) {
//DO stuff
valFromB, err := stub.InvokeChaincode("ChaincodeBDeployName", "someFunc", args)
fmt.Println(string(valFromB))
return nil,nil
}
这是链代码 B 供参考
func (t *ChaincodeB) Invoke(stub *shim.ChaincodeStub, function string, args []string) ([]byte, error) {
return []byte("This is a value from B"),nil
}
这应该在执行时将以下内容打印到控制台,表明已收到该值:
这是来自 B 的值