Coder Social home page Coder Social logo

bcoin-extension-blocks's Introduction

Bcoin

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
$ bcoin

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

Documentation

Support

Join us on freenode in the #bcoin channel, or on the bitcoin core slack.

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.

bcoin-extension-blocks's People

Contributors

bitjson avatar blusyn avatar braydonf avatar chjj avatar coinables avatar czzarr avatar danrobinson avatar indutny avatar mnaamani avatar mvayngrib avatar ralphtheninja avatar srsgores avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bcoin-extension-blocks's Issues

Extension block testnet (extnet)

I've set up an early testnet for extension blocks (extnet) running on bcoin.

Parameters and genesis block reside in: https://github.com/bcoin-org/bcoin-extension-blocks/blob/extblk/lib/protocol/networks.js#L782

This is still an early iteration of the extension block ruleset. Some of the rules implemented only reside in issues/prs as of right now. They will likely be changed in the near future (i.e. extnet2).

Differences from the current spec

Note: Please attempt to break the testnet. That's what it is meant for.

Running

$ git clone git://github.com/bcoin-org/bcoin-extension-blocks.git
$ cd bcoin-extension-blocks
$ git checkout extblk
$ npm install
$ export BCOIN_NETWORK=extnet
$ ./bin/bcoin

Note: ensure you have the required dependencies listed on the bcoin wiki.

Listening Publicly

See the wiki for more info.

Mining

The CPU miner is always available via the RPC:

$ ./bin/bcoin rpc generatetoaddress 1 [addr]

Stratum mining is available via bcoin-stratum. Make sure it is installed in a reachable node_modules directory and run bcoin with:

$ mkdir -p ~/.bcoin/extnet/stratum/shares # temporary fix for an issue
$ ./bin/bcoin -n extnet --plugins bcoin-stratum --coinbase-address [address]

Note: if a stratum server respects GBT's default_witness_commitment property without creating a commitment themselves, it should be possible to get extblk mining working with existing mining clients without any changes.

Creating an extblk account

$ ./bin/bcoin wallet account create foo --witness
# Should return JSON containing your extblk receive addr.
# If you need to see it again, run:
# $ ./bin/bcoin wallet account get foo

TX history

$ ./bin/bcoin wallet history
$ ./bin/bcoin wallet history --account=foo

Sending from extblk account

$ ./bin/bcoin wallet send [address] [value] --account=foo

Extra verbose block output

$ ./bin/bcoin rpc getblockbyheight [number] true true

Please join #bcoin and/or #extblk-dev on freenode to voice any issues you may encounter.

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.