* merging georgio/lp-psqv2-integration * use authenicator on the responder's side * nym-lp crate compiling * moved the e2e test to nym-lp * move key generation to peer * moved principal generation * update KKTResponder * encapsulation key parsing * Adding concrete types within KKT exchange * initiator side of the full handshake * responder side of the handshake and full e2e test * fixed unit-tests within nym-kkt * LpSession cleanup * helpers for Transport * revamp of the transport traits and initial work on client-side transport * compiling nym-crypto * 'working' client-entry dvpn reg * Fix key conversion * Slightly reduce use of rand08 * reverted back to libcrux repo refs * intial telescoping reg * removing dead code * wip * moved data encryption into the state machine * restoring nym-lp tests * update lp api model * Add receiver index derivation * Add receiver index derivation * use derived receiver index * feat: add kem key generation to nodes * generate fresh x25519, mlkem768 and mceliece keys on config migration * add lp peer config * nym-node startup cleanup * removed dependency on pre-rand09 from nym-lp * re-expose LP information on the http API * fixed tests compilation * add peer config happy path tests * formatting * add more tests and fix bug * better docs * clippy and formatting issues * return error on mceliece within NestedSession * wasm fixes * removed legacy nym-vpn-lib-wasm * fixing wasm for real this time * additional fixes * add payload to kkt * make clippy happy * moved LP to nym-node crate * cargo fmt * integrate lpconfig payload * fix response size trait impl * Migrate receiver index * Change receiver index to u32 and regorganize crates * clippy * hopefully final wasm fixes * simple conversion method from semver to ciphersuite * updated nym-node config template * chore: remove duplicated code --------- Co-authored-by: Georgio Nicolas <me@georgio.xyz>
Nym Wallet
Nym is an open-source, decentralized and permissionless privacy system. It provides full-stack privacy, allowing other applications, services or blockchains to provide their users with strong metadata protection, at both the network level (mixnet), and the application level (anonymous credentials) without the need to build privacy from scratch.
The Nym desktop wallet enables you to use the Nym network and take advantage of its key capabilities
Installation prerequisites - Linux / Mac
YarnNodeJS >= v16.8.0Rust & cargo >= v1.56
Installation prerequisites - Windows
- When running on Windows you will need to install c++ build tools
- An easy guide to get rust up and running Installation
- When installing NodeJS please use the
current featuresversion - Using a package manager like Chocolatey is recommended
- The nym wallet requires you to have
Webview2installed, please head to the Installer, this will ensure a smooth app launch
Installation
Inside the nym-wallet directory, run the following command:
yarn install
Populate environment variables
The wallet requires you to supply a .env file, this populates values in the wallet once it's compiled.
In the project roots there's a .env.sample file, these values currently match what the .env file should be populated with. However, if you want to change these values you can do so accordingly.
- In the root directory, create a new file named
.env - Input the values against the variables
Terminal
The terminal is shown either in development mode, or by setting the SHOW_TERMINAL to any value, e.g. true.
When enabled, the terminal icon is shown in the nav and clicking it displays a modal that shows the inner state of the wallet. In the future, this will also allow interactions, e.g. queries or executing commands such as delegation or undelegating.
It is intended to be used during development and for troubleshooting.
Development mode
You can compile the wallet in development mode by running the following command inside the nym-wallet directory:
yarn dev
This will produce a binary in - nym-wallet/target/debug/ named nym-wallet
To launch the wallet, navigate to the directory and run the following command: ./nym-wallet
Production mode
Run the following command from the nym-wallet folder
yarn build
The output will compile different types of binaries dependent on your hardware / OS system. Once the binaries are built, they can be located as follows:
Admin mode
The admin screens can be shown by setting the environment variable ADMIN_ADDRESS. You'll need to know the admin account address for the network you are using.
QA mode
On built versions of the wallet, you can set the environment variable ENABLE_QA_MODE=true to add the QA network to the list of available networks.
Binary output directory structure
**macos**
|
└─── target/release
| |─ nym-wallet
└───target/release/bundle/dmg
│ │─ bundle_dmg.sh
│ │─ nym-wallet.*.dmg
└───target/release/bundle/macos/MacOs
│ │─ nym-wallet
|
**Linux**
└─── target/release
| │─ nym-wallet
└───target/release/bundle/appimage
│ │─ nym-wallet_*_.AppImage
│ │─ build_appimage.sh
└───target/release/bundle/deb
│ │─ nym-wallet_*_.deb
|
**Windows**
└─── target/release
| │─ nym-wallet.exe
└───target/release/bundle/msi
│ │─ nym-wallet_*_.msi
For instructions on how to release the wallet, please see RELEASE.md.