bitpay/copay — pull request #16 by ryanxcharles (2014-04-03 00:54:30+00:00)
Title: WIP: Copay interface

We need copay to work in the following ways:
* From the browser with a graphical interface
* From the command-line
* From an RPC API

And we want to share as much code as possible between all of these different places. The idea of the Copay interface is to solve all of these problems at once in a consistent interface. The Copay class works the following way:

* It has a state (basically, the wallet) which is saved to Storage, which can be a file, or HTML local storage
* It has a consistent, asynchronous interface where every command operates on the state and returns data in a callback

Right now, the code is in these places:
* Copay.js, which is the Copay interface
* bin/copay, which is the command-line tool and RPC daemon in one

Note that something will require persistence, like p2p connections, and that will require running the daemon. Some things, like adding a public key to the wallet or building a transaction, do not require persistence, and can be done without a daemon.