Ryan X. Charles
3e82c57e19
|
11 years ago | |
---|---|---|
browser | 11 years ago | |
lib | 11 years ago | |
test | 11 years ago | |
.gitignore | 11 years ago | |
LICENSE.md | 11 years ago | |
README.md | 11 years ago | |
index.js | 11 years ago | |
package.json | 11 years ago |
README.md
bitcore2
Bitcore 2 is a rewrite of bitcore to satisfy several goals:
-
Support ease-of-use by being internally consistent. It should not be necessary to read the source code of a class or function to know how to use it. I.e., where in old bitcore a "privkey" might be anything from a buffer to a hex string to a key to a private key object, in bitcore 2 "privkey" is the same type of object always and everywhere.
-
Have 100% test coverage so that the library is known to be reliable.
-
Library objects have an interface suitable for use with a command-line interface and API, in particular having toString, fromString, toObject, fromObject methods.
-
All standard features of the bitcoin protocol are implemented and saved in lib/. All BIPs are correctly implemented and saved as BIPxx.js in lib/ (since that is their standard name). Any non-standard features (such as SINs and stealtha addresses) are placed in the lib/expmt/ folder and are accessible at bitcore.expmt. Once they are standardized and given a BIP, they are renamed and placed in lib/.
-
It is always possible to create a new object without using "new".
-
Compatible with browserify (i.e., using require('bitcore/lib/message') should work both in node, and be automatically work in the browser with used in conjunction with browserify).
-
Minimize the use of dependencies so that all code can be easily audited.