Skip to main content

Wallet Compile & Dev Debug & Run

Prepare your compile environment

1. Download nodejs with v10.x.x or use nvm to install v10.x.x, install dependencies

npm install -g yarn gulp meteor-build-client
git clone https://github.com/wanchain/wanwallet.git --recursive
git clone https://github.com/wanchain/meteor-dapp-wallet.git --recursive
cd wanwallet
yarn && yarn postinstall
yarn remove jsdoc && yarn add jsdoc@3.5.5
yarn remove log4js && yarn add log4js@^6.1.2

Delete mkdirp@*'s version info, add its symbal into a lower version like this

yarn.lock

mkdirp@*, mkdirp@0.5.1:
version "0.5.1"
resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz?cache=0&sync_timestamp=1585843076463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"

2. Install meteor instantly by this command if your network allows

**********************!!!PROTECTION POLICY!!!**********************
Waiting For The Next Deployment, Maybe It Will Be Displayed After That.

or download install script and modify it, download the meteor package alone

**********************!!!PROTECTION POLICY!!!**********************
Waiting For The Next Deployment, Maybe It Will Be Displayed After That.

Find those infomations in this file

**********************!!!PROTECTION POLICY!!!**********************
Waiting For The Next Deployment, Maybe It Will Be Displayed After That.

Download this file like: https://static-meteor.netdna-ssl.com/packages-bootstrap/1.10.1/meteor-bootstrap-os.linux.x86_64.tar.gz with thunder downloader. modify some positions below

TARBALL_FILE="YOUR_METEOR_PACKAGE_DOWNLOAD_PATH"
cleanUp() {
# rm -rf "$TARBALL_FILE"
rm -rf "$INSTALL_TMPDIR"
}
set +e
#ATTEMPTS=0
#while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]
#do
# ATTEMPTS=$((ATTEMPTS + 1))
#
# curl $VERBOSITY --fail --continue-at - \
# "$TARBALL_URL" --output "$TARBALL_FILE"
#
# if [ $? -eq 0 ]
# then
# break
# fi
#
# echo "Retrying download in $RETRY_DELAY_SECS seconds..."
# sleep $RETRY_DELAY_SECS
#done
set -e

Then install meteor manual

sh install_meteor.sh

3. Install GraphicsMagick for gm command

sudo apt install graphicsmagick

4. Install a specify version of icns2png by this source

sudo dpkg -i icnsutils_0.8.1-3ubuntu0.16.10.0_amd64.deb libicns-dev_0.8.1-3ubuntu0.16.10.0_amd64.deb libicns1_0.8.1-3ubuntu0.16.10.0_amd64.deb

Compile with glup

1. Modify the configuration

config.json

**********************!!!PROTECTION POLICY!!!**********************
Waiting For The Next Deployment, Maybe It Will Be Displayed After That.

2. Compile

**********************!!!PROTECTION POLICY!!!**********************
Waiting For The Next Deployment, Maybe It Will Be Displayed After That.

Development

1. For one meteor command

cd interface && meteor --no-release-check

2. For another meteor command

cd interface && meter --port 3050

3. Run The Dev Debug

yarn dev:electron

4. For a local clientBinaries.json, modify a position

modules/settings.js:299

    get checkAppVersion() {
let defauleUrl = 'http://localhost:8888/'
// 'https://raw.githubusercontent.com/wanchain/wanwallet/wanchain3.0_beta/'
// let defauleUrl = 'https://raw.githubusercontent.com/wanchain/wanwallet/wanchain3.0_beta/'

// /./
// /^https:\/\/www\.wanchain\.org\/download\/(?:.+)/
let url_regex = /^https:\/\/www\.wanchain\.org\/download\/(?:.+)/

let result = {
url_regex: url_regex,
appVersion: defauleUrl + 'wanwalletVersion.json',
gwanVersion: defauleUrl + 'clientBinaries.json'
};
return result;
}
python -m http.server 8888
yarn dev:electron --internal

Run the wallet

1. Get the package

cd dist_wallet/release/
rm -rf linux-unpacked
unzip WanWalletGui-linux64-*.zip

2. Run the wallet by command

./linux-unpacked/wanwalletgui --rpc http://localhost:8545
# gwan --rpc --rpcport 8545 --rpccorsdomain "*" --rpcapi "db,eth,net,web3,personal,admin,miner,pos"
# ./linux-unpacked/wanwalletgui --rpc ~/.wanchain/gwan.ipc