= Emerald Wallet for Desktop
image:https://github.com/emeraldpay/emerald-wallet/workflows/Unit%20Tests/badge.svg["Unit Tests"] image:https://codecov.io/gh/emeraldpay/emerald-wallet/branch/master/graph/badge.svg[Codecov,link=https://codecov.io/gh/emeraldpay/emerald-wallet] image:https://img.shields.io/github/license/emeraldpay/emerald-wallet.svg?maxAge=2592000["License",link="https://github.com/emeraldpay/emerald-wallet/blob/master/LICENSE"]
Emerald is a non-custodial desktop cryptocurrency wallet. Official website: https://emerald.cash
Features:
== Development instructions
=== Code Design
The project is based on
v18
.)=== Setup Environments
==== Install System Libs
You need libudev
, libusb-1.0-0
, libusb-1.0-0-dev
installed on Linux
==== Install Rust
Since the Emerald Wallet now contains a code written in Rust you need to have Rust compiler installed, please follow instructions at https://rustup.rs
You may also need to have Visual Studio Build Tools with "Desktop development with C++" component, install it from https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022
==== Install NPM packages
=== Run for development
Optionally you can build desktop app with automatic rebuild on change. Please note that it rebuilds only main Desktop module, and you have responsibility to rebuild other modules manually when changed.
=== Troubleshooting
==== Cleanup
If you're facing some weird problem it makes sense to make a full cleanup and then rebuild everything from scratch.
build
):=== Logs
Electron and Emerald logs persisted in:
~/Library/Logs/EmeraldWallet/log.log
~/.config/EmeraldWallet/log.log
=== Building distributions in development
You can run a distribution build in your development environment.Assuming
you've already compiled ./src/
and ./electron/
, you'll be able to run:
This command will build for your current system.
Note that there are configurations for several systems (OSX, Linux, Windows) specified in the "build"
field of package.json
, but the dist
command will by default only build for the system it's on.
NOTE: If you're developing on OSX and have a developer signing identity on your machine, you can optionally disable that with CSC_IDENTITY_AUTO_DISCOVERY=false
.
OSX is also able to build for Linux.
Add -ml
to that raw command to build for both OSX and Linux at the same time.
=== Troubleshooting
Some preliminary things to try in case you run into issues:
Clear out any persisted settings or userdata from previous trials
~/Library/Application Support/EmeraldWallet
~/.config/EmeraldWallet
%APPDATA%\EmeraldWallet
== Run tests
== Contact
=== Submit Bug
https://github.com/emeraldpay/emerald-wallet/issues/new
=== Contact Support
=== Chat
Chat with us via Gitter: https://gitter.im/emeraldpay/community
=== Submit Security Issue
Email to security@emerald.cash
== License
Copyright 2023 EmeraldPay, Inc
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.