Blockchain Nanodegree Notes 20181030
Term 1 S3 Lesson 2: Bitcoin Core Testnet
Data Warnings and Bitcoin.config Setup
bitcoin core download: https://bitcoin.org/en/download
Bitcoin Core - Getting Started
https://bitcoincore.org/bin/bitcoin-core-0.16.3/
Bitcoin Full Node Wallet: A bitcoin wallet taht fully validates transactions and blocks
- Downloading options: pruning, sync to testnet or regnet
- change data directory: https://en.bitcoin.it/wiki/Data_directory
Bitcoin Core v0.17
- Getting Started with the Debug Console
- Basic Debug Console Commands
- Creating Separate Wallets
- Transferring Coins
Debug Console
- Open Bitcoin software
- Go to HELP
- Select Debug Window
- Click Console
- type
help
Create Separate Wallets
createWallet <walletName>
Wallet Debug console commands
- getWalletInfo: Gives the wallet information of the currently loaded wallet.
- loadWallet: Loads the contents of an existing wallet.
Testnet Wallet Transactions
Lesson 3 Bitcoin Debug Console
Blockchain Commands
getblockchaininfo
: Returns various state information about blockchain processing.
getblockcount
: Returns the number of blocks in the blockchain.
verifychain
: Verifies blockchain database.
Hash Commands
getblockhash
: Returns hash of a block at the block number providedgetnetworkhashps
: Returns an estimated network hashes per second based on a specified number of recent blocks.getbestblockhash
:
Key Terms:
- hash value: a digital fingerprint for information
- best block: most recent block that you’ve synced to with your local copy of the blockchain
Block Commands
getblock: Returns details of block information.
getblockheader: Returns information about the block header.
generate: Immediately mines the specified number of blocks to an address in the wallet.
Key Terms
Block: A container that holds a list of transactions to be added to the blockchain.
Wallet Commands
getwalletinfo: Returns an object containing various information about a wallet’s state.
listwallets: Returns a list of currently loaded wallets.
walletpassphrasechange: Change the wallet passphrase.
Mempool Commands
getmempoolinfo: Returns details on the active state of the transaction memory pool.
getrawmempool: Returns all transaction details in the memory pool.
getmempoolentry: Returns mempool data for a given transaction.
Key Terms
Mempool: Waiting place for all unconfirmed transactions before they are added to the blockchain.
Signature Commands
signrawtransaction: Sign inputs for a raw transaction. signmessage: Sign message with the private key of an address
Key Terms
Signature: Establishes proof of ownership for each transaction on the blockchain.
Network Commands
getnetworkinfo: Returns information about the state of the peer-to-peer network.
getpeerinfo: Returns data about each connection network node.
getconnectioncount: Returns the number of connections to other nodes.
Mining Commands
getmininginfo: Returns an object that contains mining-related information.
getblocktemplate: Returns data needed to construct a block.
prioritisetransaction: Accepts the transaction into mined blocks at a higher or lower priority.
Coming Up: Blockchain Data
In the next lesson, you’ll use Bitcoin Core to explore the limitations and best practices when embedding data in blockchain transactions.
This lesson has a few important goals…
Recognize the data structure of blocks and transactions.
Understand the purpose of Bitcoin Script opcodes that are commonly used in the input and output parts of a transaction process.
Explore the limitations and best practices of embedding data in blockchain transactions.
All this will lay a foundation for you in the next lesson where you will use this knowledge to build a simple blockchain from scratch.
Congratulations on making it through the lesson, we’re excited to see you in the next lesson Blockchain Data.