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: https://github.com/loki-project/loki/pull/768
- Improve syncing times by storing historical Service Node list every 10,000 blocks: https://github.com/loki-project/loki/pull/761
- Don’t query the blockchain for hardfork (causes major slowdown in upgrade): https://github.com/loki-project/loki/pull/764
- Improve duplicated non-standard tx check error messages: https://github.com/loki-project/loki/pull/763
- Fix ranged quorum query: https://github.com/loki-project/loki/pull/762
- Fix off by 1 when checking state_t heights causing sync failure: https://github.com/loki-project/loki/pull/759
- Fix off by1 on blockchain detach: https://github.com/loki-project/loki/pull/758
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: https://github.com/loki-project/loki-network/pull/728 (plus some small followup changes and fixes in PRs #730, #731, #733).
- Fix Android compilation: https://github.com/loki-project/loki-network/pull/729
- More Spanish docs translation (and a promise for more to come!) from @rjmalagon: https://github.com/loki-project/loki-network/pull/725
- 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: https://github.com/loki-project/loki-network/pull/732
- Add link layer delivery feedback: extends the above with additional information: https://github.com/loki-project/loki-network/pull/737
- Run main in its own thread and set its process name: https://github.com/loki-project/loki-network/pull/734
- Windows build for travis-ci: https://github.com/loki-project/loki-network/pull/726
- Fixes for Lokinet on Windows: https://github.com/loki-project/loki-network/pull/715
Loki Messenger Desktop
- Add startup disclaimer for Beta versions of Loki Messenger: https://github.com/loki-project/loki-messenger/pull/365
- Loki Messenger updates feed: https://github.com/loki-project/loki-messenger/pull/360
- Link preview fix: https://github.com/loki-project/loki-messenger/pull/362
- Fill out unregister channel stub, trigger unregister channel on conversation deletion: https://github.com/loki-project/loki-messenger/pull/361
- Group name display: https://github.com/loki-project/loki-messenger/pull/359
- Add public badge: https://github.com/loki-project/loki-messenger/pull/358
- Merge Basis for Cleartext group messaging: https://github.com/loki-project/loki-messenger/pull/356
- Invalid port detection: https://github.com/loki-project/loki-storage-server/pull/250
- Only use IPv4 results for http, and use url for seed nodes: https://github.com/loki-project/loki-storage-server/pull/249
- Add function names for log messages: https://github.com/loki-project/loki-storage-server/pull/248
- Only receive stats from active Service Nodes: https://github.com/loki-project/loki-storage-server/pull/247
- Ignore swapfiles and reject localhost binding: https://github.com/loki-project/loki-storage-server/pull/246
- Send storage server version number on get_stats: https://github.com/loki-project/loki-storage-server/pull/245
- Fix PoW parsing, add some failure debugging: https://github.com/loki-project/loki-storage-server/pull/240
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: https://github.com/loki-project/loki-onion-blockchain-explorer/pull/4
- Show pending mempool transactions which contribute to awaiting Service Nodes: https://github.com/loki-project/loki-onion-blockchain-explorer/pull/3
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: https://github.com/loki-project/loki-messenger-android-core/commits/master, https://github.com/loki-project/loki-messenger-android/commits/master.
- Work on Loki Messenger for iOS can be found here: https://github.com/loki-project/loki-messenger-ios/commits/dev, https://github.com/loki-project/loki-messenger-ios-pods/commits/master.