Add ping function to test connectivity, detect send buffer attacks, and sync time.
Report a client's own IP back to it.
Add a status field to transactions (optional, used for consensus building)
Update contact field:
Contact records are signed so you can't lie about other nodes
Contact record can contain multiple addresses (say, one IPv4 and one IPv6)
Contact record is timestamped, so you can't provide an obsolete one
Nodes can extend their contact record with an URL, organization name, or policy
Add a command to request contact information.
Allow nodes to locate nodes in their static trust list if they wish.
Changes include:
Passing objects through ... is a no no.
Don't include windows.h on non-Windows
_vsnprintf doesn't exist on non-Windows
A map's first type is const, so a lot of code had to be changed from 'uint160&' to 'const uint160&'
itoa not available on non-Windows
Fix macro silliness when a parameter to a macro contains a comma.
<: is a digraph, so don't use "...shared_ptr<::google::..."
Must match filename case
Add const-correct 'escape' function to SqliteDatabase
Add const-correct 'begin' function to uint160