Bitcoin Core
Bitcoin Core — Modern implementation of the first wallet in the history of cryptocurrencies. In this article we will take a closer look at this software, analyze its pros and cons, and also get acquainted with its main functions. Bitcoin Core is the official open source software. Combining the functions of a bitcoin wallet and a full node with which network participants can maintain its performance.
Its main advantages include:
- High level of security. Losing money is only possible if the key is transferred to third parties or the virus enters the computer.
- Storage of access keys directly on the user’s PC – there is no transfer of them to third-party servers.
Plus:
- To access the basic functions do not need a complicated setup.
- The ability to use the wallet on computers running on all major operating systems (Linux, Windows, MacOS).
- On the official service, first of all, all updates are implemented.
- There is a possibility of “cold” storage of currency (offline). That allows you to guarantee complete protection against hacker attacks and other hostile actions. But for such amenities you have to pay.
limitations:
- In order not to contact third-party servers for information, you must download the entire blockchain to your computer. To do this, you will have to prepare about 150-200 GB of memory on the hard drive.
- Synchronization of the installed blockchain with the network can take about a day or more. At the same time, you can speed up the Bitcoin Core download process only by connecting to the high-speed Internet.
- To conduct any transaction, you will have to use your desktop computer, the mobile option is excluded.
Installation and getting started with Bitcoin Core
First of all, you need to download the latest version of the application, suitable for the operating system installed on the user’s computer. Then you need to install the downloaded software in any convenient place (by default – C: / Program Files / Bitcoin).
When you first start the application, you will need to specify the path to store the blockchain and the file with the user’s wallet. This can be either the default folder or any other. A prerequisite for this is the location in the hard disk partition with at least 250-300 GB of free space (at the time of writing this material). We recommend that you allocate a separate hard drive with a memory of about 500 GB for this.
It is recommended that in addition to the current blockchain size indicated in the application window, at least another 20-30 backup gigabytes of space should be present. This is necessary to ensure the smooth operation of Bitcoin Core in the near future, since the weight of the network is steadily increasing (by about 150 MB every day).
After that, the synchronization of the wallet client with the network will automatically begin. As a rule, this process takes at least several days. It all depends on the speed of the Internet connection, the workload of the computer with various tasks and the time it spent online. Ideally, after the first launch of Bitcoin Core, leave the PC turned on until the synchronization is complete. If, instead, you actively use the computer and periodically disconnect it from the network, the download of the blockchain may take a week or even more.
In case it is impossible to avoid disconnecting the PC from the network, it is important to give the program the opportunity to complete work with already downloaded files in order to avoid errors, because of which it may be necessary to start the whole process from the beginning.
During synchronization, the percentage of progress, the date of the last downloaded block and the estimated time to complete completion will be displayed in the application window. There you can see a warning that due to the incomplete download of transaction history, the wallet balance may not be displayed correctly. For the same reason, you cannot send coins received in a time period whose synchronization has not yet taken place.
After the download is complete, you can start using Bitcoin Core as a Bitcoin wallet and / or node, after making the necessary settings.
Customization Bitcoin Core
All Bitcoin Core parameters available for change are located in the Settings / Options menu:
- The main ones – on this tab you can configure the application to start automatically at system startup, change the default database cache, and also use the function to reduce the stored blockchain to a few gigabytes (after complete synchronization, only the last 551 blocks are needed in fact for the wallet to work).
- Wallet – there are only two options here that enable the management of coins and the use of inputs that are not yet confirmed in outgoing transactions.
- Network – for the normal functioning of the application as a node and synchronization with the network, this section must have a tick in the line “Allow incoming connections”. The remaining settings are optional and can be used in case of problems with access to the Bitcoin blockchain or to increase privacy.
- Window – here you can configure the rules for minimizing the application and displaying it in the system tray.
- Display – in this tab, you can change the localization of the application through the drop-down menu “User Interface Language”. In the line “Display amounts in units” it is possible to set the display of the balance and transaction details in one of the options: BTC (bitcoin), mBTC (millbitcoin), µBTC (microbitcoin) or satoshi (satoshi). There is also a field for indicating a third-party explorer, so that in the description of transactions in the wallet links are displayed for viewing them through the browser.
All of the above settings and various additional commands for Bitcoin Core can be made through the Console, which is launched by the item of the same name from the “Window” menu. This tool is usually used by advanced users and developers. A complete list of available commands can be viewed through the Help / Command Line Options menu.
Using Bitcoin Core
When you start Bitcoin Core by default, the “Overview” tab always opens, in which you can see the wallet balance (available, in pending transfers and general), as well as a list of recent transactions for sending or receiving funds by the user. A more detailed list of transactions involving the current wallet is available on the “Transactions” tab.
Before you start working with your wallet, it is recommended that you first encrypt it with a strong password. This is done through the menu “Settings / Encrypt wallet”. In this case, it is advisable to pay attention to the warning of the program that if the user forgets the password, then he will forever lose his bitcoins. This combination will need to be entered every time you unlock your wallet and send transactions. Therefore, it is important to keep it in a safe place.
If necessary, the password can be changed through the corresponding item in the “Settings” menu. The remaining stages of interaction with the wallet will be considered in more detail.
Create addresses and receive payments
To create a new BTC address (public key) in Bitcoin Core, you need to use the “Receive” function. In the window that opens, you can specify a name for the new wallet (the “Label” field) so that it is easier to distinguish it from others. It will be visible only to the current user within the application. In the “Quantity” field, you can specify the amount if the address is created to request from someone a payment of a specific size.
Also in the form of generating a new wallet there is an option “Create a native segwit (bench32) address”. If you tick it, the new address can be used in transactions based on SegWit technology. This means that they will be faster and with a cheaper commission compared to using older legacy and p2sh standards.
In the “Message” field you can enter a message for the person to whom the request for payment will be sent. All listed parameters are optional, i.e. using them is optional. The button “Request payment” can be pressed, both with the filled fields, and without them.
After that, a window with a QR code opens, in which the address of the created wallet will be encrypted. If the number of coins was indicated before, when decrypting the QR code, the amount of sending on the side of the potential sender will automatically be set to the number indicated by the recipient.
Also, the new address and related data will be displayed under the QR code in text format and in the form of a URI – a hyperlink that can be opened on other computers with the Bitcoin Core client installed through the File / Open URI … menu.
After creation, all new wallets fall into the “History of payment requests”, where they can be viewed and deleted if necessary. But as soon as a translation is received on any of them, it will immediately disappear from this list. This is done for security, so that Bitcoin Core users use new addresses every time they receive payments. True, you can still view and reuse such wallets through the menu “Window / Addresses for receiving”.
Sending Transactions Via Bitcoin Core
To use the function of sending payments, you need to go to the “Send” tab and fill out the form displayed. The line “Pay” indicates the address of the recipient of the transfer. You can insert it manually or select from a list of previously used ones. The label field is filled with an arbitrary designation, under which the recipient’s address will be further added to the list (available for viewing through the menu “Window / Addresses for Departures”).
In the field “Quantity” the amount of transfer is entered. Next to it there is an option “Subtract commission from the amount.” If you check this box, transaction fees will be deducted from the number of coins sent. Consequently, a slightly reduced amount will reach the recipient. So that the commission does not affect the transferred number of bitcoins, it is not worth ticking. If you click the “Use Available Balance” button, the payment amount will be automatically set according to the number of available coins in the wallet.
The next section in the form of preparing an outgoing transaction is devoted to setting up a commission. Here you can use the option “Recommended value”. In this case, the commission size will be automatically set to the value calculated by the system depending on the current network load and the expected confirmation time (selected in the corresponding drop-down menu).
You can also set the commission per kilobyte of transaction data through the “Custom value” line. At the same time, it is worth paying attention to the fact that setting too low a commission may lead to the inability to successfully confirm the transaction.
The next option, called “Enable Replace-by-fee”, is used to provide the possibility of increasing the commission and speeding up the transaction if it hangs in the mempool.
Also at this stage, you can use the “Add Recipient” button to increase the number of outgoing payment recipients. The fields that appeared in this case are filled in similarly to the steps described above.
On this, the design of the outgoing transaction can be considered completed. It remains only to click “Send” and confirm your intention with the password that encrypted the wallet.
Wallet backup and private key retrieval
You can create a backup copy of your wallet in Bitcoin Core using the function of the same name from the File menu. In this case, the application will ask you to specify the path to save it.
You can also open the Wallets folder located in the directory that the user selected to store the blockchain through any file explorer. There will be located the automatically generated file “wallet.dat”, copying of which will lead to a backup of the wallet, no different from that obtained through the program menu.
It is recommended that you back up as often as possible, preferably after each operation to receive funds and / or create a new BTC address, choosing a reliable medium for storage of the received file, preferably disconnected from the network. Only in this case will it be possible to regain access to your balance after reinstalling the Bitcoin Core application or launching it on another computer. To restore, you will need to place the backup file in the Wallets folder, agreeing to replace the existing one.
Private Key Retrieval
If you use an outdated copy of the wallet, access to all coins received after its creation will be lost. If the user does not have the wallet.dat backup file saved, access to funds will not be restored at all.
When a user needs a private key from any of the addresses created in Bitcoin Core, for example, to import a wallet into another application, you can view it using the “dumpprivkey …” command, which is entered into the console mentioned above. In this case, instead of the “three points”, a BTC address is entered, from which it is necessary to obtain a private key.
For the command to work, you first need to unlock by specifying the password using the command “walletpassphrase pass time” (instead of pass, enter the password, instead of time – the period for which the wallet is unlocked).
Bitcoin Core Cold Storage
To organize a “cold” storage of bitcoins through this application, you need to perform just a few simple steps:
- In a fully synchronized wallet, on the “Get” tab, you need to create the necessary number of new addresses and write / print their addresses on paper.
- Make several backup copies of the wallet.dat file on different media disconnected from the network.
- Delete the original file from the PC with the wallet installed;
- Transfer bitcoins to printed addresses.
As a result, the coins will end up on BTC addresses, whose private keys have never been used to access them. As long as this condition persists, we will talk about the “cold” storage of bitcoins. To access these coins, you need to copy the backup wallet.dat to the appropriate folder on the computer with Bitcoin Core installed.
Using Bitcoin Core to Run a Full Bitcoin Node
The main task of a full node is to validate blocks with transactions and then relay them to other nodes. Thus, each running and fully synchronized Bitcoin Core client helps maintain the network’s performance, and its local storage contains an updated copy of the entire Bitcoin blockchain with a complete transaction history.
All that is needed to run the full Bitcoin node is to install the Bitcoin Core application and wait for the entire blockchain to load (described in detail in the section on getting started with the wallet). You also need to make sure that incoming connections are allowed in the network options of the wallet and that TCP port 8333 is open (in the settings of the router and firewall).
For the full operation of the full node, the computer on which it is installed must be online for at least 6 hours daily. All processes in this case are performed by the program independently and do not require any user participation.
Currently, managing a full node has nothing to do with bitcoin mining. Previously, this feature was present in Bitcoin Core, but due to low mining efficiency it was removed from all versions of the application, starting in August 2016. Therefore, all full nodes on Bitcoin Core are now launched exclusively on a volunteer basis (without receiving remuneration) to maintain the network.
Of the 9300 currently active nodes, about 9 thousand are on Bitcoin Core. The remaining 300 are launched through alternative applications like Armory, mSIGNA and Bitcoin Knots.