Skip to content

Commit

Permalink
Merge branch 'master' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidLDawes authored Jun 4, 2018
2 parents 9bd1f23 + 07b35c5 commit 9803dc7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "gui/EasyDEX-GUI"]
path = gui/EasyDEX-GUI
url = https://github.com/VerusCoin/EasyDEX-GUI.git#<dev>
url = https://github.com/VerusCoin/EasyDEX-GUI.git
32 changes: 14 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Desktop Wallet App

## Resources
Check [the VerusCoin github Wiki](https://github.com/VerusCoin/VerusCoin/wiki) for useful iformation about operating the wallet.
Check [the VerusCoin github Wiki](https://github.com/VerusCoin/VerusCoin/wiki) for useful information about operating the wallet.
Also [check the Discord commnity](https://discordapp.com/channels/444621794964537354/449633547343495172)
#### For Developers
You must have `node.js` and `npm` installed on your machine.
Expand All @@ -20,21 +20,18 @@ sudo apt-get install -y build-essential
```shell
git clone https://github.com/veruscoin/agama --recursive --branch dev --single-branch
```
with this command you git clone agama - but explicitly just the dev branch (therefore --single-branch) which we also use for the release packages.
It also gets the wrong sub-project stuff, so fix that next:
with this command you git clone agama - but explicitly just the dev branch (therefore --single-branch) which we also use for the release packages. Pull the latest changes in the EasyDEX-GUI subproject next.
```shell
cd gui\EasyDEX-GUI
git remote add org https://github.com/VerusCoin/EasyDEX-GUI.git
git checkout dev
git pull org dev
git pull origin dev
```
2) Get the binary artfacts into place (linux version)
```shell
cd agama
./binary_artifacts.sh
```
For Mac use ./binary_artifacts_mac.sh.
Note that we do not use the standard downloadable komodo executables, the version in veruscoin has to be used and the src/komodod and src/komodo-cli build outpyuts have to be manually patched into assets/bin/osx.
Note that we do not use the standard downloadable komodo executables, the version in VerusCoin/VerusCoin has to be used and the src/komodod and src/komodo-cli build outputs have to be manually patched into assets/bin/osx.
3) install the electron packager and prebuilt - note the ugly unsafe-perm and allow-root stuff for the prebuilt electron.
```shell
sudo npm install electron-packager -g
Expand All @@ -44,40 +41,39 @@ npm install electron-prebuilt -g --unsafe-perm=true
```shell
npm install
```
5) Now get the react stuff installed and running
5) If yoi are running in dev mode, get the react back end stuff installed and running
```shell
cd react
npm install
cd src
npm start
```
Brings up the dashboard and loads the react service using localhost:3000

6) start a new shell and go back to the react dir and build things (the EasyDEX-GUI)
Brings up the dashboard and loads the react service using localhost:3000. Since that ties this shell up, you'll need to spin up another shell to continue.
6) Go back to the react dir and build things (the EasyDEX-GUI)
```shell
cd agama/gui/EasyDEX-GUI/react
npm run build
```
8) Get the top level stuff set, after the cd you should be in the root agama dir. We also need electron, again with the nasty souding unsafe-perm and allow-root options, otherwise electron post install steps fail. Similarly, we need to get libgconf and webpack too.
7) Get the top level stuff set, after the cd you should be in the root agama dir. We also need electron, again with the nasty souding unsafe-perm and allow-root options, otherwise electron post install steps fail. Similarly, we need to get libgconf and webpack too.
```shell
cd ../../..
npm install webpack
npm install
```
7) At this point you can test things by running the wallet directly from electron:
8) At this point you can test things by running the wallet directly from electron:
```shell
npm start
```
This is a pretty wrapper around electron. I set the environment to production too.

8) Check that things work. Choose the Verus coin for a fast check. Check Komodo and BTCH at the same time as well. Note that loading Komodo the first time can take 10+ hours the first time to get the chain.
9) Check that things work. Choose the Verus coin for a fast check. Check Komodo and BTCH at the same time as well. Note that loading Komodo the first time can take 10+ hours the first time to get the chain.

9) toggle dev and debug options in settings, this will switch thr Agama wallet to using the dev version of the React service that we just launched at port 3000. Once you set this the Agama wallet will not run without the service manaully started at port 3000 via npm start in the agama/gui/EasyDEX-GUI/react/src directory. To test a production version, turn dev back off, then exit theAgama wallet, then bring the react service down ("q" causes it to quit). Finally restart the Agama app without the dev service and it works normally.
10) toggle debug options in settings to get som euseful output. You can toggle dev mode, this will switch the Agama wallet to using the dev version of the React service that we just launched at port 3000. Once you set this the Agama wallet will not run without the service manaully started at port 3000 via npm start in the agama/gui/EasyDEX-GUI/react/src directory. To test a production version, turn dev back off, then exit theAgama wallet, then bring the react service down ("q" causes it to quit). Finally restart the Agama app without the dev service and it works normally.
Note the View menu Toggle Developers Tools option. Enabling that brings up the browser console which is useful. Variable examination and break points, console for the error log, and the ability to track network interactions are all useful. Code has been squashed so more work is needed to get breakpoints completely useful.

10) sync komodod and/or asset chains - now that the wallet is running if you choose Komodo native (or eventually Verus) it will load the assect chain. It's taking me 16 hours on a local VM to get it loaded the first time. It only takes 10 or 30 minutes to catch up on startup after that if things are going well.
11) If you modify code under gui/EasyDEX-GUI then you'll need to go to gui/EasyDEX-GUI/react/src and run npm run build again, then relaunch npm start from the agama dir. Changes to agama/routes just require relaunching npm start from the agama dir. If any dependencies change then you'll need to rerunnpm install in the appropriate directory.
12) Once you have your changes ready and working you can produce the Linux executable image
11) sync komodod and/or asset chains - now that the wallet is running if you choose Komodo native (or eventually Verus) it will load the assect chain. It's taking me 16 hours on a local VM to get it loaded the first time. It only takes 10 or 30 minutes to catch up on startup after that if things are going well.
12) If you modify code under gui/EasyDEX-GUI then you'll need to go to gui/EasyDEX-GUI/react/src and run npm then npm run build again, then relaunch npm start from the agama dir. Changes to agama/routes just require relaunching npm start from the agama dir. If any dependencies change then you'll need to rerun npm install in the appropriate directory.
13) Once you have your changes ready and working you can produce the Linux executable image
### Important dev notes
Coin info for Verus is stored in ~/.komodo/VRSC under Ubuntu

Expand Down

0 comments on commit 9803dc7

Please sign in to comment.