bcoin-extension-blocks icon indicating copy to clipboard operation
bcoin-extension-blocks copied to clipboard

Extension block testnet (extnet)

Open chjj opened this issue 7 years ago • 1 comments

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

  • Seed: 45.33.50.84:58901
  • Faucet: http://45.33.50.84:8080

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

  • Resolution output maturity requirement of 25 blocks (high due to expectation of extnet reorgs). Described here: https://github.com/tothemoon-org/extension-blocks/issues/9
  • DoS limits implemented as described here: https://github.com/tothemoon-org/extension-blocks/pull/14
  • Lightning rules not yet implemented.
  • Deactivation not yet implemented.

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.

chjj avatar Apr 23 '17 06:04 chjj

Someone is currently DoSing the faucet. Should be up again shortly.

chjj avatar Apr 25 '17 10:04 chjj