Weekly Dev Update #55
Hey Y’all,
A big Dev Update this week – especially for Loki Core with lots of pull requests needing to be merged as we work towards a final release. Last week we released the Loki Core 4.0.0 Hefty Heimdall testnet binaries, and the Loki Storage Server 1.0.0 binaries. We also released a new version of the Loki Launcher to tie everything together.
We would love it if everyone could jump onto testnet and run some Service Nodes using the Loki Launcher in the next few weeks – you’ll be able to store messages for Loki Messenger for the first time! Bug reports are welcome! Please send them to their respective repositories on GitHub.
Loki Core
Add RandomXL mining algorithm:
Add target height field to get_n_service_nodes :
Non participation in Service Node Checkpointing causes deregistration:
Relaxed Service Node Deregistration rules:
Add penalty for Switching IP address:
Add `state height` to RPC:
Disallow recursive checkpoint reorganisation:
Performance fix for alt chains:
Fix Mining command output:
Remove some unused variable warnings:
Fix P2P bug on testnet that was causing uptime proofs to not be relayed:
Fix Segfault on exit with ban SN args:
Fix Mac build warnings:
Remove lines that were causing backwards compatibility issues:
Set miners to 0 to avoid verification delay in integration mode:
https://github.com/loki-project/loki/pull/685
Add GPG signing keys:
https://github.com/loki-project/loki/pull/684
Set minimum miner tx version to 4:
Improve diagnostics for failed tx sends:
Move miner.h to fix cn basic referencing core and core referencing basic:
Add a script for collecting the output from a docker build:
Cap difficult initially at 30MH for v12 hardfork:
Remove sn-public-ip and combine into –service-node :
Respond with OK message on Storage Server ping:
Add hardfork version to get_n_service_node call:
Merge Monero upstream changes:
Add Checkpoints, fork dates, version tags for Hefty Heimdall:
Tweak decommission credit rules:
Enable dummy payment IDs:
Increase transaction fees:
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.
The Launcher is currently in a testing phase, so you should only use it on testnet and stagenet – feedback/issues and pull requests would be greatly appreciated though!
What’s going on this week with Loki Launcher:
This week we got Loki Launcher ready to work for testnet binaries. This involved slightly adjusting the way Loki Launcher works, particularly how it downloads new Loki software.
Changelog:
Set default Storage Server port
PublicIPv4 option and auto-detection
Add 4.0 changes into testnet
Move clients.js and check-systemd.js into modes/
Move 3.0.6 migration into its own document
Add force-start support for pre-fork testing:
Update storage server parameter –sn-public-ip with –service-node-public-ip
Purge run_path
getStorageServerDataDir() to localize code to find it
waitForLokiKey() and make startLokinet stage check for it
Add waitForLokiKey status support
Migrate a large chunk of config work in start.js into config.js
Take arguments into config.js to have overrides better
Only configure enabled subsystems
Update storage server binary name from httpserver to loki-storage
Fix dedupe of nets
Make waitForKey cancellable
Handler numeric options better in the CLI parameter deduplication
Make launcherRecoveryMonitor respect subsystem enablement
Make status takes launcher CLI parameter into account
Adjust output/debug
Download-binaries on testnet now downloads the latest Storage Server and lokid releases
Fix missing ini library in config
Github Pulse: Excluding merges, 2 authors have pushed 38 commits to master and 38 commits to all branches. On master, 16 files have changed and there have been 607 additions and 367 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:
As part of our reliability work, we added more metrics and continued working on our path build failure messages, while cleaning up various things along the way. We also made sure the files Lokinet creates are of the correct permissions to avoid leaking any keys.
Changelog:
Tighten key permissions:
Fix FS stuff, explore network via every connected peer:
Fix FreeBSD build was missing stdc++fs :
Bring gitlab-ci in sync:
Remove cppbackport from vendor:
Add utp.session.open/close to metrics:
Track dropping of messages in metrics:
Pull Requests:
Refactor config system:
Loki Messenger Desktop
Allow for P2P messaging over clearnet:
Fix filtering code and lint:
Fix self broadcast which prevents errors on startup:
Update endpoint for storage server and p2p:
Storage Server
Send and verify the signature for SSL certificates for SNode to SNode communications:
https://github.com/loki-project/loki-storage-server/pull/180
Add rate limiter for client side including tests:
https://github.com/loki-project/loki-storage-server/pull/179
Macos compat dep script:
https://github.com/loki-project/loki-storage-server/pull/191
Travis CI fixes:
https://github.com/loki-project/loki-storage-server/pull/189
Use target_height field to determine if lokid is still syncing:
https://github.com/loki-project/loki-storage-server/pull/201
Improve command line arguments:
https://github.com/loki-project/loki-storage-server/pull/197
Don’t use the logger before it’s initialised:
https://github.com/loki-project/loki-storage-server/pull/195
Don’t send requests to 0.0.0.0 :
https://github.com/loki-project/loki-storage-server/pull/193
Print incorrect json in swarm traces:
https://github.com/loki-project/loki-storage-server/pull/190
Check response body returned from lokid:
https://github.com/loki-project/loki-storage-server/pull/188
Check hardfork versioning using get_n_service_nodes :
https://github.com/loki-project/loki-storage-server/pull/186
Fix unit tests for rate limiter:
https://github.com/loki-project/loki-storage-server/pull/185
Increase number of retry intervals:
https://github.com/loki-project/loki-storage-server/pull/183
Change rate limiter values for SNode to SNode communications:
https://github.com/loki-project/loki-storage-server/pull/182
API changes:
https://github.com/loki-project/loki-storage-server/pull/181
Use timestamp for test results:
https://github.com/loki-project/loki-storage-server/pull/178
Use Spdlog instead of Boostlog:
https://github.com/loki-project/loki-storage-server/pull/177
,
https://github.com/loki-project/loki-storage-server/pull/175
Refactor logging:
https://github.com/loki-project/loki-storage-server/pull/174
Messenger Mobile (iOS and Android)
Android Messenger work 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
.
iOS Messenger work 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
You've got mail!
Sign up to our newsletter to keep up to date with everything Oxen.