Skip to content

wagerr/wagerr-electron-app

Repository files navigation

Wagerr Electron App

Build Status

A modern cross-platform GUI for Wagerr built with Electron & Vue.js.

Prerequisites

Make sure you back up your Wagerr wallet.dat before developing on this app.

You need the following prerequisites to be able to build and develop the project on your local machine.

  • Node.js (v14.x recommended)
  • npm (latest version recommended)

Install

Clone the repo:

git clone https://github.com/wagerr/wagerr-electron-app.git

Change directory into the cloned repository:

cd wagerr-electron-app

Install dependencies with npm:

npm install

Place wagerrd and wagerr-cli binaries in a bin directory in the the root of your repo:

mkdir bin

# Fetch the applicable release from https://github.com/wagerr/wagerr/releases
# for your OS and architecture and unzip the `wagerrd` and `wagerr-cli` binaries
# into the `bin` folder.

Development

Run in development mode:

npm run dev

Debugging in production mode:

DEBUG_PROD=true npm run package

Before submitting a patch we highly recommend running the linting and formatting scripts:

npm run lint-fix && npm run lint-styles-fix

Package for Distribution

To package the app for distribution (don't forget to copy the wagerrd and wagerr-cli binaries into the bin folder before packaging the app):

npm run package

After running the package command the executable will be located in the release folder.

Code Signing / Notarization

To code sign the packaged app (as well as notarize the Mac version) you must set the following environment variables before running npm run package.

macOS:

⚠️ When signing/notarizing the Mac app there can be long delays while the app is being uploaded and scanned by the Apple Notary Service. According to the Apple documentation this process "usually takes less than an hour"...

# macOS - Name of signing certificate to retrieve from Keychain.
export CSC_NAME='Wagerr Limited'

# macOS - An Apple developer ID associated with the signing certificate (used for uploading builds
#         to the Apple Notary Service for verification and notarization).
#
#         Notes:
#         - We recommend generating an app specific password and do not use your main account
#           password.
#         - To see a list of team IDs that your Apple account can access run:
#           `xcrun altool --list-providers -u <USERNAME> -p <PASSWORD>`
export APPLE_ID=''
export APPLE_ID_PASS=''
export APPLE_TEAM_ID=''

If you would like to skip notarization step you can set the NOTARIZE flag to false:

NOTARIZE=false npm run package

Windows:

# Windows (PowerShell) - Path to *.pfx certificate relative to root of project
$env:CSC_LINK='build\WagerrLimited.pfx'

# Optional - The password to decrypt the certificate given in CSC_LINK
$env:CSC_KEY_PASSWORD='Password123!'

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

Licensed under the MIT License.