Weekly Dev Update #59
This week we’ve mostly worked on bugs that were affecting Service Node operators as they transitioned from lokid 3.0.X to the 4.0.3 suite of Loki Service Node tools. We published a new release for the Loki Storage Server and Launcher, and we have also made good progress on transitioning Loki Messenger to the mainnet so it can take advantage of the ~550 Loki Storage Servers.
Reject new votes that can be slipped through the syncing phase at startup:
Improve syncing times by storing historical Service Node list every 10,000 blocks:
Don’t query the blockchain for hardfork (causes major slowdown in upgrade):
Improve duplicated non-standard tx check error messages:
Fix ranged quorum query:
Fix off by 1 when checking state_t heights causing sync failure:
Fix off by1 on blockchain detach:
If you’re on our Discord you can catch Jeff, the lead developer of LLARP, live streaming as he codes at https://www.twitch.tv/uguu25519. He typically streams on Tuesday mornings, 9am – 12pm Eastern (US) time.
What’s going on this week with Lokinet:
All of the pull requests for the next version are either merged, or reviewed and to be merged in the next day or so. We are spinning up a distributed “toy” network to test the stability and functionality of the codebase in anticipation of a public release sometime in the next week or two (testing dependent). We also have internally-working debian packages for various recent Debian and Ubuntu versions to allow easy installation of Lokinet on those systems, and plan to release these with the public release.
Refactor router code to allow protocol improvements, most notably propagating path building successes/failures. This was a huge PR, making significant code improvements and fixes:
(plus some small followup changes and fixes in PRs #730, #731, #733).
Fix Android compilation:
More Spanish docs translation (and a promise for more to come!) from @rjmalagon:
Debian packaging code updated and refactored to support Debian 9, 10 and Ubuntu 18.04, 19.04 releases (no PR).
New/updated Pull Requests:
Add link-relay status messages: this uses the refactored router code (see above) to allow signalling of where a Lokinet connection fails along the connection path:
Add link layer delivery feedback: extends the above with additional information:
Run main in its own thread and set its process name:
Windows build for travis-ci:
Fixes for Lokinet on Windows:
Loki Messenger Desktop
Add startup disclaimer for Beta versions of Loki Messenger:
Loki Messenger updates feed:
Link preview fix:
Fill out unregister channel stub, trigger unregister channel on conversation deletion:
Group name display:
Add public badge:
Merge Basis for Cleartext group messaging:
Invalid port detection:
Only use IPv4 results for http, and use url for seed nodes:
Add function names for log messages:
Only receive stats from active Service Nodes:
Ignore swapfiles and reject localhost binding:
Send storage server version number on get_stats:
Fix PoW parsing, add some failure debugging:
What’s going on this week with Loki Launcher:
With the launch of the Hefty Heimdall hardfork, the Loki Storage Server is now active. This week, after tracking down a number of bug reports submitted in Telegram and Discord about unexpected crashes, we found the suspect behaviour and put in a work around into the 1.0.0 release of the launcher. We also added a couple of fixes as a few new eyes were on the code, and improved its accuracy of status and startup.
Fix Storage Server pipe that would lock up Storage Server
Fix Storage Server stderr handler typo
SIGHUP guard fix
Double check running pid
Use SIGTERM instead of SIGINT to stop processes
Handle socket write errors better
Test socket for connectivity in status
Clear stale pid and socket files
Move uncaught exception log into var_path
Make sure Storage Server is running before startup is successful
Change version for git checkouts to be the last committed revision
Loki Blocks Onion Explorer
The Loki Block Explorer has been expanded to show a number of new things including checkpoints and their votes, and decommissioned or inactive nodes.
Add emojis to represent different types of transactions:
Show pending mempool transactions which contribute to awaiting Service Nodes:
Loki Messenger on Mobile (iOS and Android)
We are very close to an Android release of Loki Messenger, and are now testing it internally in the office.
Work on Loki Messenger for Android can be found in these repositories:
Work on Loki Messenger for iOS can be found here: