Bitcoin has two main functions:

  1. Bitcoin as a network.
    Create and validate transactions.
  2. Bitcoin as a software.
    Bitcoin core is an implementation of bitcoin that encompasses all of the software behind bitcoin.

To clear the confusion, Bitcoin Core was created to distinguish it from the Bitcoin network.

Features:

  1. Connect to the network.
  2. Validate the blockchain.
  3. Send and receive bitcoins.

We can access a test platform to learn how to use the core. And we use the Debug Console provided to interact with the data on the bitcoin blockchain.

Different environments are provided to test our software as developers:

  1. Mainnet
    • Primary network where live transactions take place.
    • Coins have real value.
    • There are peers.
  2. Testnet
    • Alternative blockchain that provides a test environment.
    • Testnet coins have no real value.
    • There are peers.
  3. Regnet
    • Alternative test network for testing applications.
    • It uses coins with no real value.
    • There are not peers.

Mainnet vs Testnet

Purpose: Production / Testing
Environment: Public / Public
Peers: Entire network / Testers
Size: ~200GB / ~14GB
Block Creation: 10 minutes both cases
Value: Full value / No value
Public Key Prefix: 1 / m or n
Block Difficulty: Full / Half of mainnet

Testnet vs Regnet

Purpose: Testing / Testing
Environment: Public / Private
Peers: Testers / None
Size: ~14GB / ~0GB
Block Creation: 10 minutes / Instantly
Value: No value for both
Public Key Prefix: m or n for both
Block Difficulty: Half of mainnet / none