Weekly Dev Update #43
A big dev update this week, with lots of work going into the integration between Loki core, Lokinet and Loki Messenger. We’re getting closer and closer to the vision of a unified process for Service Nodes, which allows the main network to route data and store messages.
Reject blacklisted outputs using the blackball code path:
Add new SwarmID selection algorithm:
Add introspection to dependencies outside of core_rpc, fix syntax for undocumented calls:
Fix reported wrong amount in stake error message:
Add override to virtual functions to stop warnings:
Cherrypick upstream travis CI and performance improvements:
Avoid V1 transactions when using sweep_all:
Return correct errors for register transactions:
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 – although feedback/issues and pull requests would be greatly appreciated!
This month 1 author has pushed 25 commits to master, 28 files have changed, and there have been 3,891 additions and 3 deletions.
All commits to the launcher can be found here:
Add docker file and make initial adjustments:
Master branch changes
Windows fix include / log to stderr by default / epoll & sun destructor fix:
Fix ASAN issues and “new” refactor Part 2 of 3:
Debian packaging updates, Client don’t use bootstrap for paths, Kqueue updates, wire protocol changes:
Move metrics out of daemon into llarp::Context :
Enable mx records and send servfail if internal address:
Fix inbound sessions:
Github pulse: Excluding merges, 3 authors have pushed 14 commits to master and 14 commits to all branches. On master, 41 files have changed and there have been 567 additions and 427 deletions.
Pending pull requests
Add JSON publisher with configs:
WIP: libhttp crossplatform HTTPS/HTTP2 client :
Last week we started the process of porting Lokinet to run on mobile devices. We’re starting with iOS first as we think it will be the hardest. We will move onto Android at a later point.
Current progress can be found here:
Some notes on the process can be found here:
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.
Change Desktop messenger to use a 2 step registration process:
Merge Swarm Data Migration:
Fix operator for_record_t :
Basic error reporting in Service Node communication:
Exclude your own Service Node from Swarm peers:
Debian packaging and signal handling:
Use STL instead of loops for Service Node and Swarm find operations:
Disable channel encryption for client to Service Node since Lokinet will handle encryption:
Correctly read Swarm update response in integration tests:
Bootstrap Swarm peers in with batches of messages:
Update polling to use real Lokid rpc format:
Send messages in batches when dissolving a Swarm:
Add response for request to incorrect Swarms:
This week we released updates for both the Loki Electron Wallet and the Loki Android Wallet. The Loki Android Wallet now supports version 3.0.0 of Loki, so you should be able to sync past the last block available on the old chain.
Loki Electron Wallet
User experience improvements, instantly open wallet and load information later, user switching wallet mid sync prompts a restart, fix non wallet files showing when restoring:
Show error if wallet fails to load:
Fix bug with Service Node unlocking:
Display the progress when resynchronising or restoring a wallet:
Loki Mobile iOS
For Loki iOS mobile wallet, we have decided to fork Cake Wallet. Expect updates soon – we’re getting close.
Progress can be found on this branch:
All core changes have been made, only UI changes and testing now need to be completed.
Loki Android Wallet
Merge upstream changes in Monerujo to the Loki Android Wallet:
Disable share intent:
Update RPC to reflect functionality: