Skip to content

Commit be69c59

Browse files
authored
Merge pull request #473 from BitcoinDesign/getting-started/software-overview-lightning
Update Getting started - Software overview with Lightning content
2 parents f25812b + 1899025 commit be69c59

File tree

7 files changed

+68
-61
lines changed

7 files changed

+68
-61
lines changed
284 KB
Loading
772 KB
Loading
248 KB
Loading
800 KB
Loading
99.7 KB
Loading
340 KB
Loading

guide/getting-started/software.md

Lines changed: 68 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ could be to create sub-pages for each category to discusss it in more detail.
1818
1919
Illustration sources
2020
21-
- https://www.figma.com/file/VB3GQdAnhl8yta44DY3PSV/Bitcoin-Wallet-UI-Kit?node-id=148%3A174
21+
- https://www.figma.com/file/JxAYVV6pkXLvh60I62RQ6o/BDG-Software-overview-illustrations?node-id=1%3A2
2222
2323
-->
2424

@@ -36,66 +36,74 @@ Illustration sources
3636

3737
# Software overview
3838

39-
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.
39+
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.
4040

41-
## Command-line interfaces (CLI)
42-
43-
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).
44-
45-
{% include image.html
46-
image = "/assets/images/guide/getting-started/software/cli-example.jpg"
47-
retina = "/assets/images/guide/getting-started/software/cli-example@2x.jpg"
48-
alt-text = "Illustrative interface of a command-line interaction"
49-
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"}.'
50-
width = 800
51-
height = 350
52-
%}
53-
54-
## Block explorers
41+
## Wallets
5542

5643
<div class="center" markdown="1">
5744

5845
{% include image.html
59-
image = "/assets/images/guide/getting-started/software/explorer-example.jpg"
60-
retina = "/assets/images/guide/getting-started/software/explorer-example@2x.jpg"
61-
alt-text = "Illustrative interface for block explorer software"
62-
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"}.'
46+
image = "/assets/images/guide/getting-started/software/wallet-example.jpg"
47+
retina = "/assets/images/guide/getting-started/software/wallet-example@2x.jpg"
48+
alt-text = "Illustrative interface of a wallet application"
49+
caption = "Wallets allow users to send, receive, and manage transactions."
6350
width = 400
64-
height = 388
51+
height = 396
6552
layout = "float-right-desktop"
6653
%}
6754

68-
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.
55+
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]({{ '/guide/payments/send/' | relative_url }}), [receive]({{ '/guide/payments/receive/' | relative_url }}), store and manage their coins.
6956

70-
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.
57+
Wallet features vary by application but always include [wallet setup]({{ '/guide/designing-products/common-user-flows/#software-onboarding' | relative_url }}), balance and transaction records, and the ability to [send]({{ '/guide/payments/send/' | relative_url }}) and [receive]({{ '/guide/payments/receive/' | relative_url }}) bitcoin. The full range of features that wallets may support is broad and includes security and [privacy]({{ '/guide/payments/privacy/' | relative_url }}) options, currency exchange features, accounting tools, [interoperability]({{ '/guide/designing-products/principles/#interoperability' | relative_url }}), accessibility, and localization options.
58+
59+
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]({{ '/guide/glossary/address/' | relative_url }}) or [HD wallets]({{ '/guide/glossary/wallet/#hd-wallet' | relative_url }}) 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.
60+
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.
61+
62+
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.
7163

7264
</div>
7365

74-
## Wallets
66+
## Exchanges
7567

7668
<div class="center" markdown="1">
7769

70+
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.
71+
72+
7873
{% include image.html
79-
image = "/assets/images/guide/getting-started/software/wallet-example.jpg"
80-
retina = "/assets/images/guide/getting-started/software/wallet-example@2x.jpg"
81-
alt-text = "Illustrative interface of a wallet application"
82-
caption = "Wallet allow users to send, receive, and manage transactions."
74+
image = "/assets/images/guide/getting-started/software/exchange-example.jpg"
75+
retina = "/assets/images/guide/getting-started/software/exchange-example@2x.jpg"
76+
alt-text = "Illustrative interface for exchanging bitcoin"
77+
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"}.'
8378
width = 400
84-
height = 396
79+
height = 388
8580
layout = "float-right-desktop"
8681
%}
8782

88-
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.
83+
Consumer-focused exchanges let users buy and sell directly with the exchange. This is good for occasional use.
8984

90-
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.
85+
Exchanges focused on investors and traders usually list many different cryptocurrencies. They allow users to trade with each other by submitting buy and sell orders on currency pairs. These products are generally for experienced users. They offer complex trading features and ways to analyze price movements.
9186

92-
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.
87+
Decentralized exchanges focus on occasional use or trading, and are, as their name implies, based on an open marketplace without a central authority.
9388

94-
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.
89+
</div>
9590

96-
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.
91+
## Explorers
9792

98-
</div>
93+
If the blockchain is a public database, explorers are simply windows into that database.
94+
95+
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, resulting in lower fees, ideal for low-priority transactions.
96+
97+
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.
98+
99+
{% include image.html
100+
image = "/assets/images/guide/getting-started/software/explorer-example.jpg"
101+
retina = "/assets/images/guide/getting-started/software/explorer-example@2x.jpg"
102+
alt-text = "Illustrative interface for block explorer software"
103+
caption = 'Explorers offer insight into activity 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"}.'
104+
width = 800
105+
height = 492
106+
%}
99107

100108
## Payment processors
101109

@@ -105,7 +113,7 @@ Another reason is that standards continue to evolve as Bitcoin matures. Even fun
105113
image = "/assets/images/guide/getting-started/software/point-of-sale-example.jpg"
106114
retina = "/assets/images/guide/getting-started/software/point-of-sale-example@2x.jpg"
107115
alt-text = "Illustrative interface for an online shop"
108-
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"}.'
116+
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"}.'
109117
width = 400
110118
height = 541
111119
layout = "float-right-desktop"
@@ -115,47 +123,42 @@ Payment processing applications offer easy-to-use online stores and point-of-sal
115123

116124
</div>
117125

118-
## Exchanges
126+
## Nodes
119127

120128
<div class="center" markdown="1">
121129

122-
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.
123-
124-
125130
{% include image.html
126-
image = "/assets/images/guide/getting-started/software/exchange-example.jpg"
127-
retina = "/assets/images/guide/getting-started/software/exchange-example@2x.jpg"
128-
alt-text = "Illustrative interface for exchanging bitcoin"
129-
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"}.'
131+
image = "/assets/images/guide/getting-started/software/node-ui-example.jpg"
132+
retina = "/assets/images/guide/getting-started/software/node-ui-example@2x.jpg"
133+
alt-text = "Illustrative interface for node software"
134+
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"}.'
130135
width = 400
131-
height = 388
136+
height = 426
132137
layout = "float-right-desktop"
133138
%}
134139

135-
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.
140+
Bitcoin [node]({{ '/guide/glossary/node/' | relative_url }}) software connects to and participates in the Bitcoin network. Nodes typically download and broadcast user transactions, and optionally help verify blockchain data more broadly. Some wallet software comes with built-in node capabilities, such as [Bitcoin Core]({{ '/guide/glossary/#bitcoin-core-client/' | relative_url }}), but most wallet software connects to external nodes. Learn more on the [Node page]({{ '/guide/glossary/node/' | relative_url }}) in the glossary.
136141

137-
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.
142+
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.
143+
144+
It’s common to use node management software, separate from the node software itself. 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.
138145

139146
</div>
140147

141-
## Nodes
148+
## Command-line interfaces (CLI)
142149

143-
<div class="center" markdown="1">
150+
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).
144151

145152
{% include image.html
146-
image = "/assets/images/guide/getting-started/software/node-ui-example.jpg"
147-
retina = "/assets/images/guide/getting-started/software/node-ui-example@2x.jpg"
148-
alt-text = "Illustrative interface for node software"
149-
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"}.'
150-
width = 400
151-
height = 426
152-
layout = "float-right-desktop"
153+
image = "/assets/images/guide/getting-started/software/cli-example.jpg"
154+
retina = "/assets/images/guide/getting-started/software/cli-example@2x.jpg"
155+
alt-text = "Illustrative interface of a command-line interaction"
156+
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"}.'
157+
width = 800
158+
height = 350
153159
%}
154160

155-
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.
156-
</div>
157-
158-
## Mining
161+
## Mining software
159162

160163
<div class="center" markdown="1">
161164

@@ -169,7 +172,11 @@ A [node]({{ '/guide/glossary/node/' | relative_url }}) is simply a computer runn
169172
layout = "float-right-desktop"
170173
%}
171174

172-
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.
175+
Bitcoin [mining]({{ '/guide/getting-started/technology-primer/#how-are-transactions-confirmed' | relative_url }}) is the act of confirming transactions by solving a computationally intense problem, which is rewarded via freshly minted bitcoin and transaction fees.
176+
177+
Mining has become primarily a professional undertaking with dedicated software to manage racks of [mining hardware]({{ '/guide/getting-started/hardware/#miners' | relative_url }}). However, some wallets still offer mining features, and there are also cloud mining providers that allow customers to rent mining capacity.
178+
179+
Mining does not exist for transactions on the Lightning network, so there is no equivalent software. However, opening and closing payment channels on Lightning involve transactions, that need to be mined on the Bitcoin network.
173180

174181
</div>
175182

0 commit comments

Comments
 (0)