Weekly Dev Update #51
This week we finished up with our Loki iOS wallet! We hope to have a release out this week, pending approval from the Apple Store.
We also began work on a version of Loki Messenger that does not use Lokinet. This means we will be able to release it much sooner, and test out the various user experience quirks.
Remove unused txs member in NOTIFY_RESPONSE_GET_OBJECT :
Service Node Checkpointing Basic Syncing:
Remove non-fluffy blockchain syncing path:
Unify and move responsibility of voting to quorum_cop :
Create Service Node IP address list:
Add fixes for iOS to master:
Restore old style hashing for non-standard TX’s so hashes match:
The Loki Launcher is a node js package that will allow for the independent management of all the components required to run a full Service Node. This includes managing Lokinet, lokid and the Loki Storage Server. When Loki Service Nodes begin to route data and store messages for Lokinet and Loki Messenger, the Loki Launcher will need to be run on every single Service Node.
Right now the Launcher is in a testing phase, so you should only use it on Testnet and Stagenet – though feedback/issues and pull requests would be greatly appreciated!
What’s going on here this week:
Right now, we’re proposing a new utility called SNBench to help with automated Lokinet testing to help measure reliability. Minor bug fixes and improvements are being made as issues are found.
Last week’s change that missed the Dev Update deadline:
Daemon.js bug fix in edge case.
Only make data_dir/nodedb in lokinet if defined in configuration.
This week’s changes:
Lokinet.js: data_dir configuration item now drives ident_privkey and contact_file configuration options.
Lokinet.js: make sure we use two different public IPv4 services (never the same) to make sure we got an accurate answer.
Lokinet.js: lokid configuration is now optional for routers (so we can do advanced testing).
Lokinet.js: move NAT back to router only.
Lokinet.js: connect section support (for advanced testing).
Lokinet.js: include nickname into config temporary path to identity which process is which in the process list.
What’s going on here this week:
We continue to refactor and document Lokinet. We improved our automated testing, so we’ll know more quickly if a PR has a build problem (a long wanted item). Several attempts at reliability improvements. We also attempted an 0.4.4 release, but the continued reliability discovery has delayed this.
Fix minor python warnings in testnet script:
OSX Packaging updates
Replace dict_reader/list_reader with version doesn’t involve indirection:
Gut alloc.hpp, more documentation, add ip address support in bind section:
Fix inner protocol sequencing, more documentation updates, network isolation update, logic shared_ptr change :
Fix thread safety issue in service::Endpoint::ProcessDataMessage by adding lock:
Double path build timeout from 15s to 30s, don’t count timed-out paths when checking to see if we have a path, try shifting paths without rebuild, pick newer intro not on same router:
Remove all use of IBEncodeMessage :
Provide a RAII manager of the current Crypto instance:
Fix crypto build (from PR625):
Add Travis CI support to the repo:
Initial no-op crypto implementation:
Documentation updates, close link layer sessions on timeout, set default path lifetime in path builds, change priority of link layer when sending, remove ips from rpc call, always close utp socket on close:
Style formatting and travis test:
Debian stable compile fix:
Set UTP_SOCKET_BUCKETS back to 79:
Loki iOS Wallet
iOS Wallet may be released this week (pending Apple Store approval). You can see our up-to-date work now in master here:
Loki Electron GUI Wallet
Fix minor issues, (transaction decimal places and keyboard support for buttons):
Loki Messenger Desktop
Add centrally enforceable PoW client-side:
Refactor sendmessage, make sendmessage work with new PoW requirements:
Convert profile field in DataMessage to use LokiProfile:
channel encryption via HTTPS for Loki Storage Server:
Add centrally enforceable PoW for testing:
Fix static member:
Messenger Mobile (iOS and Android)
Android Messenger work can be found in these repositories:
iOS Messenger work can be found here: