diff --git a/ch09.asciidoc b/ch09.asciidoc index 8e633bc1..28b584c6 100644 --- a/ch09.asciidoc +++ b/ch09.asciidoc @@ -336,12 +336,12 @@ $ bitcoin-cli -testnet getblockchaininfo You can also run on testnet3 with other full-node implementations, such as +btcd+ (written in Go) and +bcoin+ (written in JavaScript), to experiment and learn in other programming languages and frameworks. -In early 2017, testnet3 supports all the features of mainnet, in addition to Segregated Witness (see <>), which has yet to activate on mainnet. Therefore, testnet3 can also be used to test Segregated Witness features.((("", startref="BCTtest09")))((("", startref="testnet09"))) +In early 2017, testnet3 supports all the features of mainnet, in addition to Segregated Witness (see <>), which has yet to activate on mainnet. Therefore, testnet3 can also be used to test Segregated Witness features.((("", startref="testnet09"))) === Segnet—The Segregated Witness Testnet -In 2016, a special-purpose testnet was launched to aid in development and testing of Segregated Witness (aka segwit; see <>). This test blockchain is called +segnet+ and can be joined by running a special version (branch) of Bitcoin Core. +((("segnet")))In 2016, a special-purpose testnet was launched to aid in development and testing of Segregated Witness (aka segwit; see <>). This test blockchain is called +segnet+ and can be joined by running a special version (branch) of Bitcoin Core. Since segwit was added to testnet3, it is no longer necessary to use segnet for testing of segwit features. @@ -349,7 +349,7 @@ In the future it is likely we will see other testnet blockchains that are specif === Regtest—The Local Blockchain -Regtest, which stands for "Regression Testing," is a Bitcoin Core feature that allows you to create a local blockchain for testing purposes. Unlike testnet3, which is a public and shared test blockchain, the regtest blockchains are intended to be run as closed systems for local testing. You launch a regtest blockchain from scratch, creating a local genesis block. You may add other nodes to the network, or run it with a single node only to test the Bitcoin Core software. +((("regtest")))Regtest, which stands for "Regression Testing," is a Bitcoin Core feature that allows you to create a local blockchain for testing purposes. Unlike testnet3, which is a public and shared test blockchain, the regtest blockchains are intended to be run as closed systems for local testing. You launch a regtest blockchain from scratch, creating a local genesis block. You may add other nodes to the network, or run it with a single node only to test the Bitcoin Core software. To start Bitcoin Core in regtest mode, you use the +regtest+ flag: @@ -406,4 +406,4 @@ $ bitcoin-cli -regtest getbalance Bitcoin's various blockchains (+regtest+, +segnet+, +testnet3+, +mainnet+) offer a range of testing environments for bitcoin development. Use the test blockchains whether you are developing for Bitcoin Core, or another full-node consensus client; an application such as a wallet, exchange, ecommerce site; or even developing novel smart contracts and complex scripts. -You can use the test blockchains to establish a development pipeline. Test your code locally on a +regtest+ as you develop it. Once ready to try it on a public network, switch to +testnet+ to expose your code to a more dynamic environment with more diversity of code and applications. Finally, once you are confident your code works as expected, switch to +mainnet+ to deploy it in production. As you make changes, improvements, bug fixes, etc., start the pipeline again, deploying each change first on +regtest+, then on +testnet+, and finally into production.((("", startref="BCblocktech09"))) +You can use the test blockchains to establish a development pipeline. Test your code locally on a +regtest+ as you develop it. Once ready to try it on a public network, switch to +testnet+ to expose your code to a more dynamic environment with more diversity of code and applications. Finally, once you are confident your code works as expected, switch to +mainnet+ to deploy it in production. As you make changes, improvements, bug fixes, etc., start the pipeline again, deploying each change first on +regtest+, then on +testnet+, and finally into production.((("", startref="BCblocktech09")))((("", startref="BCTtest09")))