我正在尝试获取负责新状态的操作。简而言之,我想获得传递给invoke方法的函数名。当我查看历史状态时,我可以获取其值,时间戳,交易ID等,但不能获取负责该交易的参数。
我知道我们可以从块历史中获取参数,但是对于状态,我需要它。
从链码方面有什么方法可以实现?
答案 0 :(得分:0)
是的,您可以从链码中创建一个Invoke端点并执行以下操作:
func (s *SmartContract) Invoke(APIstub shim.ChaincodeStubInterface) sc.Response {
function, args := APIstub.GetFunctionAndParameters()
}
您在这里拥有了想要的一切。 例如,如果您打印 function ,您将看到您调用的函数的名称。
答案 1 :(得分:0)
我也想知道您的方法。但这是我的看法,我们可以在sdk中注册一个事件监听器(使用 registerChaincodeEvent 方法)并创建一个事件(使用 setEvent 方法),其中有效负载将是 getFunctionAndParameters 方法的结果。而且,您可能可以继续将这些结果存储到数据存储中,以便以后将其全部获取。
或者:您可以简单地通过shim.success将 getFunctionAndParameters 的结果作为键发送回响应对象。