Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Lokinet integration #936
This allows a `"if_block_not_equal": "hash"` parameter to be given to `get_n_service_nodes` which, if the given value matches the current top block hash, skips building and returning a reply. This is primarily aimed at lokinet which polls fairly frequenty for an update but where the vast majority of those polls contain no new information. It also removes the get_all_service_nodes_public_keys RPC request completely as lokinet was the only consumer of it (particularly unlikely that anyone else was using this because it was returning the keys base32z-encoded).
With the previous commit we no longer need this conversion (and lokinet is perfectly happy just getting hex encoded values instead).
Also adds unordered_set serialization support (not that we currently need it, but it's just two lines to support).
This simplifies lokinet as it doesn't need to worry about finding the private key files; sometime after the next fork we do the same simplification to loki-storage-server to use this RPC call as well. Aside from simplifying the external components, I also have an idea here of an advanced SN setup that hosts multiple lokid's on an internal, beefy dedicated server with good redundant storage and lots of memory, combined with multiple VPSes with lots of bandwidth for lokinet/loki-storage but not enough storage/memory capacity to host the blockchain, and not having to coordinate storage across machines makes this setup substantially easier.
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments.