, Weekly Dev Update #32

Weekly Dev Update #32

Hey Y’all,

Another week, another update here at Loki.

Loki Core

LLARP / Lokinet

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

We could really use your help. To be considered for inclusion in packaging distribution, we need people to star, watch and fork our Github repo. If you have a Github account, please consider helping us out.

  • Master branch changes
  • Fixed some typos in high-level documentation
  • Changes can be found at:
  • Staging branch changes
    • File reorganisation continues
    • Added more test for crypto/types
    • Attempt to fix LoadFromFile bug
    • Fix rare bad allocations by making sure we correctly insert into pendingEstablishedJobs before scheduling a on_try_connecting job
    • Add pidfile option
    • Openrc for FreeBSD
    • Changes can be found at:
  • PR suggested changes
    • 230 UX Improvements
      • Logging changes design to help during remotely supporting/debugging Lokinet problems
        • Kqueue fix: fix read stomping write data
        • Bring back ShouldCreateDefaultHiddenService(), allows you to turn off default so you can be pure HS
        • Jeff approved workaround to read Keyfile early so Name() can be correct during set up/configuration
        • Make error messages more descriptive
        • Always show what config file it’s using
        • Declare it’s attempting to create config file
        • Make llarp_ev_add_tun smarter (“” ifnames/ifaddrs are treated as auto)
        • Make kqueue more verbose about tun failures (esp helpful on macos)
        • Handle identity-privkey better
        • A fair amount of clang-formatting
    • 236 Add test suites for dht bucket, kademlia and key
    • 237 Separate header and implementation
      • Finally separated the windows event loop/listener implementation from the original headers
    • Changes can be found at https://github.com/loki-project/loki-network/pulls

Loki Messenger

Research work:

  • Created new repository for simulating different algorithms for the “arbitrary public key” to swarm id assignment, which will be performed by the Service Nodes. So far, the simulations have confirmed that compared to a 1-dimensional Euclidean distance, the Hamming distance offers the best uniformity in the amount of public keys assigned to swarms, but this comes with a larger amount of swarms affected when a swarm is added or deleted. Please note that this is a work in progress. (https://github.com/sachaaaaa/loki-swarm-pubkey-test)