1

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

请查看以下内容

容器名称:couchdb0
-ports:
-“5984:5984”
——CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984

容器名称:couchdb1
-ports:
--“6984:5984”
--CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984

容器名称:couchdb2
-ports:
--“7984:5984”
--CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5984

容器名称:couchdb3
-ports:
--“8984:5984”
--CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb3:5984

  1. 这里为什么所有地址都映射到同一个端口5984?它是否使用相同的数据库而不是为每个对等方使用单独的数据库?

同样在进行交易后,当我使用以下 URL使用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中显示加密数据或纯文本值?一旦我勾选了Include Doc s 复选框,它也会显示该值。根据我的理解,这些值将根据对等签名进行加密(如果我错了,请纠正我),那么它如何将值显示为纯文本 jason?
4

1 回答 1

2

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

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

于 2017-09-27T11:21:46.107 回答