Coder Social home page Coder Social logo

coin-wallet's Introduction

Coin Wallet

About

Coin Wallet is a standalone browser-based cryptocurrency wallet. It bootstrapped with Create React App and uses the Material UI React component library. The BlockCypher API is used to interface with the blockchain.

Disclaimer

Be smart and use this at your own risk. I am not responsible for any lost funds.

Features

  • Setup
    • Create new wallet
    • Store wallet in browser's local storage (with encrypted private keys)
    • Download encrypted wallet backup
    • Import existing wallet backup
  • Main page
    • View balance
    • View transactions
    • Send coins
  • Settings
    • Export wallet
    • Change wallet password
    • Reset wallet

Getting Started

  • Clone this repository with git clone https://github.com/mikelduffy/coin-wallet.git && cd ./coin-wallet
  • Install dependencies with yarn install or npm install
  • Run cp .env.local-sample .env.local and add your blockcypher API key to your .env.local file
  • Start the application with yarn start or npm start

Testing

  • Run yarn run test or npm run test to test the application

API Considerations

  • The blockchain.info API does not support a testnet, which complicates the development process. However, their websocket feature would make it easy to update new transactions without the need for long polling.
  • The bitgo API has a pretty robust javascript library which offers testnet support as well as returning promises to utilize async/await. They only support webhook notifications, so a deployed backend and websocket/eventsource would be required for real-time transaction updates. Long polling their list transactions API is also an option. The biggest downside of using their API is their pricing model (0.25% of each outgoing transaction).
  • The blockcypher API supports a test net, multiple currencies, a RESTful API as well as a javascript library. They have a free limited useage API, which would be sufficient for this project. They also have a websocket feature, however it does not have the option to listen for events from a specified address. Using long polling as an alternative makes the blockcypher API the best choice.

coin-wallet's People

Contributors

mikelduffy avatar

Stargazers

Joshua Blew 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.