-
Notifications
You must be signed in to change notification settings - Fork 116
Update Getting started - Software overview with Lightning content #473
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 19 commits
5f78e16
44847e5
072642a
0f21771
96d29c8
643a1ac
1e87310
b8add3d
ef064ff
31d3051
6aa4a26
020be23
8b8bc31
f19b74f
e048c93
ccc8a00
5d1af03
dbe7e19
3eee5dd
fe004ec
bd82a22
652891e
919a32d
da2f5e4
dcc0bc6
97531bd
f593a43
92c845f
866a156
f043d54
e7b49c3
08d4e13
ab96e25
bdd9c6e
0d53268
dad4425
1899025
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,7 +18,7 @@ could be to create sub-pages for each category to discusss it in more detail. | |
|
|
||
| Illustration sources | ||
|
|
||
| - https://www.figma.com/file/VB3GQdAnhl8yta44DY3PSV/Bitcoin-Wallet-UI-Kit?node-id=148%3A174 | ||
| - https://www.figma.com/file/JxAYVV6pkXLvh60I62RQ6o/BDG-Software-overview-illustrations?node-id=1%3A2 | ||
|
|
||
| --> | ||
|
|
||
|
|
@@ -36,66 +36,72 @@ Illustration sources | |
|
|
||
| # Software overview | ||
|
|
||
| The unique history and architecture of Bitcoin has resulted in a few distinct categories of software, with each one serving a distinct purpose. Provided below is an overview of standard and specialized application categories. | ||
| The unique history and architecture of Bitcoin has resulted in several categories of software, with each one serving a distinct purpose. Provided below is an overview of standard and specialized application categories. | ||
|
|
||
| ## Command-line interfaces (CLI) | ||
|
|
||
| Primarily used by developers, Bitcoin CLIs offer feature-rich ways to interact with Bitcoin. They can be thought of as general-purpose toolboxes, so they require certain technical knowledge and are not optimized for specific use cases. New features are often first included in a CLI and then later added to graphical user interfaces (GUI). | ||
|
|
||
| {% include image.html | ||
| image = "/assets/images/guide/getting-started/software/cli-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/cli-example@2x.jpg" | ||
| alt-text = "Illustrative interface of a command-line interaction" | ||
| caption = 'Command line interfaces are text-only. Texture by [Joel Filipe](https://unsplash.com/@joelfilip){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| width = 800 | ||
| height = 350 | ||
| %} | ||
|
|
||
| ## Block explorers | ||
| ## Wallets | ||
|
|
||
| <div class="center" markdown="1"> | ||
|
|
||
| {% include image.html | ||
| image = "/assets/images/guide/getting-started/software/explorer-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/explorer-example@2x.jpg" | ||
| alt-text = "Illustrative interface for block explorer software" | ||
| caption = 'Block explorer offer insight into activiy on the bitcoin network. Texture by [Mike van den Bos](https://unsplash.com/@mike_van_den_bos){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| image = "/assets/images/guide/getting-started/software/wallet-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/wallet-example@2x.jpg" | ||
| alt-text = "Illustrative interface of a wallet application" | ||
| caption = "Wallets allow users to send, receive, and manage transactions." | ||
| width = 400 | ||
| height = 388 | ||
| height = 396 | ||
| layout = "float-right-desktop" | ||
| %} | ||
|
|
||
| If blockchain is a public database, block explorers are simply windows into that database. They let users view data about specific transactions, latest blocks, block height, and so on. | ||
| Wallets are perhaps the most important Bitcoin applications. They provide easy-to-use graphical user interfaces (GUIs) designed for broad audiences that let bitcoin owners send, receive, store and manage their coins. | ||
|
|
||
| Wallet features vary by application but always include wallet setup, balance and transaction records, and the ability to send and receive bitcoin. The full range of features that wallets may support is broad and includes security and privacy options, currency exchange features, accounting tools, interoperability, accessibility, and localization options. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| Explorers also provide insight into bigger picture activity on the Bitcoin network, such as daily transaction numbers. For example, there are typically fewer transactions on weekends, which results in lower fees, which are ideal for low-priority transactions. | ||
| Few wallets support the full range of features. The reasons for this can vary from; standards not being available when the wallet was first developed (newer address formats or HD wallets for example), the choice to not include anything that implies trusting a third party, or simply because it does not fit the intended use case for the software. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| The features you include should be based on the needs of your users. Try to maximize interoperability with other Bitcoin products by supporting modern standards and emerging technologies. For example, a wallet project started today should almost certainly support the Lightning network. | ||
|
|
||
| Due to Bitcoin’s open-source nature, anyone with the technical skills can develop a Bitcoin wallet. Many code libraries are available to simplify this task. | ||
|
|
||
| </div> | ||
|
|
||
| ## Wallets | ||
| ## Exchanges | ||
|
|
||
| <div class="center" markdown="1"> | ||
|
|
||
| Exchanges let users swap between currencies and networks (for example USD to bitcoin, or from the base layer to the Lightning network. They typically fall in three general categories. Consumer-focused exchanges let users make trades directly with the exchange. This is ideal for occasional use. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
pavlenex marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|
|
||
| {% include image.html | ||
| image = "/assets/images/guide/getting-started/software/wallet-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/wallet-example@2x.jpg" | ||
| alt-text = "Illustrative interface of a wallet application" | ||
| caption = "Wallet allow users to send, receive, and manage transactions." | ||
| image = "/assets/images/guide/getting-started/software/exchange-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/exchange-example@2x.jpg" | ||
| alt-text = "Illustrative interface for exchanging bitcoin" | ||
| caption = 'Exchanges allow for trading between different currencies. Texture by [Bilal O.](https://unsplash.com/@lightcircle){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| width = 400 | ||
| height = 396 | ||
| height = 388 | ||
| layout = "float-right-desktop" | ||
| %} | ||
|
|
||
| Wallets are perhaps the most important Bitcoin applications. They provide easy-to-use graphical user interfaces (GUIs) designed for broad audiences that let bitcoin owners send, receive, store and manage their coins. Wallet GUIs don’t offer the full functionality of a CLI but instead focus on general use cases like making payments and browsing transactions. | ||
| Exchanges focused on investors and traders usually list many different cryptocurrencies. They allow users to trade with each other by submitting buy and sell requests on currency pairs. These products are generally for experienced users. They offer complex trading features and countless ways to analyze price movements. | ||
|
|
||
| Due to Bitcoin’s open-source nature, anyone with the technical skills can develop a Bitcoin wallet. Many code libraries are available to simplify this task. | ||
| Decentralized exchanges fall in between these categories, focusing on occasional use or trading, but are, as their name implies, based on an open marketplace without a central authority. | ||
|
|
||
| Wallet features vary by application but always include wallet setup, balance and transaction records, and the ability to send and receive bitcoin. The full range of features that wallets may support is broad and includes security and privacy options, currency exchange features, accounting tools, interoperability, accessibility, and localization options. The features you include should be based on the needs of your users. | ||
| </div> | ||
|
|
||
| Some of these features come with highly complex technical challenges. One of which is reliance on third-party services, a sensitive topic for bitcoin applications since they require a high level of trust. Wallets may not support specific features or implement a component in a particular manner for this reason. | ||
| ## Explorers | ||
|
|
||
| Another reason is that standards continue to evolve as Bitcoin matures. Even fundamental aspects of Bitcoin like address formats and key generation are implementable in incompatible ways. | ||
| If the blockchain is a public database, explorers are simply windows into that database. | ||
|
|
||
| </div> | ||
| For Bitcoin, block explorers let users view transaction data, latest blocks, block height, and so on. They also provide insight into bigger picture activity on the Bitcoin network, such as daily transaction numbers. For example, there are typically fewer transactions on weekends, which results in lower fees, which are ideal for low-priority transactions. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| As transactions in Lightning payment channels are not recorded on the blockchain, there are also Lightning network explorers. These let you see public information about the nodes and the network, such as channel count, capacity and status. Only participant nodes can look up specific transaction information in a channel. | ||
|
|
||
| {% include image.html | ||
| image = "/assets/images/guide/getting-started/software/explorer-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/explorer-example@2x.jpg" | ||
| alt-text = "Illustrative interface for block explorer software" | ||
| caption = 'Explorers offer insight into activiy on the Bitcoin and Lightning networks. Texture by [Mike van den Bos](https://unsplash.com/@mike_van_den_bos){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| width = 800 | ||
| height = 388 | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| %} | ||
|
|
||
| ## Payment processors | ||
|
|
||
|
|
@@ -105,7 +111,7 @@ Another reason is that standards continue to evolve as Bitcoin matures. Even fun | |
| image = "/assets/images/guide/getting-started/software/point-of-sale-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/point-of-sale-example@2x.jpg" | ||
| alt-text = "Illustrative interface for an online shop" | ||
| caption = 'Payment processors help merchants to sell good and manage inventory and accounting. Texture by [Majid Gheidarlou](https://unsplash.com/@majidvj){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| caption = 'Payment processors help merchants to sell goods and manage inventory and accounting. Texture by [Majid Gheidarlou](https://unsplash.com/@majidvj){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| width = 400 | ||
| height = 541 | ||
| layout = "float-right-desktop" | ||
|
|
@@ -115,47 +121,41 @@ Payment processing applications offer easy-to-use online stores and point-of-sal | |
|
|
||
| </div> | ||
|
|
||
| ## Exchanges | ||
| ## Nodes | ||
|
|
||
| <div class="center" markdown="1"> | ||
|
|
||
| Exchanges lets users swap between currencies and typically fall in three general categories. Consumer-focused exchanges let users make trades directly with the exchange. This is ideal for occasional use. | ||
|
|
||
|
|
||
| {% include image.html | ||
| image = "/assets/images/guide/getting-started/software/exchange-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/exchange-example@2x.jpg" | ||
| alt-text = "Illustrative interface for exchanging bitcoin" | ||
| caption = 'Exchanges allow for trading between different currencies. Texture by [Bilal O.](https://unsplash.com/@lightcircle){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| image = "/assets/images/guide/getting-started/software/node-ui-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/node-ui-example@2x.jpg" | ||
| alt-text = "Illustrative interface for node software" | ||
| caption = 'Node applications connect to and participate in the bitcoin network. Texture by [okeykat](https://unsplash.com/@okeykat){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| width = 400 | ||
| height = 388 | ||
| height = 426 | ||
| layout = "float-right-desktop" | ||
| %} | ||
|
|
||
| Exchanges focused on investors and traders usually list many different cryptocurrencies. They allow users to trade with each other by submitting buy and sell requests on currency pairs. These products are generally for experienced users. They offer complex trading features and countless ways to analyze price movements. | ||
| Bitcoin [node]({{ '/guide/glossary/node/' | relative_url }}) software connects to and participates in the Bitcoin network. [Full nodes]({{ '/guide/glossary/node/#full-nodes/' | relative_url }}) verify transaction data on the blockchain and ensure the Bitcoin rules are being followed by network participants. A [light node]({{ '/guide/glossary/node/#light-nodes/' | relative_url }}) connects to the Bitcoin network but does not verify or enforce the rules. Some wallet software comes with built-in full node capabilities, such as [Bitcoin Core]({{ '/guide/glossary/#bitcoin-core-client/' | relative_url }}), but most wallet software act as light nodes. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| Decentralized exchanges fall in between these categories, focusing on occasional use or trading, but are, as their name implies, based on an open marketplace without a central authority. | ||
| Lightning node software connects to and participates in the Lightning network, which extends Bitcoin with payment channels to increase transaction speed and lower costs. It is becoming widely adopted and accepted as the preferred way to scale Bitcoin. | ||
| It’s common to use node management software. This simplifies the setup, management and monitoring of nodes by providing graphical user interfaces to interact with the lower level node software instead of CLIs. | ||
|
||
|
|
||
| </div> | ||
|
|
||
| ## Nodes | ||
| ## Command-line interfaces (CLI) | ||
|
|
||
| <div class="center" markdown="1"> | ||
| Primarily used by developers, CLIs offer feature-rich ways to interact with nodes and other Bitcoin software. They can be thought of as general-purpose toolboxes, so they require certain technical knowledge and are not optimized for specific use cases. New features are often first included in a CLI and then later added to graphical user interfaces (GUI). | ||
|
|
||
| {% include image.html | ||
| image = "/assets/images/guide/getting-started/software/node-ui-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/node-ui-example@2x.jpg" | ||
| alt-text = "Illustrative interface for node software" | ||
| caption = 'Node applications connect to and participate in the bitcoin network. Texture by [okeykat](https://unsplash.com/@okeykat){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| width = 400 | ||
| height = 426 | ||
| layout = "float-right-desktop" | ||
| image = "/assets/images/guide/getting-started/software/cli-example.jpg" | ||
| retina = "/assets/images/guide/getting-started/software/cli-example@2x.jpg" | ||
| alt-text = "Illustrative interface of a command-line interaction" | ||
| caption = 'Command line interfaces are text-only. Texture by [Joel Filipe](https://unsplash.com/@joelfilip){:target="_blank" rel="nofollow"} on [Unsplash](https://unsplash.com){:target="_blank" rel="nofollow"}.' | ||
| width = 800 | ||
| height = 350 | ||
| %} | ||
|
|
||
| A [node]({{ '/guide/glossary/node/' | relative_url }}) is simply a computer running a Bitcoin software. Nodes verify transaction data on the Bitcoin blockchain and ensure the Bitcoin rules are being followed by network participants. Some wallets have built-in nodes, and some node software comes packaged with wallet functionality. However, the minimum implementation of a node is syncing data and allowing other software a user has to access it. | ||
| </div> | ||
|
|
||
| ## Mining | ||
| ## Mining software | ||
|
|
||
| <div class="center" markdown="1"> | ||
|
|
||
|
|
@@ -169,8 +169,12 @@ A [node]({{ '/guide/glossary/node/' | relative_url }}) is simply a computer runn | |
| layout = "float-right-desktop" | ||
| %} | ||
|
|
||
| Bitcoin mining is the act of confirming the next block in the blockchain by being the first to solve a computationally intense math problem. The successful miner receives a block reward and the fees for the transactions contained in the new block in bitcoin. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| Mining has become primarily a professional undertaking with dedicated software to manage racks of mining hardware. However, some wallets still offer mining features, and there are also cloud mining providers that allow customers to rent mining capacity. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| For the Lightning network, transaction confirmation by mining is only required when opening or closing a channel. Instead, node operators are incentivized to maintain payment channels with sufficient liquidity to other nodes by the option to charge a small fee for allowing payments to be routed through them when no direct channel exists between sender and receiver. | ||
danielnordh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.