用于Hyperledger Fabric V1.0网络设置的yaml文件中的Couchdb端口映射

时间:2017-09-27 09:51:46

标签: couchdb blockchain hyperledger-fabric hyperledger fauxton

有人可以解释一下docker-compose-couch.yaml中的端口映射。

请查看以下内容

  

container_name:couchdb0
-ports:
- “5984:5984”
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb0:5984

     

container_name:couchdb1
-ports:
- “6984:5984”
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb1:5984

     

container_name:couchdb2
-ports:
- “7984:5984”
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb2:5984

     

container_name:couchdb3
-ports:
- “8984:5984”
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb3:5984

  1. 这里为什么所有地址都映射到同一个端口5984?是使用相同的数据库而不是为每个对等使用单独的数据库吗?
  2. 此外,在进行交易后,当我使用 Fauxton UI 使用以下网址检查数据库时

    http://192.168.99.100:5984/_utils/#/database/mydemochannel/_all_docs http://192.168.99.100:6984/_utils/#/database/mydemochannel/_all_docs http://192.168.99.100:7984/_utils/#/database/mydemochannel/_all_docs http://192.168.99.100:8984/_utils/#/database/mydemochannel/_all_docs
    192.168.99.100 是我在 Windows 7 机器上的虚拟机IP)

    都显示相同的数据。

    1. 我的疑问是,它在 Fauxton UI 中显示加密数据或纯文本值?勾选包含文档复选框后,它也会显示该值。根据我的理解,这些值将根据同伴签名加密(如果我错了请纠正我),然后如何将该值显示为纯文本jason?

1 个答案:

答案 0 :(得分:1)

5984是沙发数据库端口号,现在来自docker-compose-couchdb.yaml文件的端口映射只是定义了从docker容器到docker主机的映射。由于有4个couchdb容器(每个对等一个),因此无法在同一端口号上映射所有这些容器,因此每个定义的不同映射分别为:5984,6984,7984和8984。所以它没有映射到同一个端口,而是从同一个端口映射到不同的端口。请参阅docker撰写docs here

从Hyperledger Fabric v1.0开始,状态db中没有值的加密,如果您想继续并加密数据,您可以在应用程序级别执行此操作。例如客户端可以通过提议的瞬态映射字段传递AES密钥,链代码将基于该密钥编码params做链代码业务逻辑,解码结果并存储它们。