Sawtooth-Validator, использующий постоянный том, не запускается - PullRequest
0 голосов
/ 07 мая 2020

Мы используем docker -compose с постоянным томом, чтобы запустить пилообразный валидатор с sawtooth-pbft и другими TP. Мы используем постоянный том для того же, так что его можно использовать для резервного копирования. Вот наш yaml для того же

validator:
    build: validator/.
    image: hyperledger/sawtooth-validator:1.1.5
    container_name: sawtooth-validator
    expose:
      - 4004
      - 5050
      - 8800
    volumes:
      - volume1:/var/lib/sawtooth/
      - keys:/etc/sawtooth/keys
    ports:
      - "8800:8800"
    command: |
      bash -c "        
        sawtooth-validator -vv \
      "

Теперь, когда мы запускаем docker -compose с параметром -d (docker -compose up -d), он не принимает никаких новых транзакций . Но если мы сделаем то же самое без опции -d (docker -compose up), все будет нормально. В чем может быть причина проблемы? почему docker -compose ведет себя по-другому с параметром -d?

Для меня похоже, что валидатор не может проверить новые входящие блоки, скажем x, потому что он не может получить блок x- 1 с постоянного тома в отключенном режиме? Что он умеет делать в обычном режиме. Есть ли разница в разрешениях между автономным и нормальным режимами?

1 Ответ

0 голосов
/ 27 августа 2020

Мой код валидатора:

  validator:
    image: hyperledger/sawtooth-validator:1.1
    container_name: validator
    expose:
      - 4004
    ports:
      - "4004:4004"
    entrypoint: |
      bash -c "
        if [ ! -f /etc/sawtooth/keys/validator.priv ]; then
          sawadm keygen &&
          sawtooth keygen my_key &&
          sawset genesis -k /root/.sawtooth/keys/my_key.priv &&
          sawadm genesis config-genesis.batch
        fi;
        sawtooth-validator -v \
          --endpoint tcp://validator:8800 \
          --bind component:tcp://eth0:4004 \
          --bind network:tcp://eth0:8800 \
          --bind consensus:tcp://eth0:5050
      "
    volumes:
      - ./database/bcdata/data:/var/lib/sawtooth
      - ./database/bcdata/keys:/etc/sawtooth/keys
      - ./database/bcdata/userKeys:/root/.sawtooth/keys
      - ./database/bcdata/logs:/var/log/sawtooth

Надеюсь, это сработает для вас;)

...