GithubHelp home page GithubHelp logo

cryptobuks / counterwallet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from counterpartyxcp/counterwallet

0.0 1.0 0.0 12.26 MB

Counterparty web wallet

Home Page: https://counterwallet.co

Dockerfile 0.54% JavaScript 68.29% Assembly 0.21% SourcePawn 0.05% HTML 27.37% Shell 0.35% CSS 3.19%

counterwallet's Introduction

Build Status Travis Build Status Circle Slack Status

Counterwallet

Online Webwallet for Counterparty.

Originally based off of Carbonwallet (however virtually all the original code has been removed or rewritten).

Production Systems

Features

  • Deterministic wallet addresses (BIP 32-based)
  • Supports the majority of Counterparty functionality
  • Fully-AJAX driven
  • Anonymous
  • Runs in the browser, with keys created in memory
  • Multi-sig

Browser Support

Desktop

  • 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).

Mobile

  • IOS Safari 7+
  • Android Browser 4.4+
  • Chrome for Android 33+
  • Chrome for iOS 35+
  • Firefox for Android 26+

Build Instructions

Before running the build system:

sudo npm install -g grunt-cli bower browserify

To build:

cd src
bower install
cd vendors/bitcoinjs-lib
npm install
browserify --standalone bitcoinjs src/index.js | uglifyjs -c --mangle reserved=['BigInteger','ECPair','Point'] -o bitcoinjs.min.js
cd ../../../
npm install

To (re)build the static (i.e. minified) site:

grunt build

To regenerate dependencies hash file (src/.bowerhashes):

grunt freeze

To enable localizations (optional):

  1. Create an account on Transifex
  2. In your home directory, create a file named .transifex and put your Transifex username and password into it in this format: user:password
  3. Run grunt build to download translations
  4. Add the languages you want to support to AVAILABLE_LANGUAGES in 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 counterwallet.conf).

Setting up your own Counterwallet Server

See this link for more info.

Development

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):

  1. Clone repository and cd into result folder
  2. NodeJS 9.x + NPM installation (if you don't have it):
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
  1. Dowload dependencies in the root folder: npm install
  2. Build: npm run build. The application will be stored in the ./build subdirectory.
  3. Configure: Copy counterwallet.conf.json.example to ./build/counterwallet.conf.json.
  • Notice the servers parameter in JSON file. It's responsible for API endpoint(s). By default it's https://wallet.counterwallet.io
  1. Run: npm run serve
  2. Use: Visit http://localhost:3000

Notes:

  • the --dontcheckdeps speeds up the process and avoids having to do grunt freeze everytime you make a change to a dependency during development
  • 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

Note concerning npm install

npm install triggers a prepublish which is configured to do grunt build 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 build/ run serve -p 3001 (different port)
  • visit http://localhost:3001/test/test.html

Running tests from CLI (using phantomjs headless browser)

  • npm test

Development without a full node

To work on counterwallet without running a full node and supporting services locally, please see the scripts located in the local development folder.

License

http://opensource.org/licenses/CDDL-1.0

counterwallet's People

Contributors

btcdrak avatar chiguireitor avatar cilphex avatar cryptcoin-junkey avatar deweller avatar digital-dreamer avatar droplister avatar foobar2016 avatar fp-x avatar gotcha avatar grynnsan avatar informatorius avatar ivanaszuber avatar jdogresorg avatar matthewjamesr avatar phillipsio avatar rdymac avatar rippler avatar robby-dermody avatar rubensayshi avatar taki-jp avatar unsystemizer avatar wseng avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.