2

我已经克隆了结构示例 存储库并正在运行byfn脚本来构建第一个网络。我正在使用 node js SDK 进行应用程序开发。我编写了一个链码函数,它进行耗时的计算并将true/false值返回给中间件。

peer0仅从Org1.

不幸的是,我得到了一个超时,没有来自链码的响应~30seconds。我得到的错误如下所示:

warn: [Query]: evaluate: Query ID "[object Object]" of peer "peer0.org1.example.com:7051" failed: message=failed to execute transaction 799eb959954a7f2f8f75dee735969a4ba374b4bc98b4bbacd2fc85fc57a860b9: error sending: timeout expired while executing transaction, stack=Error: failed to execute transaction 799eb959954a7f2f8f75dee735969a4ba374b4bc98b4bbacd2fc85fc57a860b9: error sending: timeout expired while executing transaction
    at self._endorserClient.processProposal (/home/jacktheripper/fabric-samples/zeroknowledge/snarkjs/node_modules/fabric-client/lib/Peer.js:140:36)
    at Object.onReceiveStatus (/home/jacktheripper/fabric-samples/zeroknowledge/snarkjs/node_modules/grpc/src/client_interceptors.js:1207:9)
    at InterceptingListener._callNext (/home/jacktheripper/fabric-samples/zeroknowledge/snarkjs/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (/home/jacktheripper/fabric-samples/zeroknowledge/snarkjs/node_modules/grpc/src/client_interceptors.js:618:8)
    at callback (/home/jacktheripper/fabric-samples/zeroknowledge/snarkjs/node_modules/grpc/src/client_interceptors.js:845:24), status=500, , url=grpcs://localhost:7051, name=peer0.org1.example.com:7051, grpc.max_receive_message_length=-1, grpc.max_send_message_length=-1, grpc.keepalive_time_ms=120000, grpc.http2.min_time_between_pings_ms=12000, grpc.keepalive_timeout_ms=2000000, grpc.http2.max_pings_without_data=5, grpc.keepalive_permit_without_calls=1, name=peer0.org1.example.com:7051, grpc.ssl_target_name_override=peer0.org1.example.com, grpc.default_authority=peer0.org1.example.com, isProposalResponse=true

为了解决这个问题,我认为我必须覆盖结构中的默认超时配置。deafault.json所以,我对 .I 中的配置文件进行了更改fabric-client node module。我增加了键中的值,"request-timeout","grpc.keepalive_timeout_ms", "grpc-wait-for-ready-timeout"但我的应用程序仍然像~30-35 seconds. 我还更改了文件中的timeout参数值,connection-org1.yaml但应用程序仍然同时超时。

如何增加此超时时间以允许在我的链码中进行大量计算?我知道我的链码和结构安装是正确的,因为相同的应用程序和链码在具有更好资源的系统中运行良好(即在更快的计算机中计算需要约 15 秒)

4

0 回答 0