Author: Pieter Wuille 2012-03-31 12:28:28
Published on: 2012-03-31T12:28:28+00:00
Michael Grønager has suggested pushing libcoin to bitcoin in order to solve some of the problems listed. He has also offered to change the copyright/license if needed. However, it would not be possible to merge anything without a license change. Libcoin is designed with no global thread mutexes and there is no blocking of the main thread due to rpc methods except for a sendto. In addition, a reorganize only locks the main thread for a split second while the final commit is done. Despite liking its design and refactorings, Pieter is not entirely convinced about its thread-safety. He suggests making each publicly accessible method of BlockChain grab either a reader lock (if it's a const function) or an upgradable lock, and take a writer lock in each method that actually performs changes. The libcoin rpc supports keep_alive and pipelining, runs in its own thread but can also run in the same thread as the node, and uses async operation. Ipv6 is easy to implement in libcoin as the CAddress/Endpoint class is implemented as a subclass of boost::endpoint, only thing holding back is deciding on an ipv6 format on IRC. Lastly, Pieter would like to reverse the order of the last 12 bytes in the address db since they are opposite to boost.
Updated on: 2023-05-19T00:34:06.351613+00:00