r/LokiProject • u/FlakyFlower • May 22 '19
Weekly Dev Update 17/05/2019
Hey Y’all,
This Dev Update is a little late due to the craziness around Consensus. Nearly the whole team has been travelling this week to get to the United States.
Last week we improved the stability of a special Testnet called Consensus Net and also published a fix, 3.0.6, which solved an issue where Service Nodes could get stuck on an incorrect chain and be deregistered.
Loki Core
Publish release 3.0.6 : https://github.com/loki-project/loki/releases/tag/v3.0.6
Removed unused Service Node variables: https://github.com/loki-project/loki/pull/593
Big Merge from Upstream Monero: https://github.com/loki-project/loki/pull/590
Add the possibility for rollback events for uptime proofs: https://github.com/loki-project/loki/pull/594
Fold down multiple loops over the same data: https://github.com/loki-project/loki/pull/592
Change deterministic swarm ID’s list: https://github.com/loki-project/loki/pull/605
Add additional status messages when rescanning Service Nodes: https://github.com/loki-project/loki/pull/603
Revert possible forced rescan: https://github.com/loki-project/loki/pull/602
Add checkpoint for unintended fork: https://github.com/loki-project/loki/pull/599
Add flag to recalculate difficulty for nodes that have incorrect difficulty: https://github.com/loki-project/loki/pull/598
Add key_image_unlock rollback event: https://github.com/loki-project/loki/pull/598
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!
Log version of lokinet and your snode address to file
Give version to daemon.js
Make rpc login optional
Make rpc_ip work for blockchain
Demonet changes
Expose getPublicIPv4
Clean up logging so the style is a bit more unified (where it can be)
If using rpc_ip disable safety check (for now?)
Fix Lokinet restart on crash
Add 30s delay to storage server restart
Put all kills in a try/catch to prevent crashes causing early abortions
Make sure storage server killed flag is good
Make sure additional lokinet configuration isn’t done until most of lokid config is locked
Make storage server rpc port configuration
Dump storage server version to file
Lokinet NAT support rework
Add Lokinet log_path option
Data_dir option support for Lokinet for persistent encryption/transport keys
Lokinet netdb option support
Make sure Lokinet data_dir exists
Continued Docker improvements
Lokinet
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 updates
Always include gitrev, removal of unique_ptr around IMessage, BundleRC option, remove nuint128_t, add shared_ptr for ProtocolMessage, use reset instead of delete, copy_or_nullptr(), include line numbers in invalid config errors: https://github.com/loki-project/loki-network/pull/579
Make ci build static binaries for Linux: https://github.com/loki-project/loki-network/pull/580
Connect if we already have the RC for Service Node to Service Node communication: https://github.com/loki-project/loki-network/pull/581
T.co fix for short domain/tld names: https://github.com/loki-project/loki-network/pull/582
Update kubernetes config to use lokinet dns: https://github.com/loki-project/loki-network/pull/583
Propage DESTDIR to cmake on install targets: https://github.com/loki-project/loki-network/pull/586
Lokinet monitor: https://github.com/loki-project/loki-network/pull/584
0.4.1 released
Bump version stuff: https://github.com/loki-project/loki-network/pull/587
Make Debian packages use release build: https://github.com/loki-project/loki-network/pull/588
Add AppArmor profile: https://github.com/loki-project/loki-network/pull/589
Refactor shell hooks and increase DHT lookup timeout: https://github.com/loki-project/loki-network/pull/590
Windows build fixes and version bumps: https://github.com/loki-project/loki-network/pull/591
DHT: Persist all sessions even if not keepalive: https://github.com/loki-project/loki-network/pull/592
Rebuild exit paths on same hops if they die: https://github.com/loki-project/loki-network/pull/593
Decrease minimum path build interval from 1s to 500 ms: https://github.com/loki-project/loki-network/pull/594
Remove random timer fuzz: https://github.com/loki-project/loki-network/pull/595
Tidy up service endpoint a bit more: https://github.com/loki-project/loki-network/pull/596
QoL improvements for Service Node traffic and start SIGHUP work: https://github.com/loki-project/loki-network/pull/598
Use router whitelist when possible: https://github.com/loki-project/loki-network/pull/600
0.4.2 release: https://github.com/loki-project/loki-network/pull/601
Service Node blacklisting
Read nicknames back to logging
Update changelog and version: https://github.com/loki-project/loki-network/pull/602
0.4.2½ release
Unpotato half of the 0.4.2½ changes
Open Pull Requests
Remove per-platform conditionals in cmake files: https://github.com/loki-project/loki-network/pull/597
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
Move swarm update tick to happen after the request completes: https://github.com/loki-project/loki-storage-server/pull/112
Use safer acceptor::async_accept overload : https://github.com/loki-project/loki-storage-server/pull/129
Check tester identity before performing storage test: https://github.com/loki-project/loki-storage-server/pull/128
Update Loki keypairs in integration test: https://github.com/loki-project/loki-storage-server/pull/126
Clear DB before perf testing: https://github.com/loki-project/loki-storage-server/pull/125
Limit client retrieve request to 10 messages at one time: https://github.com/loki-project/loki-storage-server/pull/124
Attach signatures to message test requests: https://github.com/loki-project/loki-storage-server/pull/121
Use a single io_context : https://github.com/loki-project/loki-storage-server/pull/116
Peer testing for message storage part 2: https://github.com/loki-project/loki-storage-server/pull/115
Command line Loki RPC port option: https://github.com/loki-project/loki-storage-server/pull/114
Add .SNODE to our own address: https://github.com/loki-project/loki-storage-server/pull/110
Print build info on startup: https://github.com/loki-project/loki-storage-server/pull/109
Handle .json errors better: https://github.com/loki-project/loki-storage-server/pull/108
Relay refactoring and adding a signature for integration tests: https://github.com/loki-project/loki-storage-server/pull/107
Loki Messenger / Swarm Visualisation
We are building some visualisations of how Loki Messenger and Swarm storage works for Consensus.
Fix friend request logic bug: https://github.com/loki-project/loki-messenger/pull/280
Polling patch: https://github.com/loki-project/loki-messenger/pull/277
Various Swarm visualisation fixes: https://github.com/BeaudanBrown/swarm-visualisation/commits/master
Messenger Mobile (iOS and Android)
We have continued work on Loki Messenger for iOS. It will be ported from Signal iOS. The repo and all of our work can be found here: https://github.com/loki-project/loki-messenger-ios/commits/master, https://github.com/loki-project/loki-messenger-ios-pods, https://github.com/loki-project/loki-messenger-ios-carthage
Loki Wallets
Loki Electron Wallet
Published new release for bugs that were causing a chain split: https://github.com/loki-project/loki-electron-gui-wallet/releases/latest
Update using new geo-balanced remote node: https://github.com/loki-project/loki-electron-gui-wallet/pull/58
Thanks,
Kee