我正在尝试至少配置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,并且不可用。)


重要的是要使用与您安装的发行版匹配的文档。对困惑感到抱歉。

10-01 10:40