This crate implements an experimental GUI wallet prototype for neptune cash. This is a binary/application crate, built on the Dioxus framework.
This crate is in an early, very rough prototype state. Everything is subject to change, or it could be abandoned altogether.
The "proto" in neptune-proton
refers to the prototype nature of this wallet.
neptune-proton
is a first attempt to build a cross-platform desktop and mobile wallet that interfaces with the RPC interface of neptune-core.
The prototype has a few primary objectives:
-
Help identify and hopefully overcome rough edges and problem areas for any developers of Neptune wallet software.
-
Build a wallet app that is truly cross platform and runs on Desktop (Mac, Linux, Windows) and mobile (Android, Iphone).
-
Pioneer usage of neptune-cash data types in a browser (wasm) environment.
-
Provide a starting point for wallet developers to launch from.
-
Eventually provide a functional, if simple, GUI wallet app for the neptune-cash community.
- Not attempting to be a direct participant of neptune p2p network (independent of neptune-core)
- Not attempting to avoid requirement that user run an instance of neptune-core.
- Not attempting to provide multi-wallet functionality.
- Not attempting to manage keys independently of neptune-core's wallet.
As of 2025-07-09:
- Connectivity with neptune-core is working via RPC (only for localhost so far)
- A basic set of screens is implemented, best viewed in desktop mode.
- The Addresses screen lists used addresses.
- The Balance screen lists confirmed balance. (needs to be fleshed out)
- The Receive screen functions, for both Generation Addresses and Symmetric keys.
- QR codes are invalid for Generation addresses, because they are too long.
- The BlockChain screen shows the current block height. (needs to be fleshed out.)
- The Send screen functions and supports sending to multiple recipients.
- The Mempool screen is a non-functional place-holder.
- The History screen is a non-functional place-holder.
- There is not yet any settings screen, or any way to generate a new wallet.
- Rust compiler -- Instructions.
- Dioxus 0.6 -- Instructions
- neptune-core -- Instructions
start neptune-core, if not already running, listening on the default RPC port. In this example we will use the regtest network, which generates transactions and blocks quickly.
neptune-core --regtest
neptune-cli mine-blocks-to-wallet 1
The web app is probably the simplest to build and run with the least that can go wrong.
cd neptune-proton/web
dx serve --port 9999
Open http://localhost:9999 in your browser. You should now be able to use the wallet.
cd neptune-proton/desktop
dx run --platform desktop
The wallet app should appear in a native desktop window.
See README-dioxus-workspace.md for an overview of how the workspace is laid out.
Familiarize yourself with:
- Dioxus docs
- neptune-core docs, in particular rpc_server. Note however that neptune-proton may at times use the most recent neptune-cash from github, rather than the published crate.