Online Webwallet for Counterparty.
Originally based off of Carbonwallet (however virtually all the original code has been removed or rewritten).
- Main page: counterwallet.io
- Primary server -- Mainnet: wallet.counterwallet.io
- Primary server -- Testnet: wallet-testnet.counterwallet.io
- Deterministic wallet addresses (BIP 32-based)
- Supports the majority of Counterparty functionality
- Fully-AJAX driven
- Runs in the browser, with keys created in memory
- Chrome 23+ (preferred browser)
- Firefox 25+
- Safari 7+
- Opera 15+
Notably, Internet Explorer is not supported, due to its lack of full Content-Security-Policy support (even with IE 11).
- IOS Safari 7+
- Android Browser 4.4+
- Chrome for Android 33+
- Chrome for iOS 35+
- Firefox for Android 26+
Before running the build system:
sudo npm install -g grunt-cli bower
cd src; bower install; cd .. npm install
To (re)build the static (i.e. minified) site:
To regenerate dependencies hash file (
To enable localizations (optional):
- Create an account on Transifex
- In your home directory, create a file named
.transifexand put your Transifex username and password into it in this format:
grunt buildto download translations
- Add the languages you want to support to
AVAILABLE_LANGUAGESin counterwallet.conf.json - you can use counterwallet.conf.json.example as a template. The template file contains only the setting relevant to languages and does not replace the rest of variables required in that file (refer to Federeated Node documentation for additional details about
Setting up your own Counterwallet Server
See this link for more info.
The easiest way to develop locally is to install Federated Node in Docker environment. If you already have Bitcoin Core addrindex, Counterparty Server and Counterblock, then Counterwallet can be manually installed using either of these approaches:
- Stand-alone Docker environment: refer to docker\start.sh in the Counterwallet source code.
- Manually: example based on the Docker template for Counterwallet on Ubuntu 16.04 is provided below.
Manual installation in local environment (Ubuntu 16.04 x64):
- Download required release or branch (optionally check Pull Requests, if any).
- Enter the archive directory:
- Install NodeJS and create a symlink if needed:
sudo apt-get install nodejs ; sudo ln -s /usr/bin/nodejs /usr/bin/node
npm install -g --save-dev bower grunt-cli
- Download dependencies in the src subdirectory:
cd src; bower --allow-root --config.interactive=false update
cd $PATH2SOURCE; mkdir build ; npm update
- Build: Copy counterwallet.conf.json.example to counterwallet.conf.json. Use text editor to add
"http://wallet.counterwallet.io"in between the square brackets in
serversin counterwallet.conf.json. Then build:
grunt build --dontcheckdeps --dontminify && cp counterwallet.conf.json build/. The application will be stored in the build subdirectory.
- Serve: Open a seperate terminal, install serve (
sudo npm install -g serve) and in the build subdirectory start Counterwallet service:
cd build/; serve.
- Use: Visit
http://localhost:3000(or you can specify a different port for
serveif you like)
--dontcheckdepsspeeds up the process and avoids having to do
grunt freezeeverytime you make a change to a dependency during development
--dontminifymakes your debugging life a bit easier
cpis neccesary because grunt keeps clearing the
- If you want to test your local version on another device (or let another person test something) use https://ngrok.com to setup a tunnel to your local environment
- If you want to use HTTPS, refer to additional steps required in the Counterwallet Docker start script
npm install triggers a
prepublish which is configured to do
and will bork if you haven't done a
grunt freeze after making changes to dependencies.
You can use
npm update to circumvent this during development.
Running tests in browser
You can run tests in your browser by doing the above steps and;
- open a seperate terminal and [from the root of the project, not from
serve -p 3001(different port)
Running tests from CLI (using phantomjs headless browser)