forked from Qortal/qortal
Bumped version Controller no longer uses block height to determine whether to sync but now uses peer's latest block's timestamp and signature. Also BlockGenerator checks whether it's generating in isolation using the same peer info (latest block timestamp and signature). Added API call POST /admin/forcesync peer-address to help get wayward nodes back on track. Unified code around, and calling, Transaction.importAsUnconfirmed(). Tidied code around somelock.tryLock() to be more readable. Controller (post-sync) now broadcasts new chaintip info if our latest block's signature has changed, not simply the height. Network.broadcast() only sends out via outbound peer if node has more than one connection from the same peer. So Controller would only update one of the peer records with chaintip info. Controller now updates all connected peers with the ID when it receives a HEIGHT or HEIGHT_V2 message. Added node1 thru node7.mcfamily.io to default peers in Network. Network ignores first "listen port" entry when receiving peers list from an outbound-connection peer as it already knows by virtue of having connected to it! More network message debug logging (hopefully never to be seen). [some old code left in, but commented out, for a while]