Loki is becoming Oxen! Check out our announcement blog, or head over to oxen.io for a glimpse at the future of the Loki Project! Note: All posts, other information, and download links on loki.network are up-to-date and relevant. For any queries, you can find us on Telegram or contact us via email.
, Weekly Dev Update #49

Weekly Dev Update #49

Hey Y’all,

This week’s Dev Update will only be small since nearly the whole team has been travelling again, this time back to Australia from Consensus. Nevertheless, we have initiated a range of changes both in Lokinet and the Loki storage server

Additionally, we’re happy to have Jason (Jagerman) now working full-time with the Loki Foundation as a developer. I have been in communication with the Loki Foundation, and all parties have agreed that Jason will begin working on the implementation of Blink, which will allow for fully private CryptoNote transactions to be instantly confirmed.

Loki Core

Loki Launcher

The Loki Launcher is a node js package that will allow for the independent management of all the components 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!

  • Remove alpine and use debug Lokinet builds for Docker image
  • Track uptimes for each daemon
  • Allow custom commands from socket server
  • Pipe Lokinet output to socket server
  • Add line breaks to Lokinet version and Service Node files


If you’re lucky and join 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

  • Master branch updates
    • Only count router link is established
    • Connect to bootstrap nodes
    • Nodedb fixes, error out if bootstrap node isn’t added
    • Don’t purge bootstrap from nodedb
    • Copy RCs on async_verify
    • Don’t close all sessions when the commit to a router expires
    • Connect out to committed routers if we don’t have a session each tick
    • Don’t delete nodes that are not allowed to connect (because we may not have the whitelist yet)
    • Some null guards
    • Clarify router Attempt() return value
    • GetRandomGoodRouter DRY cleanup
    • Attempt() every time
    • Allow DHT explore if we only have one connection
    • Don’t resize frames
    • Convert pendingEstablishJobs from unique_ptr to shared_ptr
    • Threadpool tries jobs and if fail, make it wait 1ms before retrying
    • MSVC build fixes: https://github.com/loki-project/loki-network/pull/606
    • Remove message dropping when queue is full
    • Hard coded /16 on snapp-example.ini
    • Prefer newer intros
    • Windows: Move tun autoconfig from config parser to tun setup
    • Windows: UI packaging fixes
    • Remove tunnel build interval limit
    • Shift introductions
    • More explicit error when keyfile is not a valid file: https://github.com/loki-project/loki-network/pull/609
    • Fix ASAN build: https://github.com/loki-project/loki-network/pull/608
    • Convert more things to use thread::ThreadPool : https://github.com/loki-project/loki-network/pull/610
    • Apply rule of zero to code base: https://github.com/loki-project/loki-network/pull/611

Loki Messenger

The Loki Messenger client is in a mostly complete state. Right now the focus is being put on the message server and integration with Lokinet and lokid.

Storage Server

Messenger Mobile (iOS and Android)