Weekly Dev Update #52

Hey Y’all,

Today’s our 52nd Dev Update, which means we have been doing them for a year now !!!!

This week a lot more work happened in Loki Core in preparation for some of the interactions that will need to happen between lokid and the Loki Storage Server. We also continued work on the Loki Messenger and the Loki Storage Server to support the Loki Messenger Alpha, which sends messages on clearnet instead of through Lokinet.

Additionally, our iOS wallet was released through Testflight for public testing: https://testflight.apple.com/join/GTzgsBwC If you want to test it, please only use small amounts of Loki – and let us know how you go, we’d love some feedback! We‘re now in the final stages before we submit it to Apple for general release.

Loki Core


Loki Launcher

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 this week with Loki Launcher:

Lots of change here. We’re getting ready to do an initial release so we can get a production version into the hands of Service Node operators before making it the default for Hefty Heimdall 4.0. After some additional research into installation/packaging options, we have come up with a new easier-to-use command line interface and have removed the need for a configuration file. We also added a bunch of features, such as a check, to make sure your server meets the requirements of being a Service Node, and to simplify software updates.

Changelog:

  • Implement SNBench, a Service Node prequalification tool that has been internally discussed for a bit:
  • Change default of requiring Lokinet (network) and Storage Server to not required
  • Lokinet.js allow disabling of rpc, count how many restarts, fix log path, allow disabling profiling/nat
  • Set up npm
  • Refactor most of the existing index.js into start.js
  • Create new user facing CLI to improve ux
  • Convert daemon.js to use new CLI ux
  • Deployed a central testing server and make SNBench use it
  • Make SNBench use portable df to measure disk space
  • Add CLI script as bin to npm
  • If storage is enabled but network is off, use clearnet mode for storage server
  • Include user-agent for httpGet to make Github API requests work
  • Refactor process management library locations
  • Bind Storage Server without Lokinet to default outgoing interface (NAT support)
  • Add download-binaries scripts to automatically get the latest Lokid binary
  • Update README.md documentation
  • Run loki-launcher in any directory fixes
  • Remove default launcher.ini
  • Internalise default launcher config
  • Change paths and order in which it looks for config files (. then /etc)
  • Add status mode to loki-launcher CLI ux
  • Publish npm to non-org
  • Implement prefix_path and var_path to help drive defaults and easier configuration
  • Add check-systemd migrator mode
  • Make sure lib.js handles pid files
  • Add “stop” mode to loki-launcher CLI ux
  • Update docker file for automated testing
  • Set up Travis CI

Github Pulse: Excluding merges, 2 authors have pushed 71 commits to master and 71 commits to all branches. On master, 18 files have changed and there have been 1,742 additions and 937 deletions.


Lokinet

If you’re on our Discord you might catch Jeff or Ryan, the developers of LLARP, live streaming as they code: https://www.twitch.tv/uguu25519, https://www.twitch.tv/neuroscr.

What’s going on this week with Lokinet:

Lokinet reliability continues to be our focus. Jeff attempted to check libuv against our current event loop to see if we have any potential issues in our event loop layer. Tom has been working with Jeff to implement new helpful protocol errors and speed ups which led to the discovery of a major flaw in HasSessionTo. Michael has continued to improve the metrics system, so we can use existing tools to help debug what’s going across multiple routers. We have decided against a 0.4.4 release while we continue to improve things.

Changelog:

Pull Requests:


Loki Wallets

Loki iOS Wallet

Last week we released the Testflight version of the Loki Wallet for public testing so we could gather feedback on any issues users were experiencing. We are on track for the wider release this week, pending Apple’s approval of our final build.

Loki Electron GUI Wallet

A new Loki Electron GUI Wallet release is coming up soon, which will include a number of quality-of-life changes and a Portuguese translation.


Loki Messenger Desktop

Storage Server

Messenger Mobile (iOS and Android)


Thanks,  

Kee