Transaction always times out in a private network (trying first time)

Hi,

We were trying to setup a private network following Create A Private Instance of Algorand In A Testbed | Algorand Developer Portal using physical linux machines instead of VMs. We are able to create and start relay and non-relay nodes, a few accounts, checked that genesis hash matches in all nodes.

When we start transferring some algos from one account to another using java programme (from algoran site with initial issues resolved like setting port no, using more than 100000 algo etc ), the transaction is timing out (java.net.SocketTimeoutException: timeout). We see the log in the sending node:
{…(*AlgorandFullNode).broadcastSignedTxGroup",“level”:“info”,“line”:521,“msg”:“Sent signed tx group with IDs [AP7DRRFWW43YJ6ULO3BRNIANEVUVOHM2WKUFQWGNKTYWO6QUDHEQ]”,“name”:“”,“time”:“2022-08-06T16:17:37.824929+05:30”}

We see that in the node.log of participating (2 nodes) and relay (1 node) node, there are messages from each other. Most of the messages are showing catchup messages like:
{…catchup.(*Service).fetchAndWrite",“level”:“info”,“line”:261,“msg”:“fetchAndWrite(53442): Aborted while waiting for lookback block to ledger after failing once : wsFetcherClient(relay-switzerland1-testnet-algorand.algorand-testnet.network:80).requestBlock(53442): Request failed: peer closing 104.18.100.237:80”,“name”:“”,“time”:“2022-08-03T17:08:12.352340+05:30”}

Could anyone please help on the timeout issue?

Best Regards
Champak

1 Like

Hey there,
can you look through your node.log for information somewhat like Incoming connection detail from IP xxxx? You can force those messages by stopping and restarting participation nodes on the network and looking inside the Relaynode logs.
In addition, are config.json correctly configured? They should differ in relay and participation node.
If you do goal node status in all the nodes the ledger (last committed round) should progress on all the nodes.

1 Like

Hey! Was wondering if there was any update on this thread. I’m having similar problems as detailed in the original post.

My setup: I have a network of three physical linux machines - one of which is the relay and two of which are the participant nodes - and I used the same guide to set them up. I have tested the relay node based on this post, and it passes all the of the checks there. In the node.log for the relay node it says it is connecting my participating machines, and when I check goal node status, it does make progress with them as they commit blocks (which I presume are empty?) each round. I am also compiling the Algorand algod program locally from the go-algorand github repo. I am making some changes to the go-algorand codebase so I need to be able to download the code and compile locally. As for the transactions I am submitting, I have a simple Javascript wallet using the JS AlgorandSDK which is sending transactions to one of the Algorand nodes (the wallet and the node run on the same machine). I can see the transactions become PendingTxns on that local Algorand node, but they are never committed to the network (My waitForConfirmation function in javascript always fails as evidence of this).

Is there a way to remedy this situation? I’m a bit at a loss of what to try next. Note that I have tried this setup with the most recent stable go-algorand release so it’s not my edited code getting in the way. Let me know if y’all need any more details!

Welcome to Algorand!

Have you first tried to run the released version?
If this works, you have an issue with the version you’re compiling. Maybe you’re not on the “stable” branch.

If this does not work, have you tried running sandbox?

You can see the template for private network there:

If this works, can you check the differences between your setup and sandbox?

You may also try to ask on Discord:

1 Like