从本地网络访问本地托管的Hyperledger Fabric

时间:2019-05-30 13:10:43

标签: javascript docker hyperledger-fabric chaincode

我正在尝试使用Fabric SDK访问本地托管的Hyperledger Fabric。 我可以从本地计算机上调用事务。但是,当我尝试使用Fabric SDK从同一网络中的另一台计算机上运行脚本时,总是出现错误。

我在config.json中指定了本地IP地址

{
    "channel_name": "mychannel",
    "smart_contract_name": "smartcontract",
    "connection_file": "local_fabric_connection.json",
    "appAdmin": "admin",
    "appAdminSecret": "adminpw",
    "orgMSPID": "Org1MSP",
    "caName": "ipaddress:port",
    "userName": "user1",
    "gatewayDiscovery": { "enabled": true, "asLocalhost": false }
}

我还尝试通过将本地主机更改为连接文件中的IP地址来使用本地IP地址:

"organizations": {
        "Org1": {
            "mspid": "Org1MSP",
            "peers": [
                "peer0.org1.example.com"
            ],
            "certificateAuthorities": [
                "ca.org1.example.com"
            ]
        }
    },
    "peers": {
        "peer0.org1.example.com": {
            "url": "grpc://ipaddress:17051"
        }
    },
    "certificateAuthorities": {
        "ca.org1.example.com": {
            "url": "http://ipaddress:17054",
            "caName": "ca.org1.example.com"
        }
    }

要从其他计算机访问Fabric,是否需要更改其他设置?

我正在使用VSCode中的IBM Blockchain Extension开发智能合约。

当我运行脚本“ query.js”时,我不断收到此错误:

[Remote.js]: Error: Failed to connect before the deadline URL:grpc://peer0.org1.example.com:17051

1 个答案:

答案 0 :(得分:0)

我通过从config.json中删除gatewayDiscovery解决了该问题