我正在尝试至少配置2个验证器和一些事务处理器的锯齿网络。我正在使用Ubuntu 18.04,因此唯一可行的解决方案是使用docker。
我整天都在寻找一个可行的例子,但仍然没有运气。官方网站here上有一个示例,但不起作用。 Docker映像版本是1.1,这很奇怪,因为Docker Hub上没有这样的版本。此外,它需要一个在任何地方都不存在的图像(hyperledger / sawtooth-poet-engine)。
我知道主验证器应生成密钥和创世块,而其他验证器应使用该工件。但是第二个验证器的正确配置是什么?如何从第一个验证器读取生成的工件?
谢谢!
这是第一个验证器的配置:
validator-0:
image: hyperledger/sawtooth-validator:1.0
container_name: sawtooth-validator-default-0
expose:
- 4004
ports:
- "4004:4004"
entrypoint: "bash -c \"\
sawadm keygen && \
sawtooth keygen my_key && \
sawset genesis -k /root/.sawtooth/keys/my_key.priv && \
sawadm genesis config-genesis.batch && \
sawtooth-validator -vv \
--endpoint tcp://validator:8800 \
--bind component:tcp://eth0:4004 \
--bind network:tcp://eth0:8800 \
\""
最佳答案
您正在使用Sawtooth 1.1(未发布的“每晚”版本)和已发布的Sawtooth 1.0软件(已发布的“最新”版本)。您有2个选择:
请遵循Sawooth 1.0文档并使用1.0 .yaml文件,例如https://sawtooth.hyperledger.org/docs/core/releases/latest/app_developers_guide/docker.html#和https://sawtooth.hyperledger.org/docs/core/releases/latest/app_developers_guide/sawtooth-default.yaml
通过https://sawtooth.hyperledger.org/docs/core/releases/latest/sysadmin_guide/installation.html升级到未发行的“出血边缘” Sawtooth 1.1软件,即,您使用以下密钥和存储库:$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 44FC67F19B2466EA$ sudo apt-add-repository "deb http://repo.sawtooth.me/ubuntu/nightly xenial universe"
(注意:选项2尚不可用,因为尚未发布的Sawtooth 1.1映像尚未上载到Docker,并且不可用。)
重要的是要使用与您安装的发行版匹配的文档。对困惑感到抱歉。