How to make a private network

Dear all
I study Algorand recently, and I have some trouble in creating private network.

  1. I want to make a private network, which I can get the voting status of nodes and the time of block generation. What should I do?

  2. On the other hand, Where do I need to start mainly? If I want to configure the “genesis.json” by myself.

To start a private network for development, there are two solutions:

To create a production network, you first need to really understand the details of how the network work, read the documentation, and make many decisions:

  • decide whether to use DNS SRV records or other solutions for node discovery
  • decide how to prevent other people to see your network (use of a VPN for example)

What use case are you considering?

Thanks fabrice.
The purpose of making a private network is to understand the specific process of block consensus. I know that reaching consensus requires three “VRF”. Therefore I want to check “node.log” file to know which one is the primary block proposal, how many votes did each account vote for this proposal…However, I have some confusion about these.

  1. The “node.log” file has too many information and I cannot find the key information. Can you tell me the main process that the file contains or any other helpful information please ?
  2. I think that it is difficult for two nodes and three accounts to reflect the voting information of the accounts. Maybe should I modify " my_network_template.json".

A new tutorial may be of interest to you:
Create A Private Instance of Algorand In A Testbed

“…For example, this could be useful for researchers running stress tests on the Algorand network and measure metrics like scalability or resources utilization.”

Thank you very much. I plan to create a private instance and I have this problem:

“file”:“bootstrap.go”,“function”:“",“level”:“info”,“line”:43,“msg”:"ReadFromBootstrap: DNS LookupSRV failed when using system resolver: no signature in DNS response for”

This error is recorded in the relay node log, so my node can’t sync block. How can I fix this problem? Thanks for your help.

Can you try to disable DNSSec?
Flag DNSSecurityFlags in config.json. See Algorand Developer Docs

When creating a private network, the above message is expected ( unless you’ve provisioned DNS entries for your network. That’s not really required for private networks ).

Note that the above message is “info”. It’s not considered to be an error.

As long as you start the nodes use goal network start ..., it should provide it with the “linking” addresses by passing -p <address:port> when invoking the algod

Thanks fabrice. I am sorry to reply you lately.
I disable DNSSec and there are no above information.

Thanks tsachi. I am sorry to reply you lately.

I invoke the algod by passing -p “ipaddress:4161”, but when I use goal network start… it show the error:
Error loading deployed network: does not appear to be a valid network root directory:
The relay node log show the warning:
(*WebsocketNetwork).tryConnect",“level”:“warning”,“line”:1837,“msg”:“ws connect(ws:// fail: dial tcp: lookup on no such host”,“name”:“”,“time”:“2021-04-19T11:05:59.280111+08:00”}

What should I do to solve these problems? Thank you very much.


maybe I wasn’t clear. I didn’t intend for you to invoke the -p <> argument on your own. Running goal network start would do it on your behalf. i.e. you can see that when running ps -Af | grep algod.

Could you describe exactly how you created your own network ?
Does it also happen if you use one of the pre-configured networks ?

Oh, that’s how it is.
I create my own network by following this tutorial
In my network, there two non-relay nodes and one relay node
It cann’t sync node when I use one of the pre-configured networks. And when I run ps -Af | grep algod, it shows the following information:
meng 12508 1608 0 22:46 pts/1 00:00:00 /home/meng/node/algod -d /home/meng/node/testnetdata
meng 12517 3182 0 22:46 pts/1 00:00:00 grep --color=auto algod
So tsachi! what does it mean ? thanks for your help