Guest User

Untitled

a guest
Jul 30th, 2014
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.55 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Author: http://www.reddit.com/user/Renben9/
  4.  
  5. # For this to work you'll need the packages
  6. #   * qrencode (to generate the QR-codes)
  7. #   * texlive-fonts-extra (for the dejavu-fonts)
  8. #   * kome script for latex
  9. #   * basic latex packages
  10.  
  11. # Keys are generated by appending a counter from 1 to n to this seed
  12. # Paste something high entrpy here
  13. # I wouldn't use any spaces or special symbols
  14. seed='correct-horse-battery-staple'
  15.  
  16. startNr=1
  17. endNr=10
  18.  
  19. declare -a addressArray
  20. declare -a keyArray
  21.  
  22. # Generates Address/Key-Pairs and the QR-Codes
  23. function genKey() {
  24.  
  25.    curInput=${1}-${2}
  26.  
  27.    curAddress=`${HOME}/bin/brainwallet.py ${curInput} | cut -d\' -f2`
  28.    curKey=`${HOME}/bin/brainwallet.py $curInput | cut -d\' -f4`
  29.  
  30.    echo -n "$curAddress" | qrencode -s 10 -l M -o address-${2}.png
  31.    echo -n "$curKey" | qrencode -s 10 -l M -o key-${2}.png
  32.    
  33.    addressArray[$2]=$curAddress
  34.    keyArray[$2]=$curKey
  35. }
  36.  
  37.  
  38. # General Part
  39. echo '\documentclass[a4paper,12pt,landscape,DIV59]{scrartcl}' > dok.tex
  40. echo '\usepackage[utf8]{inputenc}' >> dok.tex
  41. echo '\usepackage[english]{babel}' >> dok.tex
  42. echo '\usepackage{graphicx}' >> dok.tex
  43. echo '\usepackage{dejavu}' >> dok.tex
  44. echo '' >> dok.tex
  45. echo '\renewcommand\familydefault{\sfdefault}' >> dok.tex
  46. echo '' >> dok.tex
  47. echo '\usepackage[T1]{fontenc}' >> dok.tex
  48. echo '' >> dok.tex
  49. echo '\setlength{\columnseprule}{0.4pt}' >> dok.tex
  50. echo '' >> dok.tex
  51.  
  52. echo '\begin{document}' >> dok.tex
  53. echo '' >> dok.tex
  54.  
  55.  
  56.  
  57. # This For-Loop generates the LaTeX-Code for the paper wallets
  58.  
  59. for i in `seq $startNr $endNr`; do
  60.  
  61.    genKey $seed ${i}
  62.  
  63. echo '\begin{tabular}[ht]{ p{0.32\textwidth}   p{0.32\textwidth}  p{0.32\textwidth} }' >> dok.tex
  64. echo '' >> dok.tex
  65. echo '  % TOP LEFT' >> dok.tex
  66. echo '' >> dok.tex
  67. echo '  \begin{center}' >> dok.tex
  68. echo '      \begin{large}' >> dok.tex
  69. echo '          What is a bitcoin address and a private key?' >> dok.tex
  70. echo '      \end{large}' >> dok.tex
  71. echo '  \end{center}' >> dok.tex
  72. echo '  &' >> dok.tex
  73. echo '' >> dok.tex
  74. echo '  % TOP CENTER' >> dok.tex
  75. echo '  \begin{center}' >> dok.tex
  76. echo '    ' >> dok.tex      
  77. echo '  \end{center}' >> dok.tex
  78. echo '  &' >> dok.tex
  79. echo '' >> dok.tex
  80. echo '' >> dok.tex
  81. echo '  % TOP RIGHT' >> dok.tex
  82. echo '  \begin{center}' >> dok.tex
  83. echo '    \includegraphics[width=0.25\textwidth]{./bitcoinlogo.png}' >> dok.tex
  84. echo '  \end{center}' >> dok.tex
  85. echo '  \\' >> dok.tex
  86. echo '' >> dok.tex
  87. echo '' >> dok.tex
  88. echo '  % BOTTOM LEFT' >> dok.tex
  89. echo '  \vspace*{5mm}' >> dok.tex
  90. echo '' >> dok.tex
  91. echo '  Your bitcoin balance is the sum total of the amounts trasferred to your address minus the amounts transferred away from that address.' >> dok.tex
  92. echo '  ' >> dok.tex
  93. echo '  A decentralized peer-to-peer network secures those transactions. The computers securing the network are called miners, they get the fees collected from the transactions.' >> dok.tex
  94. echo '  ' >> dok.tex
  95. echo '  To send bitcoins, your wallet software digitally signs the transactions you create with the private key. \textbf{Who ever has the private key has control over your bitcoins. This is why it is important to secure them properly against malware, thiefs and hackers.}' >> dok.tex
  96. echo '' >> dok.tex
  97. echo '  \vspace*{2mm}' >> dok.tex
  98. echo '  ' >> dok.tex
  99. echo '  How to sweep your money to your own wallet ' >> dok.tex
  100. echo '' >> dok.tex
  101. echo '  \includegraphics[width=0.25\textwidth]{./greenarrow.png}' >> dok.tex
  102. echo '  ' >> dok.tex
  103. echo '  \begin{huge}' >> dok.tex
  104. echo '      Android, iOS, PC \& Mac ' >> dok.tex
  105. echo '  \end{huge} ' >> dok.tex
  106. echo '  &' >> dok.tex
  107. echo '' >> dok.tex
  108. echo '  % BOTTOM CENTER' >> dok.tex
  109. echo '  \begin{center}' >> dok.tex
  110. echo '      \begin{huge}' >> dok.tex
  111. echo '         Private Key' >> dok.tex
  112. echo '      \end{huge}' >> dok.tex
  113. echo ''
  114.  
  115. ######### key ##########
  116. # include key-png
  117. echo -n '\includegraphics[width=0.25\textwidth]{./' >> dok.tex
  118. echo -n "key-${i}.png" >> dok.tex
  119. echo '}' >> dok.tex
  120.  
  121. # include key text
  122. echo ''
  123. echo '\begin{large}' >> dok.tex
  124. echo "    ${keyArray[$i]:0:17}" >> dok.tex
  125. echo '' >> dok.tex
  126. echo "    ${keyArray[$i]:17:17}" >> dok.tex
  127. echo '' >> dok.tex
  128. echo "    ${keyArray[$i]:34:100}" >> dok.tex
  129. echo '\end{large}' >> dok.tex
  130. ########################
  131.  
  132. echo '' >> dok.tex
  133. echo '' >> dok.tex
  134. echo '      \vspace*{20mm}' >> dok.tex
  135. echo '' >> dok.tex
  136. echo '      Keep this key save until you sweeped into your own wallet!' >> dok.tex
  137. echo '' >> dok.tex
  138. echo '  \end{center}' >> dok.tex
  139. echo '  &' >> dok.tex
  140. echo '' >> dok.tex
  141. echo '  % BOTTOM RIGHT' >> dok.tex
  142. echo '  \begin{center}' >> dok.tex
  143. echo '      \begin{huge}' >> dok.tex
  144. echo '          Address' >> dok.tex
  145. echo '      \end{huge}' >> dok.tex
  146. echo '' >> dok.tex
  147.  
  148. ######### address #########
  149. # include address-png
  150. echo -n '        \includegraphics[width=0.25\textwidth]{./' >> dok.tex
  151. echo -n "address-${i}.png" >> dok.tex
  152. echo '}' >> dok.tex
  153. echo '' >> dok.tex
  154.  
  155. # include address text
  156. echo '\begin{large}' >> dok.tex
  157. echo "${addressArray[$i]:0:15}" >> dok.tex
  158. echo " " >> dok.tex
  159. echo "${addressArray[$i]:15:15}" >> dok.tex
  160. echo " " >> dok.tex
  161. echo "${addressArray[$i]:30:15}" >> dok.tex
  162. echo " " >> dok.tex
  163. echo '\end{large}' >> dok.tex
  164. ###########################
  165.  
  166.  
  167. echo '      \vspace*{15mm}' >> dok.tex
  168. echo '      Amount in Bitcoin:' >> dok.tex
  169. echo '' >> dok.tex
  170. echo '      \vspace*{10mm}' >> dok.tex
  171. echo '' >> dok.tex
  172. echo '      Amount in Euros:' >> dok.tex
  173. echo '' >> dok.tex
  174. echo '  \end{center}' >> dok.tex
  175. echo '  \\' >> dok.tex
  176. echo '\end{tabular}' >> dok.tex
  177. #echo '\pagebreak' >> dok.tex
  178. done
  179.  
  180. echo '\end{document}' >> dok.tex
Add Comment
Please, Sign In to add comment