I'm reading the address management of Bitcoin core implementation. There is one thing I couldn't understand is in which condition an IP address in the new table of a node is overwritten?

In particular, when the node hears about a new peer, it adds that IP address into a slot in the new table, if that slot is occupied, it checks if the existing isTerrible: https://github.com/bitcoin/bitcoin/blob/master/src/addrman.cpp#L309

if (infoExisting.IsTerrible() || (infoExisting.nRefCount > 1 && pinfo->nRefCount == 0))

What is nRefCount? What is the idea behind this check?

1 Answer 1


nRefCount indicates the number of slots in the new table that is occupied by the same IP address.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.