嗨,我所有的设置超级分类账项目在我的笔记本电脑赢7使用码头工具箱。我有同伴和会员在运行。此外,我还可以调用和查询链码(如peer chaincode query -l golang -n mycc -c '{"Args": ["query", "b"]}'
),也可以从坞机内部为REST使用curl命令。
docker-machine ssh默认值
curl -H "Content-Type: application/json" -X POST -d '{ "jsonrpc": "2.0", "method": "query", "params": {"type": 1,"chaincodeID":{"name":"mycc"},"ctorMsg": {"args":["query", "a"]},"secureContext": "jim" }, "id":5}' 172.17.0.3:7050/chaincode
但是问题无法从浏览器访问相同的REST "172.17.0.3:7050/chaincode“。我的对接机ip是: 192.168.99.100
同侪ip : 172.17.0.3
Rest端口: 7050
我尝试了所有可能的IP和端口组合的对等,但它不能从浏览器访问。你能帮我什么IP和端口组合,我应该使用从浏览器访问REST。以及我如何找到API。
发布于 2017-01-22 16:34:00
对此的答复是:
映射docker-compose.yml文件中的默认REST端口
membersrvc:
image: hyperledger/fabric-membersrvc
command: membersrvc
vp0:
image: hyperledger/fabric-peer
ports:
- "7050:7050"
environment:
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_VM_ENDPOINT=http://localhost:2375
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=vp0
- CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
- CORE_SECURITY_ENABLED=true
- CORE_SECURITY_ENROLLID=test_vp0
- CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
links:
- membersrvc
command: sh -c "sleep 5; peer node start --peer-chaincodedev"
现在这个7050端口在VM下使用,所以我们应该将这个端口映射到windows上的其他端口,例如3000。
您需要理解的是,在这个设置中,使用Docker,您实际上有两个不同级别的端口映射。首先在容器和linux对接器之间有一个映射,然后在linux和Windows之间进行映射。在docker-come.yml文件中指定的映射只影响前者。对于后者,您需要在VirtualBox上设置它。
要设置第二个映射,启动VirtualBox管理器。
选择正在运行的VM,名为“default”。点击“设置”。选择“网络”。
打开“高级”部分,点击“端口转发”。单击右边的“添加新端口转发规则”按钮(带加号的绿色菱形)。然后将主机端口设置为3000,将来宾端口设置为7050。
点击Ok。就这样。
现在,将浏览器指向https://localhost:3000/network/peers,您应该从正在运行的对等点返回一个页面,其中列出了一个对等点:
发布于 2017-01-21 22:28:06
您需要使用"Docker机器“的IP地址--在本例中是192.168.99.100 ( http://192.168.99.100:7050表示REST)。
REST的Swagger可以在api.json上找到
https://stackoverflow.com/questions/41720207
复制相似问题