Javascript bitcoin library for node.js and browsers
Go to file
Christopher Jeffrey 5fae0c50a1
script: enforce stack size on unexecuted branches.
This primarily only affects zero-length scripts. An input script which pushed
this many items onto the stack without failing _is not possible_, but with
segwit, it is possible. However, a witness program would fail due to cleanstack
before there would be any kind of consensus fault. In other words, without this
fix, we still remain in consensus with bitcoin core, but ideally we should want
to fail for the same reason.
2017-08-25 08:08:47 -07:00
bench script: refactor script and stack mutation. 2017-08-24 17:34:20 -07:00
bin validation: refactor. 2017-08-06 03:23:37 -07:00
browser browser: minor. 2017-08-09 15:28:31 -07:00
docs script: refactor script and stack mutation. 2017-08-24 17:34:20 -07:00
etc node/browser: fix browser build. 2017-07-17 14:26:39 -07:00
lib script: enforce stack size on unexecuted branches. 2017-08-25 08:08:47 -07:00
migrate encoding: rename written to offset. 2017-08-24 22:36:59 -07:00
scripts fuzz: update fuzzer to use bitcoinconsensus. 2017-08-24 22:23:53 -07:00
snap Add the packaging metadata to build the bcoin snap 2017-06-28 22:10:25 +00:00
test script: refactor script and stack mutation. 2017-08-24 17:34:20 -07:00
vendor utils: refactor nexttick module. 2017-06-26 03:35:21 -07:00
webpack refactor: use es6 template strings everywhere. 2017-07-17 14:26:39 -07:00
.babelrc babel: improve perf. 2017-07-17 14:26:40 -07:00
.editorconfig Add editorconfig rules 2016-10-05 12:49:39 -06:00
.eslintfiles pkg: update deps. 2017-08-16 15:32:56 -07:00
.eslintrc.json eslintrc: indent is making eslint crash. 2017-08-17 10:03:36 -07:00
.gitignore gitignore/npmignore: ignore package-lock for now. 2017-08-06 13:47:15 -07:00
.npmignore gitignore/npmignore: ignore package-lock for now. 2017-08-06 13:47:15 -07:00
CHANGELOG.md v1.0.0-beta.14 2017-07-23 08:33:37 -07:00
jsdoc.json Move docs from wiki 2017-07-21 00:40:02 +04:00
LICENSE docs: get jsdoc compiling again. 2017-02-03 22:47:26 -08:00
Makefile workers/build: require only one worker file. 2017-07-17 14:26:41 -07:00
package.json pkg: upgrade n64. 2017-08-17 23:35:52 -07:00
README.md v1.0.0-beta.13 2017-07-23 08:24:52 -07:00
webpack.browser.js pkg: update deps. 2017-08-16 15:32:56 -07:00
webpack.compat.js pkg: update deps. 2017-08-16 15:32:56 -07:00
webpack.node.js pkg: update deps. 2017-08-16 15:32:56 -07:00

Bcoin

NOTE: The latest release of bcoin contains a non-backward compatible change to the rest API. Please read the changelog's "migrating" section for more details.


Bcoin is an alternative implementation of the bitcoin protocol, written in node.js.

Although still in a beta state, bcoin is well tested and aware of all known consensus rules. It is currently used in production as the consensus backend and wallet system for purse.io.

Uses

  • Full Node
  • SPV Node
  • Wallet Backend (bip44 derivation)
  • Mining Backend (getblocktemplate support)
  • Layer 2 Backend (lightning)
  • General Purpose Bitcoin Library

Try it in the browser: http://bcoin.io/browser.html

Install

$ git clone git://github.com/bcoin-org/bcoin.git
$ cd bcoin
$ npm install
$ ./bin/bcoin

See the Beginner's Guide for more in-depth installation instructions.

Documentation

Support

Join us on freenode in the #bcoin channel.

Disclaimer

Bcoin does not guarantee you against theft or lost funds due to bugs, mishaps, or your own incompetence. You and you alone are responsible for securing your money.

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work. </legalese>

License

  • Copyright (c) 2014-2015, Fedor Indutny (MIT License).
  • Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).

See LICENSE for more info.