What's new

Active LRP - Duddino

PIVX Labs

Administrator
Staff member
Code:
Name: LRP - Duddino
Term: 3 Cycles
Cycle Amount: 30,000
Total Amount: 90,000
Author: JSKitty, Duddino
Receiver: Duddino
Address: DShxa9sykpVUYBe2VKZfq9dzE8f2yBbtmg
Created: 13-11-2024
Status: Active
Vote Hash: cf2b587f3979667b582d157ad26ec18ab008a1233af3176f2854e3f13ba42166

This is a continuation of my previous proposals, the last one being here.



My PIVX Wallet
These past months were focused on improving MPW and experimenting with porting it to tauri.

MPW Tauri
Tauri is a web-based framework for building native Desktop and Mobile apps.

My plan with this version is to create a full desktop wallet based on MPW by integrating it with a pivxd node.
This means that anyone with a desktop computer will be able to run MPW fully self-hosted without having to rely on explorers and external nodes.
As of right now, the full node version can be used to sync transparent addresses, but needs refining.

The PRs are as follows:
- Initial configuration - https://github.com/PIVX-Labs/MPW-Tauri/pull/1 - This is all we need to build a light native app
- Download pivxd when opening the first time - https://github.com/PIVX-Labs/MPW-Tauri/pull/3
- Add github actions CI - https://github.com/PIVX-Labs/MPW-Tauri/pull/4
- Add binary struct and BinaryDefinition trait - https://github.com/PIVX-Labs/MPW-Tauri/pull/5 - This is mainly for unit tests
- Add address index - https://github.com/PIVX-Labs/MPW-Tauri/pull/6 - This is basically the replacement for the blockbook explorer.
- Add vin index - https://github.com/PIVX-Labs/MPW-Tauri/pull/11 - Add vin->txid index
- Added PIVX compatible JSON RPC - https://github.com/PIVX-Labs/MPW-Tauri/pull/15 - Basically replace jsonrpsee with a PIVX compatible deserialization, since PIVX doesn't comply with the JSON RPC 2.0 specs
- Add sync - https://github.com/PIVX-Labs/MPW-Tauri/pull/16 - Actually start syncing when opening for the first time
- Resume sync if using IndexedBlockSource - https://github.com/PIVX-Labs/MPW-Tauri/pull/17 - Add an IndexedBlockSource trait, and sync new blocks when using it
- Wait for pivxd to finish loading before starting to sync - https://github.com/PIVX-Labs/MPW-Tauri/pull/18
- Allow changing block sources at runtime - https://github.com/PIVX-Labs/MPW-Tauri/pull/20


MPW (Web / Base)
- Port governance and masternode pages in vue - https://github.com/PIVX-Labs/MyPIVXWallet/pull/375
- Add unused lang tool checker - https://github.com/PIVX-Labs/MyPIVXWallet/pull/377
- Don't forget ledger wallets when refreshing - https://github.com/PIVX-Labs/MyPIVXWallet/pull/381) - This allows Ledger users to use all the MPW features like Contacts
- Add exchange address to activity and tests - https://github.com/PIVX-Labs/MyPIVXWallet/pull/383
- Fix mode switching button showing on non-shield wallets - https://github.com/PIVX-Labs/MyPIVXWallet/pull/385
- Remove disconnection and fix random error spam - https://github.com/PIVX-Labs/MyPIVXWallet/pull/390
- Use latest shield checkpoint when creating wallet - https://github.com/PIVX-Labs/MyPIVXWallet/pull/396
- Fix ledger masternodes - https://github.com/PIVX-Labs/MyPIVXWallet/pull/399
- Fix unconfirmed txs being sorted at the beginning of the db - https://github.com/PIVX-Labs/MyPIVXWallet/pull/415
- Display downloaded blocks rather than handled in shield sync - https://github.com/PIVX-Labs/MyPIVXWallet/pull/418
- Fix max button not updating currency in TransferMenu - https://github.com/PIVX-Labs/MyPIVXWallet/pull/421
- Alert refactor - https://github.com/PIVX-Labs/MyPIVXWallet/pull/425) - Rewrite alert in vue, and add alert folding. Basically duplicate alerts will show a (`x${n}`) instead of spamming MPW
- Fix activity time - https://github.com/PIVX-Labs/MyPIVXWallet/pull/441)
- Add cypress e2e tests - https://github.com/PIVX-Labs/MyPIVXWallet/pull/449)


Highlight: Faster Shield Sync 🚀

A faster way of syncing Shield has been developed: Instead of downloading blocks 1-by-1, a `/getshielddata` API was added to the Labs Node Controller codebase. This contains the Shield blocks in a streamable binary format, and allows a far greater speed when syncing. The average tests are suggesting sync time improvements on the magnitude of 2-4x, this improvement will be included in My PIVX Wallet v2.1.

Faster Shield Sync is encompassed within three PRs:
- Add faster shield sync (MPW) - https://github.com/PIVX-Labs/MyPIVXWallet/pull/430
- Handle blocks in a single call instead of multiple (pivx shield lib) - https://github.com/PIVX-Labs/pivx-shield/pull/89
- Add /getshielddata API (Node) - https://github.com/PIVX-Labs/PivxNodeController/pull/3


PIVX Shield PRs
- Update shield mainnet checkpoints - https://github.com/PIVX-Labs/pivx-shield/pull/86
- Add different sapling params providers and add ability to use custom ones - https://github.com/PIVX-Labs/pivx-shield/pull/94
- Mock sapling prover in tests - https://github.com/PIVX-Labs/pivx-shield/pull/95




PIVX Core v6
Starting from last monday (2024-11-04), I am dedicating 2 days per week on helping push the v6 version. This is mostly tedious backports, but they are needed nonetheless.
This is the first PR: https://github.com/PIVX-Project/PIVX/pull/2947
 
Last edited:
Top