我想設計一個超鏈接chaincode,它是通過一個web API訪問的,它將json對象傳遞給代碼。然而,每當我做一個invoke方法,我實際上不能在json響應中將值返回給用戶。如何返回調用JSON響應中的值
例如,下面是一些示例代碼:
func (t *TLCChaincode) Invoke(stub *shim.ChaincodeStub, function string, args []string) ([]byte, error) {
//Do some stuff
return []byte("Some string"), nil
}
並返回一個錯誤
func (t *TLCChaincode) Invoke(stub *shim.ChaincodeStub, function string, args []string) ([]byte, error) {
//Try to do some stuff
//Get some sort of error
return nil, errors.New("someError")
}
然而這兩種一些示例代碼返回類似這樣的消息,該消息總是被一些像下面的隨機字符串(我懷疑是某種類型的散列):
{
"jsonrpc": "2.0",
"result": {
"status": "OK",
"message": "1e1123e3-b484-4120-a28e-c3a8db384557"
},
"id": 11
}
As您可以看到,此響應既不包含我返回的響應(如第一種情況),也不包含我返回的錯誤(在第二種情況下)。我將如何去獲取返回的字節,或返回的錯誤到返回的json?
編輯:請注意,如果我從另一個chaincode調用invoke方法,它會收到正確的返回值。只有當它返回給用戶時,它才能正常工作。
那麼,至少現在我真的明白爲什麼它不按我期望的方式工作。你知道我將如何去檢查調用調用的狀態與查詢調用嗎?這並不理想,但我可以讓它工作。 –