Hyperledger Sawtooth transaction not committed on PoET consensus

230 views Asked by At

I'm trying to set up Hyperledger Sawtooth with 4 nodes in PoET consensus with custom transaction processors connected with each validator with Express App as a proxy to connect with the REST-API engine in docker containers with matrices in Grafana. The validator is not generating the transaction receipt hence, the payload is not processed by my custom Transaction Processor. The batch_status API always gives PENDING status.

Full project link: https://github.com/Shritesh99/Evidence-Management-System

Please Help!!!

Here is my sawtooth-poet.yaml docker-compose file.

version: "3.7"

volumes:
     poet-shared:

services:
     # -------------=== shell ===-------------
     shell:
          image: "hyperledger/sawtooth-shell:chime"
          container_name: ems-shell
          volumes:
               - poet-shared:/poet-shared
          stop_signal: SIGKILL
          entrypoint: |
               bash -c "
                    if [ ! -f /root/.sawtooth/keys/root.priv ]; then
                         sawtooth keygen
                    fi;
                    tail -f /dev/null
               "

     # -------------=== rest api proxy ===-------------
     rest-api-proxy:
          build: ./proxy
          container_name: ems-rest-api-proxy
          volumes:
               - ./proxy:/proxy
               - /proxy/node_modules
          expose:
               - 4000
          ports:
               - "4000:4000"
          depends_on:
               - rest-api-0

     # -------------=== validators ===-------------
     validator-0:
          image: "hyperledger/sawtooth-validator:chime"
          container_name: ems-validator-0
          expose:
               - 4004
               - 5050
               - 8800
          volumes:
               - ./metrices/validator.toml:/etc/sawtooth/validator.toml
               - poet-shared:/poet-shared
          entrypoint: "bash -c \"\
               sawadm keygen --force && \
               mkdir -p /poet-shared/validator-0 || true && \
               cp -a /etc/sawtooth/keys /poet-shared/validator-0/ && \
               while [ ! -f /poet-shared/poet-enclave-measurement ]; do sleep 1; done && \
               while [ ! -f /poet-shared/poet-enclave-basename ]; do sleep 1; done && \
               while [ ! -f /poet-shared/poet.batch ]; do sleep 1; done && \
               cp /poet-shared/poet.batch / && \
               sawset genesis \
                    -k /etc/sawtooth/keys/validator.priv \
                    -o config-genesis.batch && \
               sawset proposal create \
                    -k /etc/sawtooth/keys/validator.priv \
                    sawtooth.consensus.algorithm.name=PoET \
                    sawtooth.consensus.algorithm.version=0.1 \
                    sawtooth.poet.report_public_key_pem=\
                    \\\"$$(cat /poet-shared/simulator_rk_pub.pem)\\\" \
                    sawtooth.poet.valid_enclave_measurements=$$(cat /poet-shared/poet-enclave-measurement) \
                    sawtooth.poet.valid_enclave_basenames=$$(cat /poet-shared/poet-enclave-basename) \
                    -o config.batch && \
               sawset proposal create \
                    -k /etc/sawtooth/keys/validator.priv \
                    sawtooth.poet.target_wait_time=5 \
                    sawtooth.poet.initial_wait_time=25 \
                    sawtooth.publisher.max_batches_per_block=100 \
                    -o poet-settings.batch && \
               sawadm genesis \
                    config-genesis.batch config.batch poet.batch poet-settings.batch && \
               sawtooth-validator -v \
                    --bind network:tcp://eth0:8800 \
                    --bind component:tcp://eth0:4004 \
                    --bind consensus:tcp://eth0:5050 \
                    --peering static \
                    --endpoint tcp://validator-0:8800 \
                    --scheduler parallel \
                    --network-auth trust
          \""
          environment:
               PYTHONPATH: "/project/sawtooth-core/consensus/poet/common:\
                    /project/sawtooth-core/consensus/poet/simulator:\
                    /project/sawtooth-core/consensus/poet/core"
          stop_signal: SIGKILL

     validator-1:
          image: "hyperledger/sawtooth-validator:chime"
          container_name: ems-validator-1
          expose:
               - 4004
               - 5050
               - 8800
          volumes:
               - ./metrices/validator.toml:/etc/sawtooth/validator.toml
               - poet-shared:/poet-shared
          entrypoint: |
               bash -c "
                    sawadm keygen --force && \
                    mkdir -p /poet-shared/validator-1 || true && \
                    cp -a /etc/sawtooth/keys /poet-shared/validator-1/ && \
                    sawtooth-validator -v \
                         --bind network:tcp://eth0:8800 \
                         --bind component:tcp://eth0:4004 \
                         --bind consensus:tcp://eth0:5050 \
                         --peering static \
                         --endpoint tcp://validator-1:8800 \
                         --peers tcp://validator-0:8800 \
                         --scheduler parallel \
                         --network-auth trust
               "
          environment:
               PYTHONPATH: "/project/sawtooth-core/consensus/poet/common:\
                    /project/sawtooth-core/consensus/poet/simulator:\
                    /project/sawtooth-core/consensus/poet/core"
          stop_signal: SIGKILL

     validator-2:
          image: "hyperledger/sawtooth-validator:chime"
          container_name: ems-validator-2
          expose:
               - 4004
               - 5050
               - 8800
          volumes:
               - ./metrices/validator.toml:/etc/sawtooth/validator.toml
               - poet-shared:/poet-shared
          entrypoint: |
               bash -c "
                    sawadm keygen --force && \
                    mkdir -p /poet-shared/validator-2 && \
                    cp -a /etc/sawtooth/keys /poet-shared/validator-2/ && \
                    sawtooth-validator -v \
                         --bind network:tcp://eth0:8800 \
                         --bind component:tcp://eth0:4004 \
                         --bind consensus:tcp://eth0:5050 \
                         --peering static \
                         --endpoint tcp://validator-2:8800 \
                         --peers tcp://validator-0:8800,tcp://validator-1:8800 \
                         --scheduler parallel \
                         --network-auth trust
               "
          environment:
               PYTHONPATH: "/project/sawtooth-core/consensus/poet/common:\
                    /project/sawtooth-core/consensus/poet/simulator:\
                    /project/sawtooth-core/consensus/poet/core"
          stop_signal: SIGKILL

     validator-3:
          image: "hyperledger/sawtooth-validator:chime"
          container_name: ems-validator-3
          expose:
               - 4004
               - 5050
               - 8800
          volumes:
               - ./metrices/validator.toml:/etc/sawtooth/validator.toml
               - poet-shared:/poet-shared
          entrypoint: |
               bash -c "
                    sawadm keygen --force && \
                    mkdir -p /poet-shared/validator-3 && \
                    cp -a /etc/sawtooth/keys /poet-shared/validator-3/ && \
                    sawtooth-validator -v \
                         --bind network:tcp://eth0:8800 \
                         --bind component:tcp://eth0:4004 \
                         --bind consensus:tcp://eth0:5050 \
                         --peering static \
                         --endpoint tcp://validator-3:8800 \
                         --peers tcp://validator-0:8800,tcp://validator-1:8800,tcp://validator-2:8800 \
                         --scheduler parallel \
                         --network-auth trust
               "
          environment:
               PYTHONPATH: "/project/sawtooth-core/consensus/poet/common:\
                    /project/sawtooth-core/consensus/poet/simulator:\
                    /project/sawtooth-core/consensus/poet/core"
          stop_signal: SIGKILL

     validator-4:
          image: "hyperledger/sawtooth-validator:chime"
          container_name: ems-validator-4
          expose:
               - 4004
               - 5050
               - 8800
          volumes:
               - ./metrices/validator.toml:/etc/sawtooth/validator.toml
               - poet-shared:/poet-shared
          entrypoint: |
               bash -c "
                    sawadm keygen --force && \
                    mkdir -p /poet-shared/validator-4 && \
                    cp -a /etc/sawtooth/keys /poet-shared/validator-4/ && \
                    sawtooth-validator -v \
                         --bind network:tcp://eth0:8800 \
                         --bind component:tcp://eth0:4004 \
                         --bind consensus:tcp://eth0:5050 \
                         --peering static \
                         --endpoint tcp://validator-4:8800 \
                         --peers tcp://validator-0:8800,tcp://validator-1:8800,tcp://validator-2:8800,tcp://validator-3:8800 \
                         --scheduler parallel \
                         --network-auth trust
               "
          environment:
               PYTHONPATH: "/project/sawtooth-core/consensus/poet/common:\
                    /project/sawtooth-core/consensus/poet/simulator:\
                    /project/sawtooth-core/consensus/poet/core"
          stop_signal: SIGKILL

     # -------------=== rest api ===-------------
     rest-api-0:
          image: "hyperledger/sawtooth-rest-api:chime"
          container_name: ems-rest-api-0
          volumes:
               - ./metrices/rest_api.toml:/etc/sawtooth/rest_api.toml
          depends_on:
               - validator-0
          entrypoint: "sawtooth-rest-api -C tcp://validator-0:4004 --bind rest-api-0:8008 -v"
          stop_signal: SIGKILL

     rest-api-1:
          image: "hyperledger/sawtooth-rest-api:chime"
          container_name: ems-rest-api-1
          volumes:
               - ./metrices/rest_api.toml:/etc/sawtooth/rest_api.toml
          depends_on:
               - validator-1
          entrypoint: "sawtooth-rest-api -C tcp://validator-1:4004 --bind rest-api-1:8008 -v"
          stop_signal: SIGKILL

     rest-api-2:
          image: "hyperledger/sawtooth-rest-api:chime"
          container_name: ems-rest-api-2
          volumes:
               - ./metrices/rest_api.toml:/etc/sawtooth/rest_api.toml
          depends_on:
               - validator-2
          entrypoint: "sawtooth-rest-api -C tcp://validator-2:4004 --bind rest-api-2:8008 -v"
          stop_signal: SIGKILL

     rest-api-3:
          image: "hyperledger/sawtooth-rest-api:chime"
          container_name: ems-rest-api-3
          volumes:
               - ./metrices/rest_api.toml:/etc/sawtooth/rest_api.toml
          depends_on:
               - validator-3
          entrypoint: "sawtooth-rest-api -C tcp://validator-3:4004 --bind rest-api-3:8008 -v"
          stop_signal: SIGKILL

     rest-api-4:
          image: "hyperledger/sawtooth-rest-api:chime"
          container_name: ems-rest-api-4
          volumes:
               - ./metrices/rest_api.toml:/etc/sawtooth/rest_api.toml
          depends_on:
               - validator-4
          entrypoint: "sawtooth-rest-api -C tcp://validator-4:4004 --bind rest-api-4:8008 -v"
          stop_signal: SIGKILL

     # -------------=== settings tp ===-------------
     settings-tp-0:
          image: "hyperledger/sawtooth-settings-tp:chime"
          container_name: ems-settings-tp-0
          depends_on:
               - validator-0
          entrypoint: "settings-tp -v -C tcp://validator-0:4004"
          stop_signal: SIGKILL

     settings-tp-1:
          image: "hyperledger/sawtooth-settings-tp:chime"
          container_name: ems-settings-tp-1
          depends_on:
               - validator-1
          entrypoint: "settings-tp -v -C tcp://validator-1:4004"
          stop_signal: SIGKILL

     settings-tp-2:
          image: "hyperledger/sawtooth-settings-tp:chime"
          container_name: ems-settings-tp-2
          depends_on:
               - validator-2
          entrypoint: "settings-tp -v -C tcp://validator-2:4004"
          stop_signal: SIGKILL

     settings-tp-3:
          image: "hyperledger/sawtooth-settings-tp:chime"
          container_name: ems-settings-tp-3
          depends_on:
               - validator-3
          entrypoint: "settings-tp -v -C tcp://validator-3:4004"
          stop_signal: SIGKILL

     settings-tp-4:
          image: "hyperledger/sawtooth-settings-tp:chime"
          container_name: ems-settings-tp-4
          depends_on:
               - validator-4
          entrypoint: "settings-tp -v -C tcp://validator-4:4004"
          stop_signal: SIGKILL

     # -------------=== poet engines ===-------------
     poet-engine-0:
          image: "hyperledger/sawtooth-poet-engine:chime"
          container_name: ems-poet-engine-0
          volumes:
               - poet-shared:/poet-shared
          depends_on:
               - validator-0
          entrypoint: |
               bash -c "
                    if [ ! -f /poet-shared/poet-enclave-measurement ]; then
                         poet enclave measurement >> /poet-shared/poet-enclave-measurement; \
                    fi &&
                    if [ ! -f /poet-shared/poet-enclave-basename ]; then
                         poet enclave basename >> /poet-shared/poet-enclave-basename;
                    fi &&
                    if [ ! -f /poet-shared/simulator_rk_pub.pem ]; then
                         cp /etc/sawtooth/simulator_rk_pub.pem /poet-shared;
                    fi &&
                    while [ ! -f /poet-shared/validator-0/keys/validator.priv ];
                    do sleep 1; done
                    cp -a /poet-shared/validator-0/keys /etc/sawtooth &&
                    poet registration create -k /etc/sawtooth/keys/validator.priv -o /poet-shared/poet.batch &&
                    poet-engine -C tcp://validator-0:5050 --component tcp://validator-0:4004
               "

     poet-engine-1:
          image: "hyperledger/sawtooth-poet-engine:chime"
          container_name: ems-poet-engine-1
          volumes:
               - poet-shared:/poet-shared
          depends_on:
               - validator-1
          entrypoint: |
               bash -c "
                    while [ ! -f /poet-shared/validator-1/keys/validator.priv ];
                    do sleep 1; done
                    cp -a /poet-shared/validator-1/keys /etc/sawtooth &&
                    poet-engine -C tcp://validator-1:5050 --component tcp://validator-1:4004
               "

     poet-engine-2:
          image: "hyperledger/sawtooth-poet-engine:chime"
          container_name: ems-poet-engine-2
          volumes:
               - poet-shared:/poet-shared
          depends_on:
               - validator-2
          entrypoint: |
               bash -c "
                    while [ ! -f /poet-shared/validator-2/keys/validator.priv ];
                    do sleep 1; done
                    cp -a /poet-shared/validator-2/keys /etc/sawtooth &&
                    poet-engine -C tcp://validator-2:5050 --component tcp://validator-2:4004 
               "

     poet-engine-3:
          image: "hyperledger/sawtooth-poet-engine:chime"
          container_name: ems-poet-engine-3
          volumes:
               - poet-shared:/poet-shared
          depends_on:
               - validator-3
          entrypoint: |
               bash -c "
                    while [ ! -f /poet-shared/validator-3/keys/validator.priv ];
                    do sleep 1; done
                    cp -a /poet-shared/validator-3/keys /etc/sawtooth &&
                    poet-engine -C tcp://validator-3:5050 --component tcp://validator-3:4004
               "

     poet-engine-4:
          image: "hyperledger/sawtooth-poet-engine:chime"
          container_name: ems-poet-engine-4
          volumes:
               - poet-shared:/poet-shared
          depends_on:
               - validator-4
          entrypoint: |
               bash -c "
                    while [ ! -f /poet-shared/validator-4/keys/validator.priv ];
                    do sleep 1; done
                    cp -a /poet-shared/validator-4/keys /etc/sawtooth &&
                    poet-engine -C tcp://validator-4:5050 --component tcp://validator-4:4004
               "

     # -------------=== poet validator registry ===-------------
     poet-validator-registry-tp-0:
          image: "hyperledger/sawtooth-poet-validator-registry-tp:chime"
          container_name: ems-poet-validator-registry-tp-0
          depends_on:
               - validator-0
          entrypoint: "poet-validator-registry-tp -C tcp://validator-0:4004 -v"
          environment:
               PYTHONPATH: /project/sawtooth-core/consensus/poet/common
          stop_signal: SIGKILL

     poet-validator-registry-tp-1:
          image: "hyperledger/sawtooth-poet-validator-registry-tp:chime"
          container_name: ems-poet-validator-registry-tp-1
          depends_on:
               - validator-1
          entrypoint: "poet-validator-registry-tp -C tcp://validator-1:4004 -v"
          environment:
               PYTHONPATH: /project/sawtooth-core/consensus/poet/common
          stop_signal: SIGKILL

     poet-validator-registry-tp-2:
          image: "hyperledger/sawtooth-poet-validator-registry-tp:chime"
          container_name: ems-poet-validator-registry-tp-2
          depends_on:
               - validator-2
          entrypoint: "poet-validator-registry-tp -C tcp://validator-2:4004 -v"
          environment:
               PYTHONPATH: /project/sawtooth-core/consensus/poet/common
          stop_signal: SIGKILL

     poet-validator-registry-tp-3:
          image: "hyperledger/sawtooth-poet-validator-registry-tp:chime"
          container_name: ems-poet-validator-registry-tp-3
          depends_on:
               - validator-3
          entrypoint: "poet-validator-registry-tp -C tcp://validator-3:4004 -v"
          environment:
               PYTHONPATH: /project/sawtooth-core/consensus/poet/common
          stop_signal: SIGKILL

     poet-validator-registry-tp-4:
          image: "hyperledger/sawtooth-poet-validator-registry-tp:chime"
          container_name: ems-poet-validator-registry-tp-4
          depends_on:
               - validator-4
          entrypoint: "poet-validator-registry-tp -C tcp://validator-4:4004 -v"
          environment:
               PYTHONPATH: /project/sawtooth-core/consensus/poet/common
          stop_signal: SIGKILL

     # -------------=== EMS tps ===-------------
     processor-0:
          image: processor
          container_name: ems-processor-0
          build: ./processor
          volumes:
               - ./processor:/processor
               - /processor/node_modules
          depends_on:
               - validator-0
          environment:
               - VALIDATOR_URL=tcp://validator-0:4004

     processor-1:
          image: processor
          container_name: ems-processor-1
          build: ./processor
          volumes:
               - ./processor:/processor
               - /processor/node_modules
          depends_on:
               - validator-1
          environment:
               - VALIDATOR_URL=tcp://validator-1:4004

     processor-2:
          image: processor
          container_name: ems-processor-2
          build: ./processor
          volumes:
               - ./processor:/processor
               - /processor/node_modules
          depends_on:
               - validator-2
          environment:
               - VALIDATOR_URL=tcp://validator-2:4004

     processor-3:
          image: processor
          container_name: ems-processor-3
          build: ./processor
          volumes:
               - ./processor:/processor
               - /processor/node_modules
          depends_on:
               - validator-3
          environment:
               - VALIDATOR_URL=tcp://validator-3:4004

     processor-4:
          image: processor
          container_name: ems-processor-4
          build: ./processor
          volumes:
               - ./processor:/processor
               - /processor/node_modules
          depends_on:
               - validator-4
          environment:
               - VALIDATOR_URL=tcp://validator-4:4004

Here are my validator-0 logs.

writing file: /etc/sawtooth/keys/validator.priv
writing file: /etc/sawtooth/keys/validator.pub
Generated config-genesis.batch
Processing config-genesis.batch...
Processing config.batch...
Processing poet.batch...
Processing poet-settings.batch...
Generating /var/lib/sawtooth/genesis.batch
[2020-12-02 14:04:18.313 WARNING  (unknown file)] [src/pylogger.rs: 40] Started logger at level INFO
[2020-12-02 14:04:19.347 INFO     path] Skipping path loading from non-existent config file: /etc/sawtooth/path.toml
[2020-12-02 14:04:19.347 INFO     validator] Loading validator information from config: /etc/sawtooth/validator.toml
[2020-12-02 14:04:19.354 INFO     path] Skipping path loading from non-existent config file: /etc/sawtooth/path.toml
[2020-12-02 14:04:19.356 INFO     keys] Loading signing key: /etc/sawtooth/keys/validator.priv
[2020-12-02 14:04:19.360 INFO     cli] sawtooth-validator (Hyperledger Sawtooth) version 1.2.5
[2020-12-02 14:04:19.360 INFO     cli] config [path]: config_dir = "/etc/sawtooth"; config [path]: key_dir = "/etc/sawtooth/keys"; config [path]: data_dir = "/var/lib/sawtooth"; config [path]: log_dir = "/var/log/sawtooth"; config [path]: policy_dir = "/etc/sawtooth/policy"
[2020-12-02 14:04:19.361 INFO     cli] Adding metrics reporter: url=http://192.168.29.153:8086, db=metrics
[2020-12-02 14:04:19.407 INFO     state_verifier] Skipping state verification: chain head's state root is present
[2020-12-02 14:04:19.410 INFO     cli] Starting validator with parallel scheduler
[2020-12-02 14:04:19.491 INFO     interconnect] Listening on tcp://eth0:4004
[2020-12-02 14:04:19.496 INFO     genesis] Producing genesis block from /var/lib/sawtooth/genesis.batch
[2020-12-02 14:04:19.502 INFO     processor_manager] waiting for processor type sawtooth_settings: 1.0 to register
[2020-12-02 14:04:29.473 WARNING  influx] Cannot write to 192.168.29.153: Bad Request
[2020-12-02 14:04:30.070 WARNING  processor_handlers] Max occupancy was not provided by transaction processor: 5ff1b5d1495bc765a3b0436db794658cfcf0ce6af8875ed448a2db8a37d8e8103aab52e10cc7ffb17b35e27c45dfa2df38548f5393aefce91b369ba4ef622bad. Using default max occupancy: 10                                                                                                                      
[2020-12-02 14:04:30.070 INFO     processor_handlers] registered transaction processor: connection_id=5ff1b5d1495bc765a3b0436db794658cfcf0ce6af8875ed448a2db8a37d8e8103aab52e10cc7ffb17b35e27c45dfa2df38548f5393aefce91b369ba4ef622bad, family=sawtooth_settings, version=1.0, namespaces=['000000'], max_occupancy=10                                                                                
[2020-12-02 14:04:30.591 INFO     processor_manager] waiting for processor type sawtooth_validator_registry: 1.0 to register
[2020-12-02 14:04:30.997 WARNING  processor_handlers] Max occupancy was not provided by transaction processor: aaf4f8f70f7f076a594e63a7c3b81ca26f8658ceb76e763462a7edb8bcfdeb3eec095444c732628130ba13d2d0e73f4633c6e58be636c11c0fef25c016df27c3. Using default max occupancy: 10                                                                                                                      
[2020-12-02 14:04:31.001 INFO     processor_handlers] registered transaction processor: connection_id=aaf4f8f70f7f076a594e63a7c3b81ca26f8658ceb76e763462a7edb8bcfdeb3eec095444c732628130ba13d2d0e73f4633c6e58be636c11c0fef25c016df27c3, family=sawtooth_validator_registry, version=1.0, namespaces=['6a4372'], max_occupancy=10                                                                      
[2020-12-02 14:04:31.162 WARNING  processor_handlers] Max occupancy was not provided by transaction processor: b0234249154584f591b355b68a48bc12ad73dfd0f08bd751bdcc640ed8fd0be3ccfbda04e723b3bb1db017533df7c49bbf64b9bfe3864da3c6e2f19d4adda2c9. Using default max occupancy: 10                                                                                                                      
[2020-12-02 14:04:31.163 INFO     processor_handlers] registered transaction processor: connection_id=b0234249154584f591b355b68a48bc12ad73dfd0f08bd751bdcc640ed8fd0be3ccfbda04e723b3bb1db017533df7c49bbf64b9bfe3864da3c6e2f19d4adda2c9, family=evidence_management_system, version=0.0, namespaces=['d23299'], max_occupancy=10                                                                       
[2020-12-02 14:04:32.595 INFO     genesis] Genesis block created: 133d0d3c7d345c1f5e62de798fd698869a050b895f4df0531a69ddcbf3242eb820a08e4dd4329927c36ba0bf9aac605d511395e5ce51196e2737b26d0d7e061e (block_num:0, state:c8e91ecf6cebdc28b648429b585fba559368c7c1616e4e50ecbd35169ab94113, previous_block_id:0000000000000000)                                                                          
[2020-12-02 14:04:32.679 INFO     interconnect] Listening on tcp://eth0:5050
[2020-12-02 14:04:32.809 INFO     interconnect] Listening on tcp://eth0:8800
[2020-12-02 14:04:32.872 INFO     ffi] [src/journal/chain.rs: 946] Chain controller initialized with chain head: Block(id: 133d0d3c7d345c1f5e62de798fd698869a050b895f4df0531a69ddcbf3242eb820a08e4dd4329927c36ba0bf9aac605d511395e5ce51196e2737b26d0d7e061e, block_num: 0, state_root_hash: c8e91ecf6cebdc28b648429b585fba559368c7c1616e4e50ecbd35169ab94113, previous_block_id: 0000000000000000)    
[2020-12-02 14:04:32.877 INFO     ffi] [src/journal/publisher.rs: 172] Now building on top of block, Block(id: 133d0d3c7d345c1f5e62de798fd698869a050b895f4df0531a69ddcbf3242eb820a08e4dd4329927c36ba0bf9aac605d511395e5ce51196e2737b26d0d7e061e, block_num: 0, state_root_hash: c8e91ecf6cebdc28b648429b585fba559368c7c1616e4e50ecbd35169ab94113, previous_block_id: 0000000000000000)                
[2020-12-02 14:04:39.123 INFO     handlers] Consensus engine registered: PoET 0.1 (additional protocols: [name: "poet"
version: "0.1"                                                                                                                    
])                                                                                                                                
[2020-12-02 14:04:39.137 INFO     proxy] Consensus engine activated: PoET 0.1

Here is my REST-API-0 logs.

[2020-12-02 14:04:36.477 INFO     rest_api] Adding metrics reporter: url=http://192.168.29.153:8086, db=metrics
[2020-12-02 14:04:36.600 INFO     messaging] Connecting to tcp://validator-0:4004
[2020-12-02 14:04:36.613 INFO     rest_api] Creating handlers for validator at tcp://validator-0:4004
[2020-12-02 14:04:36.823 INFO     rest_api] Starting REST API on rest-api-0:8008
[2020-12-02 14:04:40.635 INFO     helpers] GET /batch_statuses?id=c965b70251bdb8005547812ae8655ebd43421e30b57602eb550f08cf119ba8c002084e89449c8130c94de8865a58eec2e7741e839168c570f9fb4a55659ed8be HTTP/1.1: 200 status, 594 size, in 0.018432 s                                                                                                                                                                                          
[2020-12-02 14:05:55.055 INFO     helpers] OPTIONS /batches HTTP/1.1: 405 status, 231 size, in 0.000543 s
[2020-12-02 14:05:55.107 INFO     helpers] POST /batches HTTP/1.1: 202 status, 367 size, in 0.020589 s
[2020-12-02 14:06:00.151 INFO     helpers] GET /batch_statuses?id=05a44cae97e4356a104133391d1cb09c92c5c870dc50712738430107b505beec6baee39a0e2efabbc3d6dac2fea2b83c3edbcfce58ee2467e60555d81f0e8a09 HTTP/1.1: 200 status, 594 size, in 0.003084 s                                                                                                                                                                                          
[2020-12-02 14:06:05.166 INFO     helpers] GET /batch_statuses?id=05a44cae97e4356a104133391d1cb09c92c5c870dc50712738430107b505beec6baee39a0e2efabbc3d6dac2fea2b83c3edbcfce58ee2467e60555d81f0e8a09 HTTP/1.1: 200 status, 594 size, in 0.003312 s

Here are Custom transaction processor's logs.

Initializing EMS handler for Evidence Management System
Connected to tcp://validator-0:4004
Registration of [evidence_management_system 0.0] succeeded
Received Ping
Received Ping

Edit - 1

Here is PoET-Engine-0 logs:

Writing key state for PoET public key: 027cb2ab...e715c7dc
Generating /poet-shared/poet.batch
0

There are 0 answers