Block publishing is suspended until new chain head arrives

Hello community, I’m a newbie and just set up my computer to start mining. However, I’m stuck with this “Block publishing is suspended until new chain head arrives” error when I try to run the server. Another thing I noticed is if I try to open the validator bash shell by running the command

docker exec -it sawtooth-validator-default bash

It returns the following response:
Error response from daemon: Container b5…xxx is not running

The same message returned when I run the command to get a miner key (I don’t need a miner key since I was able to generate it on the first try)
docker exec sawtooth-validator-default cat /etc/sawtooth/keys/validator.priv

I’m not sure why the container stopped running, but I made several changes and reverted while troubleshooting. I followed the manual multiple times. Any insight will be appreciated.

Hi, xcoinker,

I have never seen that error messages.
Did you import any snapshot successfully?
https://docs.creditcoin.org/updating-creditcoin-nodes#use-snapshot

You can find the latest snapshot in the following url.

1 Like

Thanks to your help, I was able to clear out that error by importing Snapshot, but now I run into the following error… time out waiting for validator response. Both Client and Server are running in Docker, and port forwarding rule has been added for port 8800 too. Could you shed some light?


Your server seems to be unable to receive peers’ messages.
If you are using WSL on windows, you should add an inbound rule to windows defender firewall on port 8800.
If your server is connected to any router, you should configure router’s port forwarding policy on port 8800.
I recommend you to check your router’s configuration on port forwarding, to where your server is connected.

Please find the following guide to configuration.
You can translate it to your mother language by chrome.

Thanks for your input again! I added an inbound rule for port 8800 and configured my router’s port forwarding rule for ports 8800, 4004, 55555, and 8008, followed by the Steemit article you’ve linked. Still no luck here. It’s a home laptop connected to a router.

However, it logged this few lines of stack trace this time even though the timeout message remains the same.

Invalid HTTP method-- It looks like the server received some response. Maybe it received HTTP data when expecting HTTPS data? Are you aware of any SSL/TLS configuration that needs to be set up for mining? I made some more attempts, but the http data error doesn’t always come up.

Also, I can successfully run the following command:
docker-compose -f docker-compose.yaml up -d

This is what I see when I run docker ps:

You don’t need to install/configure HTTPS.
No SSL/TLS for mining CTC. It is P2P communiation on TCP layer.
Binaries distributed as docker images don’t need to additional installation of 3rd parties, except for docker, docker-compose, etc.

OK. Here is my recommendation.

  1. Firstly, double check your configuration as following manual. You need to configure “Server/gatewayConfig.json”, “Server/docker-compose.yaml”, “Client/clientConfig.json”. Especially, Your IP in “Server/docker-compose.yaml” should be correctly substituted with your real IP. If not, your server will not communicated with other peers. Brackets enclosing your IP should be removed.
    Your real Public IP can be shown as following website.

https://www.whatismyip.com/

https://docs.creditcoin.org/creditcoin-miners-manual

  1. Secondly, update your binaries as following command.
$ cd <directory where server's docker-comose.yaml is located>
$ docker-compose -f docker-compose.yaml down
$ docker-compose -f ../Client/docker-compose.yaml down
$ docker-compose -f docker-compose.yaml pull
$ docker-compose -f ../Client/docker-compose.yaml pull 
$ docker-compose -f docker-compose.yaml up -d 
  1. Check your server’s computing power. Creditcoin’s consensus protocol is Proof-of-Work, which means that the most powerful wins. If your server couldn’t even synchronize in timely manner, don’t expect your server to mine.
2 Likes

Genius. I’m so sad to tell you that I’m still failing to resolve the validator response timeout error after double-checking my configurations. One thing I had to change was the IP address. I was using my private IPv4 address instead of the public IP address. Now I’m coming to a conclusion that my laptop lacks the computing power to fully synchronize before the session times out. Have you seen users CPU-mining CTC with their laptops? I greatly appreciate all of your help. At least I learned something!

How long have you waited?
If you are sure that you configured files correctly, how about you to just wait for 1 day with several restarting docker containers until reaching to peers?
There is big difference between mining and sync.
Maybe i3 laptop within 3 years will be enough to sync, in my thought.
FYI, CTC mining uses CPU, not GPU.

1 Like

Oh, so is it possible for my miner server to connect to peers even if it keeps throwing the 503 timeout error? I waited like 20 minutes lol The 503 error repeats itself in 5 min intervals. I also don’t have any other seeds added besides the default ones if that matters.

–seeds tcp://creditcoin-node.gluwa.com:8800
–seeds tcp://creditcoin-gateway.gluwa.com:8800

If connecting to peers with the 503 warning present is possible, I’ll try leaving my server running for a day and see what happens! Good to know that mining CTC uses CPU :slight_smile: Thanks sword. This is such a positive impression that the CTC community pool is very active and supportive.

Ahh… notorious 503…
You need to import the latest snapshot, which was mentioned my first reply.
Download it, and expand it to your server.

1 Like

Haha I know! I noticed a good amount of posts here are about the 503 error. I guess it is a separate error from the validator response being timed out? In the screenshot I’ve previously attached, there is this short line marking 503.

I actually did import the latest Snapshot as you mentioned and followed the manual. And my 503 error doesn’t have specific message but just the code by itself. Should I wipe everything and start over again… maybe…