【发布时间】:2021-07-22 12:25:20
【问题描述】:
我正在使用脚本文件运行 Hyperledger Fabric 2.0 区块链来创建通道、Orderer 和对等点。我使用 fabric-gateway-java:2.1.1 作为 Java SDK,我使用连接配置文件从 SDK 连接到区块链,见下文:
public static Gateway connect() throws Exception{
// Load a file system based wallet for managing identities.
Path walletPath = Paths.get("wallet");
Wallet wallet = Wallets.newFileSystemWallet(walletPath);
// load a CCP
Path networkConfigPath = Paths.get("..", "..", "TestBlockchain", "organizations",
"peerOrganizations", "org1.test.com", "connection-org1.yaml");
Gateway.Builder builder = Gateway.createBuilder();
builder.identity(wallet, "appUser").networkConfig(networkConfigPath).discovery(true);
return builder.connect();
};
我的连接配置文件如下所示:注意:我已删除此问题的证书
name: TestBlockchain-org1
version: 1.0.0
channels: testchannel
client:
organization: Org1
connection:
timeout:
peer:
endorser: '300'
organizations:
Org1:
mspid: Org1MSP
peers:
- peer0.org1.test.com
certificateAuthorities:
- ca.org1.test.com
peers:
peer0.org1.test.com:
url: grpcs://localhost:7051
tlsCACerts:
pem: |
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
grpcOptions:
ssl-target-name-override: peer0.org1.test.com
hostnameOverride: peer0.org1.test.com
grpc.max_send_message_length: 9000000
grpc.max_receive_message_length: 9000000
peer1.org1.test.com:
url: grpcs://localhost:7051
tlsCACerts:
pem: |
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
grpcOptions:
ssl-target-name-override: peer1.org1.test.com
hostnameOverride: peer1.org1.test.com
grpc.max_send_message_length: 9000000
grpc.max_receive_message_length: 9000000
certificateAuthorities:
ca.org1.test.com:
url: https://localhost:7054
caName: ca-org1
tlsCACerts:
pem:
- |
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
httpOptions:
verify: false
当我在连接配置文件中设置 grpc.max_receive_message_length 时,它在尝试从区块链接收大于 4GB 的消息时似乎不起作用
我不断收到的错误是 RESOURCE EXHAUSTED: Compressed gRPC message exceeded maximum size 4194304 4GB。
问题:是否有另一种方法可以增加连接配置文件中 grpc 或 java 代码本身的限制?
我已尝试在互联网上搜索解决方案,但似乎并没有希望有人能来拯救我并提供帮助。在此先感谢:)
【问题讨论】:
-
大多数人会建议您不要使用区块链来存储数据,而是存储对数据的引用要小得多。在链上与链下存储 4GB 是否有合法需求?
-
存储数据没问题,我不会将任何超过 4GB 的数据推送到区块链上。就在我尝试在区块链中查询某些用例时,我需要返回超过 4GB 的空间。
-
stackoverflow.com/questions/60522516/… 看看这是否有帮助 - 有一个链接指向您可以配置以增加大小的设置
标签: java hyperledger-fabric grpc hyperledger