Solution for block body not found in solo-scripts

Some community members faced situation like
message: "Error occurred while processing the block BlockID::Hash(0xxxxxxxx): block not found.", data none

It’s a Substrate issue and We are working on a solution to this problem.

So far, here is a short time solution to overcome this issue.

Here is the steps:

  1. sudo docker container kill phala-pherry to kill the phala-pherry
  2. docker container prune and the enter y to remove the stopped phala-pherry
  3. Save the following code content as a file named docker-compose.yml
  4. Use sudo docker-compose up -d to start the docker-compose you created above
  5. let this pherry run several minutes, check its log and make sure it passed the failed block height
  6. sudo docker container kill phala-pherry again
  7. sudo phala start to restart the pherry in solo-scripts check if it works well and pssed the block height. If not, try the steps above again and wait more time before you kill the new pherry

Code content of the docker-compose.yml mentioned above:

  • For full mode
version: "3"
services:
 phala-pherry:
   image: phalanetwork/phala-pherry:latest
   container_name: phala-pherry
   hostname: phala-pherry
   restart: always
   entrypoint:
    [
      "/root/pherry",
      "-r",
      "--parachain",
      "--mnemonic=${MNEMONIC}",
      "--substrate-ws-endpoint=ws://51.210.116.29:8845",
      "--collator-ws-endpoint=ws://51.210.116.29:8844",
      "--pruntime-endpoint=http://${MINER_IP}:8000",
      "--operator=${OPERATOR}",
      "--fetch-blocks=512",
      "--auto-restart"
    ]

When you use this docker-compose, please replace the ${xx} function with the corresponding content, for example:
--pruntime-endpoint=http://${MINER_IP}:8000 to --pruntime-endpoint=http://127.0.0.1:8000

If you receive the report like bridge() exited with error: failed to build ws transport, please check your network, and you can open this page to test your network “Polkadot/Substrate Portal”.

2 Likes

I suggest to create a new folder to do the operation detailed in the post above, because in solo-mining, you cant edit the docker-compose.yml
so, between step 2 and 3 : create a new folder named tmp-docker-compose and cd into it

It’s seems that the provided WS connection is not working any longer :
getting: Invalid URL: No port number in URL (default port is not supported) yesterday I was getting: 429 Too Many Requests

I’ve tried onFidelity too (wss://khala.api.onfinality.io/public-ws), but with no success…

How to find a no-problem node with this port opened in order to fix bad blocks ?
Thanks !

it seems that WS node is still running but got connection time out.
Instead use:
substrate-ws-endpoint=ws://61.164.115.165:9945 collator-ws-endpoint=ws://61.164.115.165:9944

Now it works again.
It is not a node that is always on (to prevent someone from maliciously continuing to connect), so it will be closed for a period of time from time to time. Leave me a message when you encounter problems that need to be solved, or ping me in the discord #miner channel, I will re-open the node in time.

2 Likes