diff --git a/.gitmodules b/.gitmodules index 11e3670fe..f7f1f3271 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "gui/EasyDEX-GUI"] path = gui/EasyDEX-GUI - url = https://github.com/VerusCoin/EasyDEX-GUI.git# + url = https://github.com/VerusCoin/EasyDEX-GUI.git diff --git a/README.md b/README.md index 41b1a2429..9d95bf4cd 100644 --- a/README.md +++ b/README.md @@ -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. @@ -20,13 +20,10 @@ 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 @@ -34,7 +31,7 @@ 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 @@ -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