recreated seeds by selecting peers across 20+ nodes that:
1. Keep up with updates, in this case run 1.14.3 or higher
2. Have NODE_NETWORK set
3. Are not known scanning clients
4. Are connectable
5. Are stable - I ordered nodes by time they have been connected to
one of my nodes
resulting set is 120 good nodes for mainnet and 20 good nodes for
testnet, serialized into chainparamsseeds.h using the contrib/
scripts.
Use CAmount rather than unsigned int for amounts for consistency
with other fee rate amounts.
This does change the type from unsigned int to unsigned int64, and
while it is unlikely anyone would need a dust limit higher than
unsigned int, again this ensures the theoretical maximum is in line
with other rates.
Fix a rare crash bug where no best chain can be activated, and therefore when trying
to find the height of the best chain via the last block triggers a null pointer dereference.
Moves the break in ActivateBestChain() when a node is being shut
down from the beginning of the loop block to the end, allowing
pindexNewTip to be populated with chainActive.Tip() rather than
its initial NULL value. Solves issues when shutting down nodes
while inside the ActivateBestChain loop.
Introduces a counter for getheader requests that have been sent to
a peer but are pending response, reducing the number of parallel
requests a node pushes out to its peers when needing to sync large
amounts of headers. All getheader requests are serialized during
initial sync, except when a non-connecting header is received,
allowing the node to resolve issues with peers sending faulty
blocks using the DoS mechanism, and when we get an inv for a block
that we do not know, because it's possible we're only connected to
legacy nodes that do not implement header announcement properly.
Fixed tabIndex and width in debugwindow.ui
Added Qt UI files for each dialog
Added Qt UI files
Added separate thread for peer dialogs to run RPC commands
Fixed tabIndex
Remove unneeded includes
Fixed error
Replaced RPCExecutor with g_connman
Replaced RPCExecutor with g_connman
Added two input fields for peer address and port
Remove peerThread
Validate IP addresses
Remove Peer now uses selected IP address in peerWidget
Interpret RPC response
Remove redundant include
Use a regular expression to validate IPs
Disconnect node if it has been discovered
Use port based on current chain
Change peerAddress -> peerPort
Allowed DNS names to be entered
Update src/qt/peerdialog.cpp
Co-authored-by: Ross Nicoll <rnicoll@rnicoll.name>
Fix typo
Co-authored-by: Ross Nicoll <rnicoll@rnicoll.name>
Use LookupHost to check address
Co-authored-by: Ross Nicoll <rnicoll@rnicoll.name>
Fix syntax typo