VDF
A guide to running a VDF Server.
Last updated
Was this helpful?
A guide to running a VDF Server.
Last updated
Was this helpful?
The VDF (Verifiable Delay Function) controls the speed of mining with new mining "seeds" available at roughly 1 second intervals. To keep up with the network your CPU must be able to maintain this 1 second cadence while calculating the VDF. For that the CPU needs to support . Additional cores will not improve VDF performance as VDF hash calculations are sequential and therefore limited to a single thread on a single core.
The node will report its VDF performance on startup, warning you if it is too low. You can also run ./bin/benchmark-vdf
to print your system's VDF performance.
The network VDF difficulty adjusts daily to target an average VDF time of 1 second across all mined blocks. For ease of comparison the VDF performance printed on startup and from the ./bin/benchmark-vdf
assumes a fixed difficulty of 600,000
. You can expect your actual VDF performance when connected to the network to be lower than the benchmark.
For context the current VDF difficulty is 685,976
(May 2024, block height 1417119). So with a benchmark VDF of 1 second you can expect a network performance of 1.14 seconds (1 second * (685,976 / 600,000)
).
Since VDF is so important to mining performance you may have another machine compute VDF for you. For instance, you may set up a dedicated VDF node broadcasting VDF outputs to all your mining nodes.
Running a node fetching VDF states from a peer (aka a "VDF client"):
Running a node pushing its VDF outputs to other peers (aka a "VDF server"):
Make sure to specify [IP-ADDRESS]:[PORT] if your node is configured to listen on a TCP port other than 1984.
In all cases IP-ADDRESS
can also be a resolvable domain name.
Do not connect to an external peer you do not trust.
For an example invocation see .