Skip to content

Commit 2c61577

Browse files
authored
Merge pull request #246 from KoreaComK/chapter04
Chapter 04 Translated by @KoreaComK review made by @namcios
2 parents 072a9f7 + 5c4265c commit 2c61577

17 files changed

+2477
-9
lines changed

05_2_Resending_a_Transaction_with_RBF.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
If your Bitcoin transaction is stuck, and you're the sender, you can resend it using RBF (replace-by-fee). However, that's not all that RBF can do: it's generally a powerful and multipurpose feature that allows Bitcoin senders to recreate transactions for a variety of reasons.
44

5-
> :warning: **VERSION WARNING:** This is an innovation from Bitcoin Core v 0.12.0,that reached full maturity in the Bitcoin Core wallet with Bitcoin Core v 0.14.0. Obviously, most people should be using it by now.
5+
> :warning: **VERSION WARNING:** This is an innovation from Bitcoin Core v 0.12.0, that reached full maturity in the Bitcoin Core wallet with Bitcoin Core v 0.14.0. Obviously, most people should be using it by now.
66
77
## Opt-In for RBF
88

09_2_Running_a_Bitcoin_Script.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Bitcoin Scripts are run from left to right. That sounds easy enough, because it'
1212

1313
For example, if you were adding together "1" and "2", your Bitcoin Script for that would be `1 2 OP_ADD`, _not_ "1 + 2". Since we know that OP_ADD operator takes two inputs, we know that the two inputs before it are its operands.
1414

15-
> :warning: **WARNING:** Technically, everything in Bitcoin Script is an opcode, thus it would be most appropriate to record the above example as `OP_1 OP_2 OP_ADD`. In our examples, we don't worry about how the constants will be evaluated, as that's a topic of translation, as is explained in [§8.2: Building the Structure of P2SH](08_2_Building_the_Structure_of_P2SH.md). Some writers prefer to also leave the "OP" prefix off all operators, but we have opted not to.
15+
> :warning: **WARNING:** Technically, everything in Bitcoin Script is an opcode, thus it would be most appropriate to record the above example as `OP_1 OP_2 OP_ADD`. In our examples, we don't worry about how the constants will be evaluated, as that's a topic of translation, as is explained in [§8.2: Building the Structure of P2SH](10_2_Building_the_Structure_of_P2SH.md). Some writers prefer to also leave the "OP" prefix off all operators, but we have opted not to.
1616
1717
### Understand the Stack
1818

17_2_Accessing_Bitcoind_with_Java.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ You now can sign transaction with the method `signRawTransactionWithKey`. This m
273273
Finally, sending requires the `sendRawTransaction` command:
274274
```java
275275
String sentRawTransactionID = rpcClient.sendRawTransaction(srTx.hex());
276-
System.out.println("Sent signedRawTx (txID): " + sentRawTransactionID);```
276+
System.out.println("Sent signedRawTx (txID): " + sentRawTransactionID);
277277
```
278278

279279
### Run Your Code

Chapter_word_counts.ipynb

Lines changed: 388 additions & 0 deletions
Large diffs are not rendered by default.

Chapter_word_counts.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
## Translatable word counts by chapter
2+
3+
Ignores code blocks and other non-translatable characters
4+
5+
Chapter|Word Count
6+
---|---
7+
01_0_Introduction.md|1144
8+
01_1_Introducing_Bitcoin.md|2735
9+
02_0_Setting_Up_a_Bitcoin-Core_VPS.md|226
10+
02_1_Setting_Up_a_Bitcoin-Core_VPS_with_StackScript.md|2746
11+
02_2_Setting_Up_Bitcoin_Core_Other.md|254
12+
03_0_Understanding_Your_Bitcoin_Setup.md|248
13+
03_1_Verifying_Your_Bitcoin_Setup.md|773
14+
03_2_Knowing_Your_Bitcoin_Setup.md|517
15+
03_3_Setting_Up_Your_Wallet.md|1699
16+
03_3__Interlude_Using_Command-Line_Variables.md|347
17+
03_4_Receiving_a_Transaction.md|1479
18+
03_5_Understanding_the_Descriptor.md|1349
19+
04_0_Sending_Bitcoin_Transactions.md|176
20+
04_1_Sending_Coins_The_Easy_Way.md|1195
21+
04_2_Creating_a_Raw_Transaction.md|1720
22+
04_2__Interlude_Using_JQ.md|1956
23+
04_3_Creating_a_Raw_Transaction_with_Named_Arguments.md|413
24+
04_4_Sending_Coins_with_a_Raw_Transaction.md|1024
25+
04_4__Interlude_Using_Curl.md|1643
26+
04_5_Sending_Coins_with_Automated_Raw_Transactions.md|614
27+
04_6_Creating_a_Segwit_Transaction.md|1172
28+
05_0_Controlling_Bitcoin_Transactions.md|149
29+
05_1_Watching_for_Stuck_Transactions.md|595
30+
05_2_Resending_a_Transaction_with_RBF.md|1372
31+
05_3_Funding_a_Transaction_with_CPFP.md|827
32+
06_0_Expanding_Bitcoin_Transactions_Multisigs.md|155
33+
06_1_Sending_a_Transaction_to_a_Multisig.md|1764
34+
06_2_Spending_a_Transaction_to_a_Multisig.md|1079
35+
06_3_Sending_an_Automated_Multisig.md|613
36+
07_0_Expanding_Bitcoin_Transactions_PSBTs.md|169
37+
07_1_Creating_a_Partially_Signed_Bitcoin_Transaction.md|1470
38+
07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md|1393
39+
07_3_Integrating_with_Hardware_Wallets.md|2150
40+
08_0_Expanding_Bitcoin_Transactions_Other.md|139
41+
08_1_Sending_a_Transaction_with_a_Locktime.md|1483
42+
08_2_Sending_a_Transaction_with_Data.md|580
43+
09_0_Introducing_Bitcoin_Scripts.md|196
44+
09_1_Understanding_the_Foundation_of_Transactions.md|989
45+
09_2_Running_a_Bitcoin_Script.md|863
46+
09_3_Testing_a_Bitcoin_Script.md|1000
47+
09_4_Scripting_a_P2PKH.md|838
48+
09_5_Scripting_a_P2WPKH.md|845
49+
10_0_Embedding_Bitcoin_Scripts_in_P2SH_Transactions.md|170
50+
10_1_Understanding_the_Foundation_of_P2SH.md|1164
51+
10_2_Building_the_Structure_of_P2SH.md|1284
52+
10_3_Running_a_Bitcoin_Script_with_P2SH.md|323
53+
10_4_Scripting_a_Multisig.md|1016
54+
10_5_Scripting_a_Segwit_Script.md|750
55+
10_6_Spending_a_P2SH_Transaction.md|384
56+
11_0_Empowering_Timelock_with_Bitcoin_Scripts.md|108
57+
11_1_Understanding_Timelock_Options.md|557
58+
11_2_Using_CLTV_in_Scripts.md|1197
59+
11_3_Using_CSV_in_Scripts.md|1470
60+
12_0_Expanding_Bitcoin_Scripts.md|99
61+
12_1_Using_Script_Conditionals.md|1120
62+
12_2_Using_Other_Script_Commands.md|407
63+
13_0_Designing_Real_Bitcoin_Scripts.md|116
64+
13_1_Writing_Puzzle_Scripts.md|998
65+
13_2_Writing_Complex_Multisig_Scripts.md|996
66+
13_3_Empowering_Bitcoin_with_Scripts.md|1467
67+
14_0_Using_Tor.md|116
68+
14_1_Verifying_Your_Tor_Setup.md|1568
69+
14_2_Changing_Your_Bitcoin_Hidden_Services.md|434
70+
14_3_Adding_SSH_Hidden_Services.md|330
71+
15_0_Talking_to_Bitcoind.md|254
72+
15_1_Accessing_Bitcoind_with_C.md|1238
73+
15_2_Programming_Bitcoind_with_C.md|1427
74+
15_3_Receiving_Bitcoind_Notifications_with_C.md|650
75+
16_0_Programming_with_Libwally.md|333
76+
16_1_Setting_Up_Libwally.md|559
77+
16_2_Using_BIP39_in_Libwally.md|939
78+
16_3_Using_BIP32_in_Libwally.md|959
79+
16_4_Using_PSBTs_in_Libwally.md|989
80+
16_5_Using_Scripts_in_Libwally.md|785
81+
16_6_Using_Other_Functions_in_Libwally.md|655
82+
16_7_Integrating_Libwally_and_Bitcoin-CLI.md|1380
83+
17_0_Talking_to_Bitcoind_Other.md|286
84+
17_1_Accessing_Bitcoind_with_Go.md|547
85+
17_2_Accessing_Bitcoind_with_Java.md|821
86+
17_3_Accessing_Bitcoind_with_NodeJS.md|393
87+
17_4_Accessing_Bitcoind_with_Python.md|1158
88+
17_5_Accessing_Bitcoind_with_Rust.md|829
89+
17_6_Accessing_Bitcoind_with_Swift.md|1503
90+
18_0_Understanding_Your_Lightning_Setup.md|192
91+
18_1_Verifying_Your_Lightning_Setup.md|1294
92+
18_2_Knowing_Your_lightning_Setup.md|399
93+
18_2__Interlude_Accessing_a_Second_Lightning_Node.md|886
94+
18_3_Setting_Up_a_Channel.md|1173
95+
19_0_Using_Lightning.md|146
96+
19_1_Generate_a_Payment_Request.md|968
97+
19_2_Paying_a_Invoice.md|604
98+
19_3_Closing_a_Channel.md|848
99+
19_4_Lightning_Network_Review.md|626
100+
A0_Appendices.md|112
101+
A1_0_Understanding_Bitcoin_Standup.md|420
102+
A2_0_Compiling_Bitcoin_from_Source.md|412
103+
A3_0_Using_Bitcoin_Regtest.md|980
104+
CLA.md|495
105+
CONTRIBUTING.md|529
106+
LICENSE-CC-BY-4.0.md|2716
107+
README.md|1705
108+
TRANSLATING.md|686
109+
TOTAL|89069

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ Learning Bitcoin from the Command Line is a tutorial for working with Bitcoin (a
99
1010
_This tutorial assumes that you have some minimal background of how to use the command line interface. If not, there are many tutorials available, and I have one for Mac users at https://github.com/ChristopherA/intro-mac-command-line._
1111

12+
## Translations
13+
14+
* [Portuguese](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/tree/portuguese-translation/pt) — in process
15+
* [Spanish](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/tree/spanish-translation/es) - in process
16+
17+
If you'd like to make your own translation, please see [Contributing](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/tree/master#contributing), below.
18+
1219
## Table of Contents
1320

1421
### PART ONE: PREPARING FOR BITCOIN

TRANSLATING.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,28 @@ Thank you for your interest in translating Learning Bitcoin from the Command Lin
99
* Choose a [Release](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/releases) as the basis of your translation. We generally suggest the latest release. This will ensure the consistency of all the files in your translation, will insulate you from any changes we make, and will make it easy to see what has changed when we create a new release.
1010
* If it looks like there hasn't been a new Release in a while, file an Issue saying you're interested in starting a new translation, and asking if it would make sense for there to be a new Release milestone before you do so. If there's been anything notable, and we're not in the middle of things, we'll likely create a new patch or minor version. If we're in the middle of things, we'll just suggest you use the previous Release.
1111
* Label your table of contents and each chapter or section with the release used.
12-
1. **Create a Branch.**
13-
* All work should be done in a branch, with work being submitted to the `master` branch as PRs.
14-
1. **Create a Directory.**
15-
* Create a top-level directory for your complete translation using the [ISO 639-1 language code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), for example `es` (Spanish), `fr` (French), or `pt` (Portuguese).
12+
1. **Request a Branch.**
13+
* File an [Issue](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/issues) requesting a new branch for your translation
14+
* This will be the master place for us to collect work on the translation over time.
15+
* We will create a top-level directory for your complete translation using the [ISO 639-1 language code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), for example `es` (Spanish), `fr` (French), or `pt` (Portuguese). Work should be done in that directory.
16+
1. **Fork the Branch.**
17+
* Once we've created a translation branch, you'll then want to fork that into your own GitHub account.
18+
* Generally, we suggest that you create one working fork for each separate chapter. This will allow you to work through the process of write/review/revise for each individual chapter without it getting tangled up with your new content for future chapters, and will allow us to merge the chapters as they're completed, which is our preference, and will help everyone to keep track of where things our.
1619
1. **Submit PRs a Chapter at a Time.**
17-
* Submit your PRs for the translation in batches of no more than a single chapter at a time.
20+
* Submit your PRs for the translation from your working fork to our translation branch in batches of no more than a single chapter at a time.
1821
* Submit in smaller batches if it makes sense, for example because different people are writing different sections.
22+
* Again, we suggest that there be a fork for each chapter, so when you submit your PR for one chapter, you'll usually then create a fork for the next chapter.
1923
1. **Request Approval from a Native Speaker.**
2024
* No one can ever do a great edit of their own work, so we require each section to be approved by someone other than the original translator.
2125
* This fundamentally means that any translation team _should_ contain at least two members, either one translator and one editor or else two people who trade off roles of translator and editor. If your team doesn't have a second member, we can put out a call for an editor/approver when you submit a PR, but it's possible that we won't be able to find one, and your hard work will languish, so it's s better to have one up front.
2226
1. **Request Approval from the Blockchain Commons Team.**
2327
* Once a chapter or section has been approved by a native speaker, request approval from someone on the Blockchain Commons team: currently [@shannona](https://github.com/shannona).
2428
1. **Continue!**
2529
* Continue through the process, no more than one chapter at a time, until you have a full book.
26-
* Be aware of the scope of the overall project. As of v2.01, Learning Bitcoin from the Command Line is 120,000 words in length. As a book, that'd be 250-400 pages, depending on the format and layout. (About 80,000 words of that is text to translate, with the remainder being code.) You want to make sure you have the time for that level of commitment before getting started.
30+
* Be aware of the scope of the overall project. As of v2.01, Learning Bitcoin from the Command Line is 120,000 words in length. As a book, that'd be 250-400 pages, depending on the format and layout. (About 90,000 words of that is text to translate, with the remainder being code.) You want to make sure you have the time for that level of commitment before getting started.
31+
1. **Let Us Know When You're Done.**
32+
* When you've completed your translation, file an issue to let us know that the translation branch is ready to be merged into the master.
33+
* This will also let us know to announce the completed translation and link it into the master README
2734
1. **Update Your Translation with New Releases**
2835
* It is our hope that translations will stay up to day with new releases, particularly major and minor releases, which are likely to include new content and updates. Currently, these only occur ever few years
2936
* If you have decided to stop updating a translation, please let us know in an Issue, so that we can let the community know that we are looking for a new translator to continue updating a translation.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Capítulo 4: Enviando Transações no Bitcoin
2+
3+
Este capítulo descreve três métodos diferentes para enviar bitcoins para endereços P2PKH normais à partir da linha de comando, usando apenas o ```bitcoin-cli```.
4+
5+
## Objetivos deste Capítulo
6+
7+
Depois de trabalhar neste capítulo, um desenvolvedor será capaz de:
8+
9+
* Decidir como enviar dinheiro usando o Bitcoin;
10+
* Criar uma transação bruta;
11+
* Usar aritmética para calcular as taxas.
12+
13+
Os objetivos secundários incluem a capacidade de:
14+
15+
* Compreender transações e taxas de transação;
16+
* Entender as transações ```legacy``` e ```SegWit```;
17+
* Usar métodos básicos para enviar dinheiro;
18+
* Usar métodos de cálculo de taxa automática para enviar dinheiro;
19+
* Entender os perigos de transações brutas.
20+
21+
## Tabela de Conteúdo
22+
23+
* [Seção 1: Enviando Moedas da Maneira Fácil](04_1_Sending_Coins_The_Easy_Way.md)
24+
* [Seção 2: Criando uma Transação Bruta](04_2_Creating_a_Raw_Transaction.md)
25+
* [Prefácio: Usando JQ](04_2__Interlude_Using_JQ.md)
26+
* [Seção 3: Criando uma Transação Bruta com Argumentos Nomeados](04_3_Creating_a_Raw_Transaction_with_Named_Arguments.md)
27+
* [Seção 4: Enviando Moedas com Transações Brutas](04_4_Sending_Coins_with_a_Raw_Transaction.md)
28+
* [Seção 5: Enviando Moedas com Transações Brutas Automatizadas](04_5_Sending_Coins_with_Automated_Raw_Transactions.md)
29+
* [Seção 6: Criando uma Transação SegWit](04_6_Creating_a_Segwit_Transaction.md)

0 commit comments

Comments
 (0)