Weekly Dev Update #59
Hey Y’all,
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.
Loki CoreReject new votes that can be slipped through the syncing phase at startup:
https://github.com/loki-project/loki/pull/768Improve syncing times by storing historical Service Node list every 10,000 blocks:
https://github.com/loki-project/loki/pull/761Don’t query the blockchain for hardfork (causes major slowdown in upgrade):
https://github.com/loki-project/loki/pull/764Improve duplicated non-standard tx check error messages:
https://github.com/loki-project/loki/pull/763Fix ranged quorum query:
https://github.com/loki-project/loki/pull/762Fix off by 1 when checking state_t heights causing sync failure:
https://github.com/loki-project/loki/pull/759Fix off by1 on blockchain detach:
https://github.com/loki-project/loki/pull/758LokinetIf 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.
Changelog: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/729More Spanish docs translation (and a promise for more to come!) from @rjmalagon:
https://github.com/loki-project/loki-network/pull/725Debian 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/732Add link layer delivery feedback: extends the above with additional information:
https://github.com/loki-project/loki-network/pull/737Run main in its own thread and set its process name:
https://github.com/loki-project/loki-network/pull/734Windows build for travis-ci:
https://github.com/loki-project/loki-network/pull/726Fixes for Lokinet on Windows:
https://github.com/loki-project/loki-network/pull/715Loki Messenger Desktop Add startup disclaimer for Beta versions of Loki Messenger:
https://github.com/loki-project/loki-messenger/pull/365Loki Messenger updates feed:
https://github.com/loki-project/loki-messenger/pull/360Link preview fix:
https://github.com/loki-project/loki-messenger/pull/362Fill out unregister channel stub, trigger unregister channel on conversation deletion:
https://github.com/loki-project/loki-messenger/pull/361Group name display:
https://github.com/loki-project/loki-messenger/pull/359Add public badge:
https://github.com/loki-project/loki-messenger/pull/358Merge Basis for Cleartext group messaging:
https://github.com/loki-project/loki-messenger/pull/356Storage ServerInvalid port detection:
https://github.com/loki-project/loki-storage-server/pull/250Only use IPv4 results for http, and use url for seed nodes:
https://github.com/loki-project/loki-storage-server/pull/249Add function names for log messages:
https://github.com/loki-project/loki-storage-server/pull/248Only receive stats from active Service Nodes:
https://github.com/loki-project/loki-storage-server/pull/247Ignore 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/245Fix PoW parsing, add some failure debugging:
https://github.com/loki-project/loki-storage-server/pull/240Loki LauncherWhat’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.
Changelog: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/4Show pending mempool transactions which contribute to awaiting Service Nodes:
https://github.com/loki-project/loki-onion-blockchain-explorer/pull/3Loki 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.
Thanks,
Kee