TypeError: stub.GetQueryResultWithPagination is not a function

TypeError: stub.GetQueryResultWithPagination is not a function

我已经从 fabric-samples marbles02 实例化了一个示例 NodeJS 链代码,所有调用和查询函数都工作正常但是当我试图查询这个函数时 queryMarblesWithPagination 它给了我这个错误:

Error: endorsement failure during query. response: status:500 message:"transaction returned with failure: TypeError: stub.GetQueryResultWithPagination is not a function"

我的链码日志是:

Args: ["queryMarblesWithPagination","{\"selector\":{\"owner\":\"tom\"}}","3",""]
{ fcn: 'queryMarblesWithPagination',
  params: [ '{"selector":{"owner":"tom"}}', '3', '' ] }
TypeError: stub.GetQueryResultWithPagination is not a function
    at queryMarblesWithPagination (/usr/local/src/marbles_chaincode.js:468:47)
    at Chaincode.Invoke (/usr/local/src/marbles_chaincode.js:55:27)
    at handleMessage (/usr/local/src/node_modules/fabric-shim/lib/handler.js:636:47)
    at ChaincodeSupportClient.handleTransaction (/usr/local/src/node_modules/fabric-shim/lib/handler.js:361:9)
    at ClientDuplexStream.<anonymous> (/usr/local/src/node_modules/fabric-shim/lib/handler.js:301:30)
    at emitOne (events.js:116:13)
    at ClientDuplexStream.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at ClientDuplexStream.Readable.push (_stream_readable.js:208:10)
2019-08-29T08:01:17.786Z error [shim:lib/handler.js]                              [mychannel-d8dd2e62] Calling chaincode Invoke() returned error response [TypeError: stub.GetQueryResultWithPagination is not a function]. Sending ERROR message back to peer  

我认为示例中有一个 "typo" - 函数名称应以小写开头 g - getQueryResultWithPagination

我在 stub.js 中看到的是函数名称以小写 g 而不是大写 G 开头。所以不要调用 stub.GetQueryResultWithPagination,你应该尝试 stub.getQueryResultWithPagination。这应该可以解决你的错误.

已经有人回答了,但我认为下面的内容 link 可能对您将来有所帮助

hyperledger fabric shim 有一个 golang 接口,你可以找到所有可用的方法

https://github.com/hyperledger/fabric/blob/master/core/chaincode/shim/interfaces.go