Skip to content

Commit

Permalink
Merge pull request #443 from mymonero/develop
Browse files Browse the repository at this point in the history
chore: merge release v1.2.3 into master
  • Loading branch information
devinpearson committed Dec 14, 2021
2 parents 3cf98e4 + b48c56d commit 3c98bc3
Show file tree
Hide file tree
Showing 12 changed files with 176 additions and 277 deletions.
77 changes: 36 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,26 @@
<p align="center">
<img alt="MyMonero" src="https://user-images.githubusercontent.com/1645428/120083066-8a394a00-c0c6-11eb-9bc5-1ce02784dab3.png">
<img alt="MyMonero" src="https://user-images.githubusercontent.com/1645428/146000939-b06f8fd3-9ed2-4a5e-bdd6-3981281dde9c.png">
</p>

<p align="center">
MyMonero Desktop
</p>

The simplest way to use the next-generation private digital currency Monero, at the sweet spot between security, convenience, and features

### Info
-----
### Contents

1. Downloads
1. Requirements & Install Locations
1. Reporting Bugs & Making Feature Requests
1. Installation
1. Building for Production
1. Running in Development Mode
1. Contributing
1. Acknowledgements
1. License and Copyrights
2. Downloads
3. Requirements & Install Locations
4. Reporting Bugs & Making Feature Requests

### Contributing and Testing

1. Getting the Source Code
2. Repo Contents Overview
3. Building for Production
4. Running in Development Mode
5. Contributing
6. Acknowledgements


## License and Copyrights

See `LICENSE.txt` for license.

All app source code and assets copyright © 2014-2021 by MyMonero. All rights reserved.


-----
## Downloads

Download the latest version from our website at [mymonero.com](https://www.mymonero.com) or from the [Releases tab](https://github.com/mymonero/mymonero-app-js/releases/latest).
Expand Down Expand Up @@ -60,36 +50,35 @@ If you're reporting a bug, be sure to include all information which we would nee

Please contact us via [contact us](https://mymonero.com/support) for general support and enquiries. Please only use the Issues tracker when you believe you've encountered a bug.

## Installation

# Contributing & Testing


## Getting the Source Code
Before installing, [download and install Node.js](https://nodejs.org/en/download/).

### Download & Install
Clone the repo and install the dependencies.
```bash
git clone https://github.com/mymonero/mymonero-app-js.git
cd mymonero-app-js
```
```bash
npm install
```

1. First, ensure that you have recent versions of `node` and `npm` installed.

2. Clone or otherwise download this repository. Then, in your terminal, `cd` into the repo directory.

3. (To get the bleeding edge, and/or if you are going to make changes) Switch to the `develop` branch by executing `git checkout develop`.

4. Install all required `node_modules` by executing `npm install`.

5. Run `npm start` to open the wallet without building.
To start the desktop wallet, run the following
```bash
npm start
```

## Building for Production

If you're testing a pre-release version of this app and need to verify its behavior in production mode or want to obtain an installable release bundle, see [Packaging the App for Production Mode](./docs/PRODUCTION_BUILDS.md).

## Running in Development Mode

### Desktop

*Does not require you to package, sign, and install the app, and will cause the Developer window to be shown. Certain features, such as URL opening under MacOS, require production build.*

`npm run dev`

```bash
npm run dev
```

## Contributing

Expand Down Expand Up @@ -148,3 +137,9 @@ Contributors to each release are credited in release notes.
* 🔥 `mds` ([Matt Smith](http://mds.is)) MVP designer

* 🌠 Your name here?

## License and Copyrights

See `LICENSE.txt` for license.

All app source code and assets copyright © 2014-2021 by MyMonero. All rights reserved.
Binary file added build/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 47 additions & 6 deletions docs/PRODUCTION_BUILDS.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,61 @@
# MyMonero Desktop

![Logo](https://raw.githubusercontent.com/mymonero/mymonero-app-js/master/docs/assets/icon_100.png "Logo")
<p align="center">
<svg width="150" height="150" viewBox="0 0 150 150" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 17.648C0 7.90128 7.43852 0 16.6257 0H133.374C142.556 0 150 7.90602 150 17.648V132.352C150 142.099 142.561 150 133.374 150H16.6257C7.4436 150 0 142.094 0 132.352V17.648Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M35.4404 100.954C35.4404 103.754 37.6404 105.954 40.4404 105.954C43.2404 105.954 45.5071 103.754 45.5071 100.954V77.7544L54.3738 91.4211C55.4404 93.0211 56.7738 94.0211 58.6404 94.0211C60.5071 94.0211 61.8404 93.0211 62.9071 91.4211L71.9071 77.5544V100.821C71.9071 103.621 74.1738 105.954 76.9738 105.954C79.8404 105.954 82.1071 103.688 82.1071 100.821V63.7544C82.1071 60.8878 79.8404 58.6211 76.9738 58.6211H75.8404C73.7738 58.6211 72.3071 59.4878 71.2404 61.2211L58.7738 81.4878L46.3738 61.2878C45.4404 59.7544 43.9071 58.6211 41.7071 58.6211H40.5738C37.7071 58.6211 35.4404 60.8878 35.4404 63.7544V100.954Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M80.9104 100.954V77.7544L89.777 91.4211C90.8437 93.0211 92.177 94.0211 94.0437 94.0211C95.9103 94.0211 97.2437 93.0211 98.3103 91.4211L107.31 77.5544V100.821C107.31 103.621 109.577 105.954 112.377 105.954C115.244 105.954 117.51 103.688 117.51 100.821V63.7544C117.51 60.8878 115.244 58.6211 112.377 58.6211H111.244C109.177 58.6211 107.71 59.4878 106.644 61.2211L94.177 81.4878L81.777 61.2878C80.8437 59.7544 79.3104 58.6211 77.1104 58.6211C77.1104 58.6211 80.9104 103.754 80.9104 100.954Z" fill="white"/>
<path d="M14.0625 23.4375C14.0625 18.2598 18.2598 14.0625 23.4375 14.0625H126.563C131.74 14.0625 135.938 18.2598 135.938 23.4375V23.4375H14.0625V23.4375Z" fill="#00BDF4"/>
</svg>
</p>

## Packaging the Desktop App for Production Mode

### General Pre-requisites

In order to produce a production build, you must first have installed all of the `electron-builder` required system packages for building apps for the desired platforms. See [electron-builder: Multi Platform Build](https://github.com/electron-userland/electron-builder/wiki/Multi-Platform-Build).
In order to produce a production build, you must first have installed all of the `electron-builder` required system packages for building apps for the desired platforms. See [electron-builder](https://www.electron.build/).

**Please note:** in order to create a production build for Mac, you must be on a Mac, you'll need an installed Mac developer certificate to sign the build with, and you'll need to edit `package.json` to specify the name of your own certificate signing identity. To do so, edit `package.json` by updating `CSC_NAME` with your identity name, which can be found via Keychain.app.
Would suggest electron-builder be installed globally.

**Please note:** in order to create a production build for Mac, you must be on a Mac, you'll need an installed Mac developer certificate to sign the build with, and you'll need to copy `electron-builder.env.example` to `electron-builder.env`. to specify the name of your own certificate signing identity. To do so, edit `electron-builder.env` by updating `CSC_NAME` with your identity name, which can be found via Keychain.app.


### Builds

In order to actually perform the production build for desktop, execute `npm run dist`.
Builds require that you have done `npm install` and have electron-builder installed globally on your system.

Currently the MyMonero builds are done on MacOS with [parallels desktop pro edition](https://www.parallels.com/products/desktop/pro/) this is to allow the hardware certificate signing of the windows build. This is not required if you run the commands in windows yourself.

For MacOS builds you can run the following:
`electron-builder -m`

For Linux you can run the following:
`electron-builder -l`

For Windows x64 you can run the following:
`electron-builder -w --x64`

For Windows ia32 you can run the following:
`electron-builder -w --ia32`

MyMonero releases are done as follows:

MacOS and linux builds can be done at the same time. the binaries are published to GitHub under a draft release.

`electron-builder -ml -p always`

Windows builds for both 32bit and 64 bit can be done at the same time. They are required to be seperate from the Linux releases as adding the --ia32 flag will try build a 32 bit linux version which does not work.

`electron-builder -w --ia32 --x64 -p always`

SHA256 values are generated for the local build files.

`(cd dist/ ; for i in *.*; do shasum -a 256 "$i" ; done)`

Once release has been published the release is gpg signed.

This is done via downloading the zipped archive. cant be downloaded with Safari as it automatically unzips the folder.

This command relies upon resources present in `build`, and will output your build products in the directory `dist`.
`gpg --armor --detach-sign mymonero-app-js-1.x.xx.tar.gz`

Please note that MyMonero for Windows is packaged as an NSIS installer, rather than only an .exe (in order to support custom URL scheme registration/opening), and it incorporates a custom installer script fragment, `build/installer.sh`.
This produces the .asc file which is then uploaded and added to the release
25 changes: 0 additions & 25 deletions docs/ROADMAP.md

This file was deleted.

Loading

0 comments on commit 3c98bc3

Please sign in to comment.