From 142f75e8f302f99d34ed1b4e2ac51fed9e6892cc Mon Sep 17 00:00:00 2001 From: pointbiz Date: Sun, 22 Nov 2015 14:54:07 -0400 Subject: [PATCH 01/17] v3.1.0 add BIP38 encryption to Wallet Details tab --- CHANGELOG.txt | 4 ++++ CHANGELOG.txt.asc | 18 +++++++++++------- bitaddress.org.html | 1 - bitaddress.org.html.sig | 14 +++++++------- package.json | 4 ++-- src/ninja.unittests.js | 1 - 6 files changed, 24 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 7086260..161b173 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -28,6 +28,10 @@ END USER NOTES: Here is a signed list of file names and version history. +2015-11-22: status ACTIVE +bitaddress.org-v3.1.0-SHA256-c3d4d8da8fc6980435a520dff562b7f831b2f6037ec2d4dd6bf76c5321873303.html + - add BIP38 encryption on Wallet Details tab. + 2015-10-25: status ACTIVE bitaddress.org-v3.0.1-SHA256-24d2d7f047a9aa217bf69f3ef344c972c151b1e3f6a8aa86ceb9a3be62884bc0.html - fix for session log not keeping track of keys from "Wallet Details" tab before entropy is collected. diff --git a/CHANGELOG.txt.asc b/CHANGELOG.txt.asc index 574f7d5..77b6b10 100644 --- a/CHANGELOG.txt.asc +++ b/CHANGELOG.txt.asc @@ -31,6 +31,10 @@ END USER NOTES: Here is a signed list of file names and version history. +2015-11-22: status ACTIVE +bitaddress.org-v3.1.0-SHA256-c3d4d8da8fc6980435a520dff562b7f831b2f6037ec2d4dd6bf76c5321873303.html + - add BIP38 encryption on Wallet Details tab. + 2015-10-25: status ACTIVE bitaddress.org-v3.0.1-SHA256-24d2d7f047a9aa217bf69f3ef344c972c151b1e3f6a8aa86ceb9a3be62884bc0.html - fix for session log not keeping track of keys from "Wallet Details" tab before entropy is collected. @@ -306,11 +310,11 @@ bitaddress.org-v0.1-SHA1-f40e706490f3eb2be56c31ddbf4c8646cd51ef40.html -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (MingW32) -iQEcBAEBAgAGBQJWLWE7AAoJEIdJe5Fjl09aNdIH/AuVLeRqLu7eQOlZPRU6v1E+ -BNi+bgamlZSyo+IjvCz49QjzB/Yaa0zMtjwfWdlhTaA9UMiw0a0CD2lEMwFumDHw -oDk2mWgUGnSQEQvMT731z9kLVJRg681JUeLluaWSv4B7IAddGXtV2HlgzvX46WnX -ipKkPZcUy+QH596oyYeAfL3PX42KDm9MC3Bz3jS0N32nLvbvzDI+4f1PtVUqLJC3 -NjxZ4pbYpxb6/2pSJRGnDL8IxL8pCfCmxwN1rBi5V1+AngsiQc+NWnXfOxm0NLJN -QZzb8f5FNrbKlQQHkQgcutQK0SlNGrPVc3NZPaLobFUmFpluu/7UNI2bi1Orbxg= -=Y2pw +iQEcBAEBAgAGBQJWUg6qAAoJEIdJe5Fjl09afp8IAJvmclA316w8GOsOOoAd6+JO +dyJLa7PJ3xxELm3om3MLP3Am9em08ZQYNhccKVo2ZXOBcqoduSFsLVHfoNZ1/lQu +s6ISCPx/9P0slIdy4lJtj7S4bqLxWb8t10MgSOpPH8qag/XLDZxjETo3/LG1V5IL +sULWxFk+JS/rAt9A1yjAwO2Fk5NUEuWINCPfj8YUg2osKxgJFg7Qa1GdndVv9sRW +IF/IjZ/JTdLh3nqCtw6xfNe4Bzzv+0JLp+S4lB4ZJieaLoRPsPb72cwJq4JGyfrP +TGI9L1fkXNJEAbjIXxQP8WD19DNIQmq0EOc2j47O2zUhSvQtrxacZFZ12Z186V4= +=BewV -----END PGP SIGNATURE----- diff --git a/bitaddress.org.html b/bitaddress.org.html index ba35896..af4b8b6 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -11462,7 +11462,6 @@ ninja.wallets.splitwallet = { ]; ninja.runSerialized(testArray, done); - //TODO: ninja.runSerialized([ testArray[0],testArray[1] ], done); } } }; diff --git a/bitaddress.org.html.sig b/bitaddress.org.html.sig index 43fcba7..4544f4f 100644 --- a/bitaddress.org.html.sig +++ b/bitaddress.org.html.sig @@ -1,11 +1,11 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (MingW32) -iQEcBAABAgAGBQJWLWFMAAoJEIdJe5Fjl09arGsIAME5oLCA0YOKC+37MlSGTTbD -wGuYkYa6nXCxynAyG1E/obKoHBgxmvKEJDP7+5Q+KRIUCaj2M1YgrwYfpDtAYvxR -hma7BUXJgHQSStOdLTlLNiGOFhn1m0hFHBIV7vxt+eVd//ty0JRZWhdoMFTxjqPf -OqdvMe6bmo2wJiVog2QoYd19TgUfEWhGEes8uWBrz0RCMKa3J9tKR+iyP+xcBQGV -ZAxh404PXccFKJa7YKBuuytENwTpyUEOVHJo/gGhLoBl52TPRV7BfgV5/5PtTjlI -Jdvl3O/gibkknoC8mSyrHqjuFs+92v13JuKzXzWBj4iEYlRAPWGVlAbVuGonYZM= -=A9BF +iQEcBAABAgAGBQJWUg7BAAoJEIdJe5Fjl09aZZUH/0MKwbNX8fhAyfhFeaTAKRwM +mEtRrrvGY9v/OoeKnRas1LsfL/zuT0u1YtwnjFY8VX1ML3uu814TX0pnC5N2LyPC +5WGjoE7+COYNC6dghVJa9NP9U2tqwYSykheNvnJIML75DMnfX1W4XLxF+8rtQ+fc +Pdgkfvkv2RMvFxa5KFU7agNewI/p0/ngoh9gxfjYfItiiqmg5o2ZxiFpotFwVR8+ +xNeD5ZFLzU2NB/vta71e6wEO1Se7NOYYh8XF/9kKxurSuGD0p95OXpiRhtZ79nGs +Qlknkdl+PsLlrcXaarnQggWI6/5QIeqAcyj5jmAim+eyV6V/cERsutxHx+IbM1s= +=isNw -----END PGP SIGNATURE----- diff --git a/package.json b/package.json index fd4c374..f42bd61 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "bitaddress.org", "version": "3.1.0", - "sha1sum": "", - "sha256sum": "", + "sha1sum": "cd0806b7a95e31e27a9e88c516876f21d841a461", + "sha256sum": "c3d4d8da8fc6980435a520dff562b7f831b2f6037ec2d4dd6bf76c5321873303", "description": "Open Source JavaScript Client-Side Bitcoin Wallet Generator", "main": "Gruntfile.js", "dependencies": { diff --git a/src/ninja.unittests.js b/src/ninja.unittests.js index 5785a18..377db45 100644 --- a/src/ninja.unittests.js +++ b/src/ninja.unittests.js @@ -767,7 +767,6 @@ ]; ninja.runSerialized(testArray, done); - //TODO: ninja.runSerialized([ testArray[0],testArray[1] ], done); } } }; From e593231a91a3ec5f5ecc5db04affb51a5c1313a6 Mon Sep 17 00:00:00 2001 From: pointbiz Date: Fri, 15 Jan 2016 21:02:22 -0400 Subject: [PATCH 02/17] compressed and bip38 in progress --- bitaddress.org.html | 408 +++++++++++++++++++++++--------------- package.json | 6 +- src/bitaddress-ui.html | 36 ++-- src/ninja.bulkwallet.js | 187 ++++++++++------- src/ninja.singlewallet.js | 1 + src/ninja.translator.js | 178 +++++++++++------ 6 files changed, 500 insertions(+), 316 deletions(-) diff --git a/bitaddress.org.html b/bitaddress.org.html index af4b8b6..9467039 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -6633,20 +6633,20 @@ input[type=checkbox] { position: relative; z-index: 20; }
@@ -6692,7 +6692,7 @@ input[type=checkbox] { position: relative; z-index: 20; }
- Private Key (Wallet Import Format) + Private Key
@@ -6734,13 +6734,17 @@ input[type=checkbox] { position: relative; z-index: 20; }
- - + +
+
+ + +
- Comma Separated Values: Index,Address,Private Key (WIF) + Comma Separated Values: Index,Address,Private Key
@@ -7016,7 +7020,7 @@ input[type=checkbox] { position: relative; z-index: 20; }
⚠ Think twice! You appear to be running this generator online from a live website. For valuable wallets it is recommended to - download + download the zip file from GitHub and run this generator offline as a local html file.

@@ -7041,12 +7045,12 @@ input[type=checkbox] { position: relative; z-index: 20; } Donations: 1NiNja1bUmhSoTXozBRBEtR8LeF9TGbZBN GitHub Repository - (zip) + (zip)
- Version History (3.1.0) + Version History (3.2.0) 527B 5C82 B1F6 B2DB 72A0
ECBF 8749 7B91 6397 4F5A
@@ -7826,6 +7830,72 @@ ninja.translator = { return translation; }, + extractEnglishFromDomAndUpdateDictionary: function () { + var english = ninja.translator.translations["en"]; + var spanish = ninja.translator.translations["es"]; + var spanishClone = {}; + for (var key in spanish) { + spanishClone[key] = spanish[key]; + } + var newLang = {}; + for (var key in english) { + newLang[key] = english[key]; + delete spanishClone[key]; + } + for (var key in spanishClone) { + if (document.getElementById(key)) { + if (document.getElementById(key).value) { + newLang[key] = document.getElementById(key).value; + } + else { + newLang[key] = document.getElementById(key).innerHTML; + } + } + } + + ninja.translator.translations["en"] = newLang; + }, + + showEnglishJson: function () { + var english = ninja.translator.translations["en"]; + var spanish = ninja.translator.translations["es"]; + var spanishClone = {}; + for (var key in spanish) { + spanishClone[key] = spanish[key]; + } + var newLang = {}; + for (var key in english) { + newLang[key] = english[key]; + delete spanishClone[key]; + } + for (var key in spanishClone) { + if (document.getElementById(key)) { + if (document.getElementById(key).value) { + newLang[key] = document.getElementById(key).value; + } + else { + newLang[key] = document.getElementById(key).innerHTML; + } + } + } + var div = document.createElement("div"); + div.setAttribute("class", "englishjson"); + div.innerHTML = "

English Json

"; + var elem = document.createElement("textarea"); + elem.setAttribute("rows", "15"); + elem.setAttribute("cols", "110"); + elem.setAttribute("wrap", "off"); + var langJson = "{\n"; + for (var key in newLang) { + langJson += "\t\"" + key + "\"" + ": " + "\"" + newLang[key].replace(/\"/g, "\\\"").replace(/\n/g, "\\n") + "\",\n"; + } + langJson = langJson.substr(0, langJson.length - 2); + langJson += "\n}\n"; + elem.innerHTML = langJson; + div.appendChild(elem); + document.body.appendChild(div); + }, + translations: { "en": { // javascript alerts or messages @@ -7933,7 +8003,7 @@ ninja.translator = { "newaddress": "Generar dirección", "singleprint": "Imprimir", "singlelabelbitcoinaddress": "Dirección Bitcoin", - "singlelabelprivatekey": "Clave privada (formato para importar):", + "singlelabelprivatekey": "Clave privada:", "singletip1": "A Bitcoin wallet is as simple as a single pairing of a Bitcoin address with it's corresponding Bitcoin private key. Such a wallet has been generated for you in your web browser and is displayed above.", //TODO: please translate "singletip2": "To safeguard this wallet you must print or otherwise record the Bitcoin address and private key. It is important to make a backup copy of the private key and store it in a safe location. This site does not have knowledge of your private key. If you are familiar with PGP you can download this all-in-one HTML page and check that you have an authentic version from the author of this site by matching the SHA256 hash of this HTML with the SHA256 hash available in the signed version history document linked on the footer of this site. If you leave/refresh the site or press the Generate New Address button then a new private key will be generated and the previously displayed private key will not be retrievable. Your Bitcoin private key should be kept a secret. Whomever you share the private key with has access to spend all the bitcoins associated with that address. If you print your wallet then store it in a zip lock bag to keep it safe from water. Treat a paper wallet like cash.", //TODO: please translate "singletip3": "Add funds to this wallet by instructing others to send bitcoins to your Bitcoin address.", //TODO: please translate @@ -7958,7 +8028,7 @@ ninja.translator = { "bulkgenerate": "Generar", "bulkprint": "Imprimir", "bulklabelcsv": "Valores separados por coma:", - "bulklabelformat": "Índice,Dirección,Clave privada (formato para importar)", + "bulklabelformat": "Índice,Dirección,Clave privada", "bulklabelq1": "¿Por qué debo usar \"Direcciones en masa\" para aceptar Bitcoins en mi web?", "bulka1": "La forma tradicional de aceptar bitcoins en tu web requiere tener instalado el cliente oficial de bitcoin (\"bitcoind\"). Sin embargo muchos servicios de hosting no permiten instalar dicho cliente. Además, ejecutar el cliente en tu servidor supone que las claves privadas están también en el servidor y podrían ser comprometidas en caso de intrusión. Al usar este mecanismo, puedes subir al servidor sólo las dirección de bitcoin y no las claves privadas. De esta forma no te tienes que preocupar de que alguien robe la cartera si se cuelan en el servidor.", "bulklabelq2": "¿Cómo uso \"Direcciones en masa\" para aceptar bitcoins en mi web?", @@ -7967,6 +8037,8 @@ ninja.translator = { "bulklabela2li3": "Ofrece una alternativa en el carro de la compra de tu web para que los clientes paguen con Bitcoin. Cuando el cliente elija pagar con Bitcoin, les muestras una de las direcciones de la base de datos como su \"dirección de pago\" y guardas esto junto con el pedido.", "bulklabela2li4": "Ahora te hace falta recibir una notificación del pago. Busca en google \"notificación de pagos bitcoin\" (o \"bitcoin payment notification\" en inglés) y suscríbete a alguno de los servicios que aparezcan. Hay varios de ellos, que te pueden notificar vía Web services, API, SMS, email, etc. Una vez te llegue la notificación, lo cual puede ser automatizado, entonces ya puedes procesar el pedido. Para comprobar a mano si has recibido un pago, puedes usar Block Explorer: reemplaza DIRECCION a continuación por la dirección que estés comprobando. La transacción puede tardar entre 10 minutos y una hora en ser confirmada.
http://www.blockexplorer.com/address/DIRECCION

Puedes ver las transacciones sin confirmar en: http://blockchain.info/
Las transacciones sin confirmar suelen aparecer ahí en unos 30 segundos.", "bulklabela2li5": "Las bitcoins que recibas se almacenarán de forma segura en la cadena de bloques. Usa la cartera original que generaste en el paso 1 para usarlas.", + "bulklabelBIPpassphrase": "Passphrase:", //TODO: please translate + "bulklabelencrypt": "BIP38 Encrypt?", //TODO: please translate // brain wallet html "brainlabelenterpassphrase": "Contraseña:", @@ -8098,7 +8170,7 @@ ninja.translator = { "newaddress": "Générer Une Nouvelle Adresse", "singleprint": "Imprimer", "singlelabelbitcoinaddress": "Adresse Bitcoin:", - "singlelabelprivatekey": "Clé Privée (Format d'importation de porte-monnaie):", + "singlelabelprivatekey": "Clé Privée:", "singletip1": "Un porte-monnaie Bitcoin est aussi simple qu'une paire d'adresses Bitcoin dont une correspond à l'adresse privée Bitcoin. Ce porte-monnaie affiché a été généré pour vous dans votre propre navigateur internet et est donc affiché ci-dessus.", "singletip2": "Pour garder en sécurité ce porte-monnaie, vous devez l'imprimer ou, alternativement, enregistrer l'adresse de réception Bitcoin et la clé privée. Il est important de créer une copie de sauvegarde de la clé privée et de la stocker à un endroit sûr. Ce site n'a aucune base prédéterminée ou de sauvegarde de votre clé privée. Si vous êtes initiés à PGP, vous pouvez télécharger la version toute-en-1 de la page HTML et ainsi vérifier que vous avez une version authentique issue de l'auteur du site en comparant l'encryptage SHA1 de votre page HTML sauvegardée avec l'encryptage SHA1 disponible sur l'historique certifiée indiquée en bas de ce site. Si vous quittez ou rafraichissez ce site ou que vous appuyez sur \"générer une nouvelle adresse\" ... alors une nouvelle clé privée sera générée et la précédente clé privée affichée ne pourra plus être retrouvée. Votre clé privée Bitcoin doit être gardée secrète. Celui qui connaît la clé privée aura la possibilité de vider tous les bitcoins accumulés et associés à l'adresse de réception. Si vous imprimez le porte-monnaie, pensez à le mettre à l'abri de l'eau dans un sac étanche. Traitez le porte-monnaie papier comme de l'argent en espèces et billets.", "singletip3": "Pour ajouter des fonds à votre porte-monnaie, indiquez d'envoyer les Bitcoins à votre adresse de réception.", @@ -8114,7 +8186,7 @@ ninja.translator = { "papergenerate": "Générer", "paperprint": "Imprimer", "paperlabelBIPpassphrase": "mot de passe:", - "paperlabelencrypt": "Cryptage en BIP38 ?", //TODO: please translate + "paperlabelencrypt": "Cryptage en BIP38 ?", // bulk wallet html "bulklabelstartindex": "Commencer à l'index:", @@ -8123,7 +8195,7 @@ ninja.translator = { "bulkgenerate": "Générer", "bulkprint": "Imprimer", "bulklabelcsv": "Valeurs Séparées Par Des Virgules (CSV):", - "bulklabelformat": "Index,Adresse,Clé Privée (WIF)", + "bulklabelformat": "Index,Adresse,Clé Privée", "bulklabelq1": "Pourquoi utiliserais-je un Porte-monnaie en vrac pour accepter les Bitcoins sur mon site web?", "bulka1": "L'approche traditionnelle pour accepter des Bitcoins sur votre site web requière l'installation du logiciel Bitcoin officiel (\"bitcoind\"). Plusieurs hébergeurs ne supportent pas l'installation du logiciel Bitcoin. De plus, faire fonctionner le logiciel Bitcoin sur votre serveur web signifie que vos clés privées sont hébergées sur le serveur et pourraient donc être volées si votre serveur web était compromis. En utilisant un Porte-monnaie en vrac, vous pouvez publiquer seulement les adresses Bitcoin sur votre serveur et non les clés privées. Vous n'avez alors pas à vous inquiéter du risque de vous faire voler votre porte-monnaie si votre serveur était compromis.", "bulklabelq2": "Comment utiliser le Porte-monnaie en vrac pour utiliser le Bitcoin sur mon site web?", @@ -8132,7 +8204,9 @@ ninja.translator = { "bulklabela2li3": "Ajoutez une option dans votre panier en ligne pour que vos clients puissent vous payer en Bitcoin. Quand un client choisi de vous payer en Bitcoin, vous pouvez afficher une des adresses de votre base de donnée comme \"adresse de paiment\" pour votre client et sauvegarder cette adresse avec sa commande.", "bulklabela2li4": "Vous avez maintenant besoin d'être avisé quand le paiement est reçu. Cherchez \"bitcoin payment notification\" sur Google et inscrivez-vous à un service de notification de paiement Bitcoin. Il y a plusieurs services qui vous avertiront via des services Web, API, SMS, Email, etc. Une fois que vous avez reçu la notification, qui devrait être programmée automatiquement, vous pouvez traiter la commande de votre client. Pour vérifier manuellement si un paiement est arrivé, vous pouvez utiliser Block Explorer. Remplacez ADRESSE par l'adresse Bitcoin que vous souhaitez vérifier. La confirmation de la transaction pourrait prendre de 10 à 60 minutes pour être confirmée.
http://www.blockexplorer.com/address/ADRESSE

Les transactions non confirmées peuvent être visualisées ici: http://blockchain.info/
Vous devriez voir la transaction à l'intérieur de 30 secondes.", "bulklabela2li5": "Les Bitcoins vos s'accumuler de façon sécuritaire dans la chaîne de blocs. Utilisez le porte-monnaie original que vous avez généré à l'étape 1 pour les dépenser.", - + "bulklabelBIPpassphrase": "mot de passe:", + "bulklabelencrypt": "Cryptage en BIP38 ?", + // brain wallet html "brainlabelenterpassphrase": "Entrez votre mot de passe: ", "brainlabelshow": "Afficher?", @@ -8263,7 +8337,7 @@ ninja.translator = { "newaddress": "Δημιουργία μιας νέας Διεύθυνσης", "singleprint": "Εκτύπωση", "singlelabelbitcoinaddress": "Διεύθυνση Bitcoin:", - "singlelabelprivatekey": "Προσωπικό Κλειδί (Μορφή εισαγωγής σε πορτοφόλι):", + "singlelabelprivatekey": "Προσωπικό Κλειδί:", "singletip1": "A Bitcoin wallet is as simple as a single pairing of a Bitcoin address with it's corresponding Bitcoin private key. Such a wallet has been generated for you in your web browser and is displayed above.", //TODO: please translate "singletip2": "To safeguard this wallet you must print or otherwise record the Bitcoin address and private key. It is important to make a backup copy of the private key and store it in a safe location. This site does not have knowledge of your private key. If you are familiar with PGP you can download this all-in-one HTML page and check that you have an authentic version from the author of this site by matching the SHA256 hash of this HTML with the SHA256 hash available in the signed version history document linked on the footer of this site. If you leave/refresh the site or press the Generate New Address button then a new private key will be generated and the previously displayed private key will not be retrievable. Your Bitcoin private key should be kept a secret. Whomever you share the private key with has access to spend all the bitcoins associated with that address. If you print your wallet then store it in a zip lock bag to keep it safe from water. Treat a paper wallet like cash.", //TODO: please translate "singletip3": "Add funds to this wallet by instructing others to send bitcoins to your Bitcoin address.", //TODO: please translate @@ -8288,7 +8362,7 @@ ninja.translator = { "bulkgenerate": "Δημιουργία", "bulkprint": "Εκτύπωση", "bulklabelcsv": "Τιμές που χωρίζονται με κόμμα (CSV):", - "bulklabelformat": "Δείκτης,Διεύθυνση,Προσωπικό Κλειδί (WIF)", + "bulklabelformat": "Δείκτης,Διεύθυνση,Προσωπικό Κλειδί", "bulklabelq1": "Γιατί να χρησιμοποιήσω Πολλαπλά Πορτοφόλια στην ιστοσελίδα μου;", "bulka1": "Ο παραδοσιακός τρόπος για να δέχεστε bitcoins στην ιστοσελίδα σας, απαιτεί την εγκατάσταση και λειτουργία του επίσημου δαίμονα πελάτη bitcoin (\"bitcoind\"). Αρκετά πακέτα φιλοξενίας δεν υποστηρίζουν την εγκατάστασή του. Επιπλέον, η εκτέλεση του πελάτη bitcoin στον web server σας συνεπάγεται και τη φιλοξενία των προσωπικών σας κλειδιών στον ίδιο server, τα οποία μπορεί να υποκλαπούν αν ο server πέσει θύμα επίθεσης. Χρησιμοποιώντας τα Πολλαπλά Πορτοφόλια, ανεβάζετε στον server σας μόνο τις διευθύνσεις Bitcoin κι όχι τα προσωπικά κλειδιά. Με αυτό τον τρόπο δεν χρειάζεται να ανησυχείτε μήπως υποκλαπεί το πορτοφόλι σας.", "bulklabelq2": "Πως χρησιμοποιώ τα Πολλαπλά Πορτοφόλια για να δέχομαι bitcoins στην ιστοσελίδα μου;", @@ -8297,7 +8371,10 @@ ninja.translator = { "bulklabela2li3": "Παρέχετε στο καλάθι αγορών σας μια επιλογή για πληρωμή σε Bitcoin. Όταν ο πελάτης επιλέγει να πληρώσει με Bitcoin, θα εμφανίσετε σε αυτόν μια από τις διευθύνσεις από τη βάση δεδομένων, ως την «προσωπική του διεύθυνση πληρωμής» την οποία θα αποθηκεύσετε μαζί με την εντολή αγοράς.", "bulklabela2li4": "Τώρα χρειάζεται να ειδοποιηθείτε μόλις γίνει η πληρωμή. Ψάξτε στο Google για «bitcoin payment notification» κι εγγραφείτε σε τουλάχιστο μία υπηρεσία ειδοποίησης πληρωμής. Υπάρχουν διάφορες υπηρεσίες που θα σας ειδοποιήσουν με Web υπηρεσίες, API, SMS, Email, κλπ. Όταν λάβετε την ειδοποίηση, η οποία μπορεί να αυτοματοποιηθεί προγραμματιστικά, εκτελείτε την εντολή του πελάτη. Για να ελέγξετε χειροκίνητα την πληρωμή μπορείτε να χρησιμοποιήσετε τον Block Explorer. Αντικαταστήστε το THEADDRESSGOESHERE με τη Bitcoin διεύθυνσή σας. Η επιβεβαίωση της πληρωμής ενδέχεται να διαρκέσει από δέκα λεπτά έως μία ώρα.
http://www.blockexplorer.com/address/THEADDRESSGOESHERE

Μπορείτε να δείτε τις συναλλαγές που δεν έχουν επιβεβαιωθεί στο: http://blockchain.info/
Θα πρέπει να δείτε τη συναλλαγή εκεί εντός 30 δευτερολέπτων.", "bulklabela2li5": "Τα Bitcoins θα συσσωρεύονται με ασφάλεια στην αλυσίδα των μπλοκ. Χρησιμοποιήστε το αρχικό πορτοφόλι που δημιουργήσατε στο βήμα 1 για να τα ξοδέψετε.", - + "bulklabelBIPpassphrase": "Passphrase:", //TODO: please translate + "bulklabelencrypt": "BIP38 Encrypt?", //TODO: please translate + + // brain wallet html "brainlabelenterpassphrase": "Εισάγετε κωδικό: ", "brainlabelshow": "Εμφάνιση;", @@ -8428,7 +8505,7 @@ ninja.translator = { "newaddress": "Genera un Nuovo Indirizzo", "singleprint": "Stampa", "singlelabelbitcoinaddress": "Indirizzo Bitcoin:", - "singlelabelprivatekey": "Chiave privata (Wallet Import Format):", + "singlelabelprivatekey": "Chiave privata:", "singletip1": "Un portafogli bitcoin è composto semplicemente da una coppia di valori: l'indirizzo e la sua chiave privata. Un portafogli è stato appena generato sul tuo browser e mostrato sopra.", "singletip2": "Per mettere in sicurezza questo portafogli devi stampare o quantomeno salvare l'indirizzo bitcoin e la Chiave privata. È molto importante fare una copia di backup della chiave privata e conservarla in un posto sicuro. Questo sito non conosce la tua chiave privata. Se hai familiarità con PGP, puoi scaricare per intero questa pagina HTML e controllare la sua autentiticità. Puoi confrontare il codice SHA256 della pagina scaricata con il codice firmato dall'autore che trovi nella cronologia delle versioni (in fondo alla pagina). Se abbandoni/aggiorni la pagina web oppure premi il tasto Genera, un nuovo indirizzo sostituirà quello vecchio che non potrà più essere recuperato. La chiave privata dovrebbe essere tenuta segreta, chiunque conosca la chiave privata può avere accesso e spendere i tuoi bitcoin. Se stampi il tuo portafogli conservalo in una busta di plastica sigillata per tenerla al riparo dall'acqua. Tratta quanto stampato alla stregua di una banconota.", "singletip3": "Ricevi fondi su questo portafogli mostrando l'indirizzo bitcoin per il versamento.", @@ -8453,7 +8530,7 @@ ninja.translator = { "bulkgenerate": "Genera", "bulkprint": "Stampa", "bulklabelcsv": "Valori Separati da virgola:", - "bulklabelformat": "Indice,Indirizzo,Chiave Privata (WIF)", + "bulklabelformat": "Indice,Indirizzo,Chiave Privata", "bulklabelq1": "Perché dovrei usare tanti portafogli per accettare Bitcoin sul mio sito web?", "bulka1": "Il tradizionale approcio per accettare i Bitcoin è quello di installare il demone ufficiale Bitcoin (\"bitcoind\"). Molti pacchetti di hosting web non supportano l'installazione di tale demone. Inoltre tenere in esecuzione il demone richiede che la chiave privata del portafogli sia custodita sul server, se questo viene violato tramite hacking puoi perdere tutti i Bitcoin. Usando portafogli multipli puoi caricare sul server solo l'indirizzo per il versamento e non la chiave privata. Quindi non devi preoccuparti del tuo portafogli nel caso in cui il server venga violato con un attacco di hacking.", "bulklabelq2": "Come utilizzo tutti questi portafogli per accettare Bitcoin sul mio sito web?", @@ -8462,6 +8539,8 @@ ninja.translator = { "bulklabela2li3": "Fornisci una opzione nel carrello del tuo sito web per pagare in Bitcoin. Quando il cliente sceglie di pagare in Bitcoin, gli mostrerai un indirizzo dal tuo database come \"indirizzo di pagamento\" e conserverai questo stesso indirizzo insieme ai dati dell'ordine.", "bulklabela2li4": "Ora hai bisogno di notificare l'arrivo del pagamento. Cerca su Google \"notifiche pagamento Bitcoin\" ed iscriviti ad almeno un servizio di notifica. Esistono diversi servizi che possono notificare in vari modi come Web Services, API, SMS, Email, etc. Una volta ricevuta la notifica, la quale può essere automatizzata con la programmazione, puoi processare l'ordine del cliente. Per verificare manualmente se l'ordine è davvero arrivato puoi usare un block explorer. Sostituisci INDIRIZZODACONTROLLARE con l'indirizzo Bitcoin da controllare. Possono volerci dai 10 fino a 60 minuti per fare in modo che una transazione venga confermata.
http://www.blockexplorer.com/address/INDIRIZZODACONTROLLARE

Le transazioni non confermate possono essere visionate su: http://blockchain.info/
Dovresti vedere la transazione entro 30 secondi.", "bulklabela2li5": "In questo modo i Bitcoin transiteranno nella blockchain in tutta sicurezza. Usa il portafogli creato nel Passo 1 per spendere i Bitcoin.", + "bulklabelBIPpassphrase": "Passphrase:", //TODO: please translate + "bulklabelencrypt": "BIP38 criptato?", // brain wallet html "brainlabelenterpassphrase": "Inserisci la Passphrase: ", @@ -8593,7 +8672,7 @@ ninja.translator = { "newaddress": "Neues Wallet erstellen", "singleprint": "Drucken", "singlelabelbitcoinaddress": "Bitcoin-Adresse", - "singlelabelprivatekey": "Privater Schlüssel (WIF – zum Importieren geeignet):", + "singlelabelprivatekey": "Privater Schlüssel:", "singletip1": "Ein Bitcoin-Wallet (Geldbörse) ist nichts anderes als eine Bitcoin-Adresse (öffentlicher Schlüssel) und der zu ihr gehörende private Schlüssel. Oben findest du ein solches, gerade für dich erstelltes Wallet, bestehend aus den beiden Zeichenketten. Die QR-Codes dienen lediglich der Vereinfachung und enthalten kodiert die Adresse bzw. den privaten Schlüssel.", "singletip2": "Um dieses Wallet zu schützen, musst du es entweder ausdrucken oder anderweitig die Bitcoin-Adresse und den privaten Schlüssel sichern. Fertige auf jeden Fall eine Kopie des privaten Schlüssels an und bewahre sie an einem sicheren Ort auf. Der private Schlüssel liegt nur lokal auf deinem Rechner vor und wurde nicht ins Internet übertragen. Falls du dich mit PGP auskennst, kannst du dir diese all-in-one HTML-Seite herunterladen. Um zu überprüfen, ob die heruntergeladene Version authentisch ist, kannst du den SHA256-Hash dieser Seite mit dem SHA256-Hash in der signierten Versionsgeschichte am unteren Ende dieser Seite abgleichen. Wenn du diese Seite verlässt, sie neulädst bzw. den \"Neues Wallet erstellen\"-Button drückst, wird ein neues Wallet erstellt und das vorherige wird nicht mehr abrufbar sein. Du solltest deinen privaten Schlüssel geheim halten. Wer den privaten Schlüssel hat, kann damit auf alle im Wallet befindlichen Bitcoin zugreifen und sie nach Belieben ausgeben. Behandle dein gedrucktes Wallet wie echtes Geld!", "singletip3": "Du kannst Guthaben zu deinem Wallet hinzufügen, indem du genau wie bei anderen Überweisungen Bitcoins an die Bitcoin-Adresse deines Wallets schickst.", @@ -8618,7 +8697,7 @@ ninja.translator = { "bulkgenerate": "Erstellen", "bulkprint": "Drucken", "bulklabelcsv": "Comma Separated Values (CSV):", - "bulklabelformat": "Index, Adresse, privater Schlüssel (WIF)", + "bulklabelformat": "Index, Adresse, privater Schlüssel", "bulklabelq1": "Warum sollte ich ein Massen-Wallet auf meiner Webseite einsetzen?", "bulka1": "Bisher musste immer der offizielle Bitcoin-Daemon, bitcoind, auf dem Server installiert sein, damit man Bitcoins auf seiner Webseite annehmen konnte. Viele Webhoster blockieren die Installation von bitcoind. Außerdem müssen die privaten Schlüssel auf dem Server liegen, damit bitcoind funktioniert, obwohl sie dort einfacher gestohlen werden können. Mit einem Massen-Wallet brauchst du nur noch die Bitcoin-Adressen und nicht mehr zusätzlich die privaten Schlüssel hochladen. Dadurch musst du dir keine Sorgen mehr machen, dass dein Bitcoin-Wallet gestohlen werden könnte, wenn unberechtigt in deinen Server eingedrungen wird.", "bulklabelq2": "Wie kann ich ein Massen-Wallet in meine Webseite integrieren?", @@ -8627,6 +8706,8 @@ ninja.translator = { "bulklabela2li3": "Biete deinen Kunden auf deiner Webseite Bitcoin als Zahlungsmöglichkeit an. Wenn ein Kunde mit Bitcoin zahlen möchte, zeige ihm eine der Adressen aus deiner Datenbank als Zahlungsadresse an und speichere sie mit seiner Bestellung.", "bulklabela2li4": "Jetzt musst du dir den Zahlungseingang bestätigen lassen. Google \"bitcoin payment notification\" und melde dich bei mindestens einem solchen Anbieter an. Es gibt verschiedene Anbieter, die dich via Web, API, SMS, E-Mail etc. über erfolgte Transaktionen informieren können. Sobald du die Eingangsbestätigung erhälst, kannst du automatisch die Bestellung abwickeln lassen. Um selber zu schauen, ob eine Zahlung erfolgt ist, kannst du Block Explorer nutzen. Ersetze BITCOINADRESSE durch die Bitcoin-Adresse, die du prüfen möchtest. Es dauert von zehn Minuten bis zu einer Stunde, um Transaktionen zu bestätigen.
http://www.blockexplorer.com/address/BITCOINADRESSE

Unbestätigte Transaktionen findest du hier: http://blockchain.info/
Sämtliche Transaktionen sollten dort innerhalb von 30 Sekunden auftauchen.", "bulklabela2li5": "Deine Bitcoins werden sicher in die Block-Chain aufgenommen. Mithilfe des ursprünglichen Wallets vom ersten Schritt kannst du sie ausgeben.", + "bulklabelBIPpassphrase": "Passwort:", + "bulklabelencrypt": "Mit BIP38 verschlüsseln?", // brain wallet html "brainlabelenterpassphrase": "Passphrase eingeben:", @@ -8758,7 +8839,7 @@ ninja.translator = { "newaddress": "Vytvořit novou adresu", "singleprint": "Tisk", "singlelabelbitcoinaddress": "Bitcoin adresa", - "singlelabelprivatekey": "Soukromý klíč (WIF – Formát pro import do peněženky):", + "singlelabelprivatekey": "Soukromý klíč:", "singletip1": "Bitcoin peněženka je jednoduchý pár Bitcoin adresy s přidruženým soukromým klíčem. Taková peněženka byla právě vytvořena ve vašem prohlížeči a zobrazena výše.", "singletip2": "Pro zabezpečení této peněženky musíte tuto Bitcoin adresu a soukromý klíč vytisknout a nebo jinak poznamenat. Je důležité provést zálohu soukromého klíče a jeho uschování na bezpečném místě. Tato webová stránka nemá žádné informace o vašem soukromém klíči. Pokud ovládáte PGP, můžete celou tuto stránku stáhnout v jednom HTML souboru a ověřit její pravost srovnáním SHA256 hashe s podepsaným dokumentem historie verzí. Odkaz naleznete v patičce této stránky. Pokud opustíte či obnovíte tuto stránku nebo kliknete na 'Vytvořit novou adresu' dojde k vygenerování nového soukromého klíče a předtím zobrazený klíč bude ztracen. Váš soukromý klíč musíte uchovat v tajnosti. Každý kdo má tento klíč k dispozici může utratit všechny peníze v této peněžence. Pokud budete peněženku tisknout, uzavřete ji do nepropustného obalu nebo ji zalaminujte. Tím zabráníte jejímu poškození vodou. Chovejte se k této peněžence jako k normálním bankovkám.", "singletip3": "Pro vložení peněz do této peněženky stačí zaslat peníze na Bitcoin adresu.", @@ -8783,7 +8864,7 @@ ninja.translator = { "bulkgenerate": "Vytvořit", "bulkprint": "Tisk", "bulklabelcsv": "Čárkou oddělené hodnoty (CSV):", - "bulklabelformat": "Index, Adresa, Soukromý klíč (WIF – Formát pro import do peněženky)", + "bulklabelformat": "Index, Adresa, Soukromý klíč", "bulklabelq1": "Proč bych měl používat Hromadnou peněženku pro příjem Bitcoinů na mé stránce?", "bulka1": "Tradiční způsob jak přijímat Bitcoiny na vaší webové stránce vyžaduje instalaci oficiálního bitcoin klienta (\"bitcoind\"). Mnoho webhostingových společností neumožňuje tuto instalaci provést. Také běh bitcoin démona na webovém serveru znamená, že soukromé klíče jsou uloženy na serveru a mohou být ukradeny. Pokud použijete Hromadnou peněženku, tak stačí na server nahrát pouze veřejnou bitcoin adresu a ne soukromé klíče. Poté se nemusíte bát, že vaše Bitcoiny budou ukradeny v případě napadení serveru.", "bulklabelq2": "Jakým způsobem mohou přijímat Bitcoiny na mé stránce pomocí Hromadné peněženky?", @@ -8792,6 +8873,8 @@ ninja.translator = { "bulklabela2li3": "Umožněte na vaší stránce platbu pomocí Bitcoinu. Stačí vždy zobrazit jednu z vygenerovaných adres a uložit si ji u objednávky.", "bulklabela2li4": "Nyní je již pouze potřeba zařídit notifikace o příchozí transakci. Zadejte do Google \"bitcoin payment notification\" a využijte jednu z existujících služeb. Existuje jich několik a podporují např. Web Services, API, SMS, Email, apod. Notifikaci můžete zpracovat automaticky. Pro ruční kontrolu, zda peníze přišly, stačí použít Block Explorer. Nahraďte SEMPATŘÍADRESA Bitcoin adresou, kterou chcete zkontrolovat. Potvrzení transkace může trvat od 10 minut do jedné hodiny.
http://www.blockexplorer.com/address/SEMPATŘÍADRESA

Nepotvrzené tansakce je možné zkontrolovat na: http://blockchain.info/
Většinou se zde zobrazí do 30 sekund.", "bulklabela2li5": "Bitcoiny budou bezpečně převedeny v řetězci bloků. Pro spotřebování stačí kdykoliv naimportovat soubor vygenerovaný v prvním kroku.", + "bulklabelBIPpassphrase": "Heslo:", + "bulklabelencrypt": "Šifrovat BIP38?", // brain wallet html "brainlabelenterpassphrase": "Zadejte heslo:", @@ -8923,7 +9006,7 @@ ninja.translator = { "newaddress": "Új cím előállítása", "singleprint": "Nyomtatás", "singlelabelbitcoinaddress": "Bitcoin cím:", - "singlelabelprivatekey": "Privát kulcs (WIF, tárca import formátumban):", + "singlelabelprivatekey": "Privát kulcs:", "singletip1": "Egy bitcoin pénztárca nem más, mint egy bitcoin címből és a hozzá tartozó privát kulcsból álló számpár. Egy ilyen pénztárcát állítottunk elő és jelenítettünk meg fent az Ön számára a Web böngészőben.", "singletip2": "A pénztárca biztonságos megőrzése érdekében nyomtassa ki vagy más módon rögzítse a bitcoin címet és privát kulcsot. Fontos, hogy a privát kulcsból készítsen másolatot, és tárolja biztonságos helyen. Ez a webhely nem tud az ön privát kulcsairól. Ha ismeri a PGP-t, akkor egyben letöltheti az egész web lapot, és ellenőrizheti, hogy a webhely szerzője álatal írt valódi változatot töltötte-e le. Ehhez össze kell hasonlítania a HTML-ből képzett SHA256 zanzát a webhely láblécében hivatkozott, aláírt verzió történetben lévő SHA256 zanzával. Ha elhagyja/megfrissíti a webhelyet vagy megnyomja az 'Új cím előállítása' gombot, akkor egy új privát kulcs áll elő, és az előzőleg megjelenített privát kulcs elvész. A bitcoin címhez tartozó privát kulcsot titokban kell tartani. Bárki, aki megszerzi ezt a kulcsot, el tudja költeni az ehhez a címhez tartozó összes bitcoint. Ha kinyomtatja a pénztárcát, akkor tárolja egy villámzáras vízhatlan nylon-zacskóban. A papír pénztárcát tekintse úgy, mintha pénz lenne.", "singletip3": "Pénzt úgy tehet a pénztárcájába, hogy másokkal bitcoinokat küldet erre a Bitcoin címre.", @@ -8946,7 +9029,7 @@ ninja.translator = { "bulkgenerate": "Előállítás", "bulkprint": "Nyomtatás", "bulklabelcsv": "Vesszővel elválasztott értékek (CSV):", - "bulklabelformat": "Index, Cím, Privát cím (WIF)", + "bulklabelformat": "Index, Cím, Privát cím", "bulklabelq1": "Miért jó a Tömeges pénztárca használata, ha Ön bitcoint szeretne elfogadni a web-en?", "bulka1": "Ha Ön bitcoint szeretne elfogadni a web-en, akkor a szokásos megoldás az, hogy installálja a hivatalos bitcoin kliens démont (\"bitcoind\"). Sok web szolgáltató nem támogatja a bitcoin démon installálását. Ráadásul, ha a bitcoin démont a web szerveren futtatja, akkor a privát kulcsai is a web szerveren lesznek tárolva, és a web szerver meghekkelésekor ellophatják őket. A Tömeges pénztárca használatakor csak a bitcoin címeket kell feltölteni a web szerverre, a privát kulcsokat nem. Így nem kell aggódnia, hogy ellopják a bitcoin pénztárcáját, ha betörnek a web szerverre.", "bulklabelq2": "Hogyan használható a Tömeges pénztárca az Ön web helyén bitcoin elfogadásra?", @@ -8955,6 +9038,8 @@ ninja.translator = { "bulklabela2li3": "Web helyének vásárlókosarába vegye fel a bitcoinnal történő fizetés lehetőségét. Ha egy ügyfél bitcoinnal kíván fizetni, akkor \"fizetési címként\" az adatbázis egyik címét jelenítse meg, és a megrendelés mellett ezt a címet tárolja.", "bulklabela2li4": "Most szüksége van arra, hogy értesítést kapjon, ha megérkezett a pénz. A Google-on keressen rá a \"bitcoin payment notification\" kifejezésre, és iratkozzon föl valamelyik szolgáltatóhoz, amely értesítést küld, ha bizonyos címekre Bitcoint küldtek. Számos ilyen szolgáltató van, amelyik Web szervíz, API, SMS, Email, stb. segítségével értesítést küld. Amint megérkezik az értesítés, amelynek automatikus figyelése beprogramozható, máris megkezdheti az ügyfél megrendelésének feldolgozását. Ha manuálisan szeretné ellenőrizni, hogy érkezett-e valamelyik címre pénz, akkor a Block Explorer-t használhatja. A CÍM helyébe írja azt a Bitcoin címet, amelyet ellenőrizni szeretne. A tranzakció megerősítéséhez 10 és 60 perc közötti időre van szükség.
http://www.blockexplorer.com/address/CÍM

A megerősítetlen tranzakciókat itt lehet megnézni: http://blockchain.info/
A tranzakció 30 másodpercen belül megjelenik.", "bulklabela2li5": "Az Ön bitcoinjai biztonságos módon gyűlnek a blokkláncon. Használja az 1. lépés során előállított eredeti pénztárcát, ha szeretné őket elkölteni.", + "bulklabelBIPpassphrase": "Jelmondat:", + "bulklabelencrypt": "BIP38 titkosítás?", // brain wallet html "brainlabelenterpassphrase": "Adja be a jelmondatot: ", @@ -9094,7 +9179,7 @@ ninja.translator = { "newaddress": "新アドレス生成", "singleprint": "印刷", "singlelabelbitcoinaddress": "ビットコインアドレス", - "singlelabelprivatekey": "プライベートキー (WIF形式)", + "singlelabelprivatekey": "プライベートキー", "singletip1": "ビットコインウォレットとは ビットコインのアドレスと対応するプライベートキーを組み合わせたものです。新しいアドレスがブラウザー上で生成され、上記に表示されています。", "singletip2": "このウォレットを守るためには ビットコインアドレスとビットコインプライベートキーを印刷するなどの手段で記録しなければいけません。プライベートキーが無いとペアになっているアドレスに送られたビットコインが使えないので、人に晒されないような方法でプライベートキーのコピーを取り、大事に保管して下さい。このサイトはこのプライベートキーの保存はしません。PGPをご存知の方は、このサイトを1つのhtmlファイルで落とすことができるので、このサイトのhtmlファイルのSHA256ハッシュとサイトのフッターにデジタル署名されたメッセージに入ったハッシュを比べて不正にいじられていないかをお確かめいただけます。このページを閉じたり、離れたり、”新アドレス生成”を押すと現在表示されているプライベートキーは消え、新規アドレスが生成されるので、ご使用の場合は必ず何らかの手段で記録しておいて下さい。プライベートキーは秘密にしてください。共有されますと、対応するビットコインアドレスに存在するコインが全て共有者間で利用可能となります。ウォレット情報を印刷したら、濡れないようにジップロックに入れましょう。紙幣と同様に扱うよう心がけてください。", "singletip3": "このウォレットにコインを追加 : 他の人から自分のビットコインアドレスに送ってもらう。", @@ -9117,7 +9202,7 @@ ninja.translator = { "bulkgenerate": "生成", "bulkprint": "印刷", "bulklabelcsv": "カンマ区切り値", - "bulklabelformat": "番号、アドレス、プライベートキー(WIF形式)", + "bulklabelformat": "番号、アドレス、プライベートキー", "bulklabelq1": "ウェブサイトでビットコインを受け付ける時、何故大量のアドレスを生成しておいた方がいいのか?", "bulka1": "以前はビットコインをサイトで受け付けたかったら、「bitcoind」というビットコインのシステムサービスをサーバーにアップロードし、サーバー上で実行しなければいけませんでした。しかし、このやり方だとサーバーがハッキングされてしまった場合、プライベートキーも全て持って行かれてしまいます。大量に生成しておいて、ビットコインアドレスだけをサーバーにアップしておけば、プライベートキーを安全な場所に保管できます。", "bulklabelq2": "どうやって大量生成を使ってサイトでビットコインを受け付けられるようにできるのか?", @@ -9126,6 +9211,8 @@ ninja.translator = { "bulklabela2li3": "サイトのショッピングカート機能にビットコインのリンクを追加して下さい。クリックされた時、お値段と先ほどアップしたビットコインアドレスが順番に出てくるようにしておいて下さい(1取引1アドレス)。注文の情報と一緒に、このアドレスも一緒に保存して、後で紐付けられるようにしておいて下さい。", "bulklabela2li4": "後は支払いの通知を受けないと注文を通すか否か分かりません。グーグルで「bitcoin payment notification」と検索したら、SMS、メール、APIなどでビットコインの支払いがあった際教えてくれます。これをコードの中に組み込んで、支払いがあったら注文を通すようにもできます。手動で送金があったかを見る場合、blockchain.infoに行き、宛先のアドレスを入力すれば、取引履歴から送金の事実を確認できます。大体送金の30秒後に表示され、10分~1時間の間に「確認」されます。", "bulklabela2li5": "送られたビットコインはブロックチェーンにて安全に保管されます。送金するには1番で作成したウォレットを何らかのビットコインソフトに取り込んでご利用下さい。", + "bulklabelBIPpassphrase": "パスワード", + "bulklabelencrypt": "BIP38で暗号化?", // brain wallet html "brainlabelenterpassphrase": "パスワード", @@ -9266,7 +9353,7 @@ ninja.translator = { "newaddress": "Gerar endereço", "singleprint": "Imprimir", "singlelabelbitcoinaddress": "Endereço Bitcoin", - "singlelabelprivatekey": "Chave privada (Wallet Import Format):", + "singlelabelprivatekey": "Chave privada:", "singletip1": "Uma carteira Bitcoin é tão simples quanto um simples pareamento de um endereço Bitcoin com a sua chave privada Bitcoin correspondente. Essa carteira foi gerada para você em seu navegador web e está sendo exibida acima.", "singletip2": "Para proteger essa carteira você deve imprimir ou anotar/salvar o endereço Bitcoin e a chave privada. É importante que você faça uma cópia de segurança da sua chave privada e armazene-a em um local seguro. Esse site não toma conhecimento da sua chave privada. Se você for familiar com PGP, você pode baixar essa pagina HTML tudo-em-um e verificar se você tem uma versão autêntica do autor deste site ao fazer a correspondência do hash SHA256 deste HTML com o hash SHA256 disponível na versão assinada do documento linkado no rodapé deste site. Se você sair/atualizar essa página ou apertar o botão Gerar Novo Endereço, então uma nova chave privada será gerada e a chave exibida anteriormente não será recuperável. A sua chave privada Bitcoin deve ser mantida como um segredo. Qualquer pessoa que tiver acesso a ela poderá gastar todos os seus bitcoins associados com aquele endereço. Se você imprimir sua carteira, armazene-a em um saco plástico selado para mantê-la longe da água. Trate uma carteira em papel como se fosse dinheiro.", "singletip3": "Adicione fundos para essa carteira ao indicar para outras pessoas enviarem bitcoins para o seu endereço Bitcoin.", @@ -9291,7 +9378,7 @@ ninja.translator = { "bulkgenerate": "Gerar", "bulkprint": "Imprimir", "bulklabelcsv": "Valores separados por vírgula:", - "bulklabelformat": "Índice,Dirección,Clave privada (formato para importar)", + "bulklabelformat": "Índice,Dirección,Clave privada", "bulklabelq1": "¿Por qué debo usar \"Direcciones en masa\" para aceptar Bitcoins en mi web?", "bulka1": "La forma tradicional de aceptar bitcoins en tu web requiere tener instalado el cliente oficial de bitcoin (\"bitcoind\"). Sin embargo muchos servicios de hosting no permiten instalar dicho cliente. Además, ejecutar el cliente en tu servidor supone que las claves privadas están también en el servidor y podrían ser comprometidas en caso de intrusión. Al usar este mecanismo, puedes subir al servidor sólo las dirección de bitcoin y no las claves privadas. De esta forma no te tienes que preocupar de que alguien robe la cartera si se cuelan en el servidor.", "bulklabelq2": "¿Cómo uso \"Direcciones en masa\" para aceptar bitcoins en mi web?", @@ -9300,6 +9387,8 @@ ninja.translator = { "bulklabela2li3": "Ofrece una alternativa en el carro de la compra de tu web para que los clientes paguen con Bitcoin. Cuando el cliente elija pagar con Bitcoin, les muestras una de las direcciones de la base de datos como su \"dirección de pago\" y guardas esto junto con el pedido.", "bulklabela2li4": "Ahora te hace falta recibir una notificación del pago. Busca en google \"notificación de pagos bitcoin\" (o \"bitcoin payment notification\" en inglés) y suscríbete a alguno de los servicios que aparezcan. Hay varios de ellos, que te pueden notificar vía Web services, API, SMS, email, etc. Una vez te llegue la notificación, lo cual puede ser automatizado, entonces ya puedes procesar el pedido. Para comprobar a mano si has recibido un pago, puedes usar Block Explorer: reemplaza DIRECCION a continuación por la dirección que estés comprobando. La transacción puede tardar entre 10 minutos y una hora en ser confirmada.
http://www.blockexplorer.com/address/DIRECCION

Puedes ver las transacciones sin confirmar en: http://blockchain.info/
Las transacciones sin confirmar suelen aparecer ahí en unos 30 segundos.", "bulklabela2li5": "Las bitcoins que recibas se almacenarán de forma segura en la cadena de bloques. Usa la cartera original que generaste en el paso 1 para usarlas.", + "bulklabelBIPpassphrase": "Senha:", + "bulklabelencrypt": "Criptografar em BIP38?", // brain wallet html "brainlabelenterpassphrase": "Senha:", @@ -9431,7 +9520,7 @@ ninja.translator = { "newaddress": "生成新地址", "singleprint": "打印", "singlelabelbitcoinaddress": "比特币地址", - "singlelabelprivatekey": "私钥 (WIF格式-可导入客户端的格式)", + "singlelabelprivatekey": "私钥", "singletip1": "比特币钱包就是这么简单,一个地址,对应一个私钥,浏览器已自动生成了一个,就显示在上面。私钥必须保密,地址可以公开。", "singletip2": "妥善保管你的钱包 为了保护你的钱包,建议你用打印或者其他方式来保管你的私钥和地址。把你的私钥备份保存在安全、保密的位置是必要的。本站不提供私钥的相关知识,请自行学习。如果你熟悉PGP,你也可以下载这个HTML文件(它是单文件全功能的),用它的SHA256摘要和作者在本站页脚留下的相比对。本工具支持离线使用,这样它生成的私钥-地址就很难被监视了。比特币私钥必须保密,任何知道你私钥的人都可以随意花费其对应地址的比特币。你可以打印你的钱包(即纸钱包),把它装进一个防水的口袋里——就像你在保管纸币一样。", "singletip3": "获得比特币: 让别人往你的地址汇入比特币。", @@ -9454,7 +9543,7 @@ ninja.translator = { "bulkgenerate": "生成", "bulkprint": "打印", "bulklabelcsv": "逗号分隔值:", - "bulklabelformat": "编号,地址,私钥(WIF格式)", + "bulklabelformat": "编号,地址,私钥", "bulklabelq1": "什么时候我会需要批量钱包?", "bulka1": "例如,当你建设一个比特币收款网站,需要分别为每一个用户准备一个收款地址时,传统的做法是使用比特币客户端“bitcoind”生成大量的地址,但是不一定所有的网站托管都支持它。另外,你在服务器上运行比特币客户端,也就意味着你的私钥也会保存在服务器上,当骇客攻破服务器时,你的比特币可能会被盗。使用批量钱包一次生成大量的钱包,只把生成的地址放在服务器上,即使服务器被攻破,也不必担心比特币的安全。", "bulklabelq2": "我该怎样在我的网站上使用批量钱包接受比特币?", @@ -9463,6 +9552,8 @@ ninja.translator = { "bulklabela2li3": " 为你的客户提供一个比特币支付的接口。每当一名客户选择使用比特币支付,你就从你的数据库中提取一个地址,作为该客户专用的“付款地址”,并保存订单信息。", "bulklabela2li4": "接下来你需要一个收款通知,联系相关服务的供应商(谷歌搜索“bitcoin payment notification”),它们可以监视指定地址的资金变动,并通过WebAPI、短信、电邮或者其他方式来提醒你,你也可以通过编程使一切自动化。在http://www.blockexplorer.com/address/地址 或者 https://blockchain.info/address/地址 查看交易确认数。通常情况下,你能够在30秒之内看见交易,而根据你对安全的要求不同,你可能需要10分钟到1小时的时间等待交易确认。", "bulklabela2li5": "比特币在区块链上稳定之后,你就可以使用在第一步中生成的私钥来花费它们。", + "bulklabelBIPpassphrase": "密码", + "bulklabelencrypt": "BIP38加密?", // brain wallet html "brainlabelenterpassphrase": "口令", @@ -9602,7 +9693,7 @@ ninja.translator = { "newaddress": "Сгенерировать новый адрес", "singleprint": "Распечатать", "singlelabelbitcoinaddress": "Адрес Биткоин кошелька", - "singlelabelprivatekey": "Приватный Ключ (в формате для импорта)", + "singlelabelprivatekey": "Приватный Ключ", "singletip1": "Биткоин кошелек это простая пара идентификаторов, состоящая из адреса Биткоин кошелька и соответствующего ему приватного ключа. Такой колшелек был сгенерирован для Вас в Вашем браузере и отображен выше.", "singletip2": "Для обеспечения сохранности этого кошелька Вам необходимо распечатать или каким-либо другим спобом записать Биткоин адрес и приватный ключ. Очень важно иметь запасную копию приватного ключа и хранить ее в безопасном месте. Этот сайт не хранит информацию о Вашем ключе. Если Вы имеете опыт работы с PGP, то Вы можете сохранить эту HTML страницу в формате архива и проверить то, что Вы используете подлинную версию страницы от автора сайта, сравнив SHA256 хэш этой HTML страницы с SHA256 хэшем указанным истории версий данной страницы, которая подписана ключем автора сайта. Данную ифнормацию можно найти внизу страницы. Если Вы покинете или обновите страницу с сайтом или нажмете кнопку 'Сгенерировать новый адрес', то будет сгенерирован новый приватный ключ и предыдущий приватный ключ восстановить будет невозможно. Ваш приватный ключ Биткоин кошелька должен храниться в секрете. С кем бы Вы не поделились информацией о приватном ключе - он будет иметь возможность потратить Биткоины кошелька с этим адресом. Если вы распечатали приватный ключ - необходимо обеспечить его сохранность в месте, недоступном для воды. Обращайтесь с бумажным кошельком для Биткоинов как с наличными деньгами.", "singletip3": "Пополните кошелек сообщив другим свой Биткоин адрес.", @@ -9626,7 +9717,7 @@ ninja.translator = { "bulkgenerate": "Сгенерировать", "bulkprint": "Распечатать", "bulklabelcsv": "Значения разделенные запятой:", - "bulklabelformat": "Порядковый номер, Адрес, Приватный Ключ (импорт)", + "bulklabelformat": "Порядковый номер, Адрес, Приватный Ключ", "bulklabelq1": "Почему нужно использовать несколько кошельков, чтобы принимать биткоины на Вашем сайте?", "bulka1": "Традиционный подход к приему биткоинов на Вашем сайте - это установка оффициального демона клиента Биткоин ('bitcoind'). Большинство хостингов для вебсайтов не поддерживают установку демона Биткоин. Также, запуск демона клиента Биткоин на Вашем веб-сервере означает, что Вы храните приватные ключи на этом сервере и они могут быть украдены, если Ваш веб-сервер подвергнется взлому. При использовании нескольких кошельков Вы можете выгрузить только адреса Биткоин на Ваш сервер, в то время как приватные ключи останутся в секрете. В этом случае Вам не следует беспокоиться того, что Ваш веб-сервер будет взломан и биткоин кошелек будет украден.", "bulklabelq2": "Как использовать несколько кошельков, чтобы принимать биткоины на Вашем сайте?", @@ -9635,6 +9726,8 @@ ninja.translator = { "bulklabela2li3": "Добавьте опцию для оплаты заказа из корзины Вашего клиента для оплаты Биткоинами. Если клиент выбирает оплату Биткоинами - предоставьте ему информацию о Биткоин адресе для приема оплаты, который будет закреплен за этим клиентом и сохраните соответствующим образом заказ.", "bulklabela2li4": "Вам необходимо получать информацию о получении оплаты. Загуглите 'нотификации об оплате биткоинами' и подпишитесь на какой-нибудь сервис нотификаций. В интернете можно найти множество сервисов дял получения нотификаций через веб-сервисы, api, смс, электронную почту и т.д. Как только Вы получите нотификацию об оплате, которую можно обрабатывать в автоматическом режиме, Вы можете приступить к подготовке заказа для Вашего клиента. Чтобы вручную проверить статус оплаты воспользуйтесь сервисом Block Explorer. Заменить АДРЕС на Ваш адрес Биткоин, который Вы хотите проверить. Подтверждение транзакции оплаты может занимать от 10 минут до одного часа. http://www.blockexplorer.com/address/АДРЕС\n\nНеподтвержденные транзации оплаты можно посмотреть на: http://blockchain.info/\nНеподтвержденная транзакция будет отображаться через 30 секунд.", "bulklabela2li5": "Биткоины накапливаются в цепочке блоков. Используйте оригинальный файл сгенерированный на 1 шаге, чтобы потратить их.", + "bulklabelBIPpassphrase": "Парольная фраза:", + "bulklabelencrypt": "Шифрование BIP38?", // brain wallet html "brainlabelenterpassphrase": "Парольная фраза:", @@ -9694,45 +9787,6 @@ ninja.translator = { } }; -ninja.translator.showEnglishJson = function () { - var english = ninja.translator.translations["en"]; - var spanish = ninja.translator.translations["es"]; - var spanishClone = {}; - for (var key in spanish) { - spanishClone[key] = spanish[key]; - } - var newLang = {}; - for (var key in english) { - newLang[key] = english[key]; - delete spanishClone[key]; - } - for (var key in spanishClone) { - if (document.getElementById(key)) { - if (document.getElementById(key).value) { - newLang[key] = document.getElementById(key).value; - } - else { - newLang[key] = document.getElementById(key).innerHTML; - } - } - } - var div = document.createElement("div"); - div.setAttribute("class", "englishjson"); - div.innerHTML = "

English Json

"; - var elem = document.createElement("textarea"); - elem.setAttribute("rows", "15"); - elem.setAttribute("cols", "110"); - elem.setAttribute("wrap", "off"); - var langJson = "{\n"; - for (var key in newLang) { - langJson += "\t\"" + key + "\"" + ": " + "\"" + newLang[key].replace(/\"/g, "\\\"").replace(/\n/g, "\\n") + "\",\n"; - } - langJson = langJson.substr(0, langJson.length - 2); - langJson += "\n}\n"; - elem.innerHTML = langJson; - div.appendChild(elem); - document.body.appendChild(div); -}; From ed60f031a983505b25327f99776d6a90e4b5d5bb Mon Sep 17 00:00:00 2001 From: pointbiz Date: Sun, 17 Jan 2016 15:29:32 -0400 Subject: [PATCH 05/17] v3.1.1 refactor translations --- CHANGELOG.txt | 4 ++++ CHANGELOG.txt.asc | 20 ++++++++++++-------- bitaddress.org.html.sig | 16 ++++++++-------- package.json | 4 ++-- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 161b173..d32846a 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -28,6 +28,10 @@ END USER NOTES: Here is a signed list of file names and version history. +2016-01-17: status ACTIVE +bitaddress.org-v3.1.1-SHA256-8277de0a0c77761caa8f546c9885c36a3134a94823b14e24d364b86abb3a9ab3.html + - refactor translations into separate files per culture. + 2015-11-22: status ACTIVE bitaddress.org-v3.1.0-SHA256-c3d4d8da8fc6980435a520dff562b7f831b2f6037ec2d4dd6bf76c5321873303.html - add BIP38 encryption on Wallet Details tab. diff --git a/CHANGELOG.txt.asc b/CHANGELOG.txt.asc index 77b6b10..0fbc20b 100644 --- a/CHANGELOG.txt.asc +++ b/CHANGELOG.txt.asc @@ -31,6 +31,10 @@ END USER NOTES: Here is a signed list of file names and version history. +2016-01-17: status ACTIVE +bitaddress.org-v3.1.1-SHA256-8277de0a0c77761caa8f546c9885c36a3134a94823b14e24d364b86abb3a9ab3.html + - refactor translations into separate files per culture. + 2015-11-22: status ACTIVE bitaddress.org-v3.1.0-SHA256-c3d4d8da8fc6980435a520dff562b7f831b2f6037ec2d4dd6bf76c5321873303.html - add BIP38 encryption on Wallet Details tab. @@ -308,13 +312,13 @@ bitaddress.org-v0.2-SHA1-71216f5b84ef8831a805dbf66e9d8b83ad1dc5fb.html bitaddress.org-v0.1-SHA1-f40e706490f3eb2be56c31ddbf4c8646cd51ef40.html -Initial release -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.13 (MingW32) +Version: GnuPG v1 -iQEcBAEBAgAGBQJWUg6qAAoJEIdJe5Fjl09afp8IAJvmclA316w8GOsOOoAd6+JO -dyJLa7PJ3xxELm3om3MLP3Am9em08ZQYNhccKVo2ZXOBcqoduSFsLVHfoNZ1/lQu -s6ISCPx/9P0slIdy4lJtj7S4bqLxWb8t10MgSOpPH8qag/XLDZxjETo3/LG1V5IL -sULWxFk+JS/rAt9A1yjAwO2Fk5NUEuWINCPfj8YUg2osKxgJFg7Qa1GdndVv9sRW -IF/IjZ/JTdLh3nqCtw6xfNe4Bzzv+0JLp+S4lB4ZJieaLoRPsPb72cwJq4JGyfrP -TGI9L1fkXNJEAbjIXxQP8WD19DNIQmq0EOc2j47O2zUhSvQtrxacZFZ12Z186V4= -=BewV +iQEcBAEBAgAGBQJWm+rtAAoJEIdJe5Fjl09aU5oH/iSBHopClnCbBcVjXkj9DxiZ +u3aUTGs2AUPgYCayeKZyJVwPg6clSw1GVIxM1WP78Zs0fR2jh2AcA7OMUOJSgs9i +/YTdFSaTN5Oizc0p4YiNa1xWFV0bKBn/ZP/q2c31cWWoOTcLDHP/MXHsPYxmuVfZ +nBnVLloDCRXVYfBqJuMRf2HxQJplN70fezXmuaVJGNyNpTzy32x1Tff+gt1lBmUI +LoqJ49KpAGx15xNWccpx0kKG2jqxJcMoUR34DQLCVMH63RQOvG5Oykq0ks6JDbLc +jCS4CXpdqGQS/NRI4Q0RatABPUf4GjQC/uLLDddxHaYKdo837SotxthAdJNpNCg= +=yv63 -----END PGP SIGNATURE----- diff --git a/bitaddress.org.html.sig b/bitaddress.org.html.sig index 4544f4f..9bd648f 100644 --- a/bitaddress.org.html.sig +++ b/bitaddress.org.html.sig @@ -1,11 +1,11 @@ -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.13 (MingW32) +Version: GnuPG v1 -iQEcBAABAgAGBQJWUg7BAAoJEIdJe5Fjl09aZZUH/0MKwbNX8fhAyfhFeaTAKRwM -mEtRrrvGY9v/OoeKnRas1LsfL/zuT0u1YtwnjFY8VX1ML3uu814TX0pnC5N2LyPC -5WGjoE7+COYNC6dghVJa9NP9U2tqwYSykheNvnJIML75DMnfX1W4XLxF+8rtQ+fc -Pdgkfvkv2RMvFxa5KFU7agNewI/p0/ngoh9gxfjYfItiiqmg5o2ZxiFpotFwVR8+ -xNeD5ZFLzU2NB/vta71e6wEO1Se7NOYYh8XF/9kKxurSuGD0p95OXpiRhtZ79nGs -Qlknkdl+PsLlrcXaarnQggWI6/5QIeqAcyj5jmAim+eyV6V/cERsutxHx+IbM1s= -=isNw +iQEcBAABAgAGBQJWm+sKAAoJEIdJe5Fjl09aR6wH/0KIUk+OvD3q3H87mcE3kIhC +8XeN/3fPCj716laD1V09pfECFM5Y/qjU/1259yd5nVgXUd30KFrJzuDTcFElIsDv +znqfBq7u9fVm3f0kZ+3glMzdeQwdu3gTIXPvmIZ1wTkveGiY/pq8Bnko/C2n/OEF +MqUNf134myLqyoaw3Wr/Db2GLRIMQ5huvCfQlFcG1W80M+iKBk6H/F71ZsDjAPyn +JJ6e+To0JAvmI62qNch0NoZ9WX+OkZu1TU/SZJyyoxwm54Zw3g7lSCDiG1jNEcDO +xuQ/bbGXILoUxptclSNkCGr+E6MZIi0gnXimfRp2gPJeX1KTrv1pT7wK+GaMvq0= +=t4t8 -----END PGP SIGNATURE----- diff --git a/package.json b/package.json index 1a13cf9..971f961 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "bitaddress.org", "version": "3.1.1", - "sha1sum": "", - "sha256sum": "", + "sha1sum": "b3759fb9ac0519e6a6f3fa46d4b9d2db7d494c8e", + "sha256sum": "8277de0a0c77761caa8f546c9885c36a3134a94823b14e24d364b86abb3a9ab3", "description": "Open Source JavaScript Client-Side Bitcoin Wallet Generator", "main": "Gruntfile.js", "dependencies": { From f64e8cd85d6d1e4d3dec6e217c5a0913b7350119 Mon Sep 17 00:00:00 2001 From: pointbiz Date: Mon, 8 Feb 2016 20:24:40 -0400 Subject: [PATCH 06/17] use compressed keys by default on single, paper, bulk wallets --- bitaddress.org.html | 54 ++++++++++++++++++++++++++++++---------- src/culture/cs.js | 2 +- src/culture/de.js | 2 +- src/culture/el.js | 2 +- src/culture/es.js | 2 +- src/culture/fr.js | 2 +- src/culture/hu.js | 2 +- src/culture/it.js | 2 +- src/culture/jp.js | 2 +- src/culture/pt-br.js | 2 +- src/culture/ru.js | 2 +- src/culture/zh-cn.js | 2 +- src/ninja.onload.js | 1 + src/ninja.paperwallet.js | 4 ++- src/ninja.translator.js | 27 +++++++++++++++++++- 15 files changed, 82 insertions(+), 26 deletions(-) diff --git a/bitaddress.org.html b/bitaddress.org.html index d014ecd..0f08296 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -7836,7 +7836,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "Bitcoin Address:", - "paperlabelprivatekey": "Private Key (Wallet Import Format):", + "paperlabelprivatekey": "Private Key:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", "bulkgeneratingaddresses": "Generating addresses... ", "brainalertpassphrasetooshort": "The passphrase you entered is too short.\n\n", @@ -7865,6 +7865,31 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { } }, + extractEnglishFromDomAndUpdateDictionary: function () { + var english = translator.translations["en"]; + var spanish = translator.translations["es"]; + var spanishClone = {}; + for (var key in spanish) { + spanishClone[key] = spanish[key]; + } + var newLang = {}; + for (var key in english) { + newLang[key] = english[key]; + delete spanishClone[key]; + } + for (var key in spanishClone) { + if (document.getElementById(key)) { + if (document.getElementById(key).value) { + newLang[key] = document.getElementById(key).value; + } + else { + newLang[key] = document.getElementById(key).innerHTML; + } + } + } + translator.translations["en"] = newLang; + }, + showEnglishJson: function () { var english = ninja.translator.translations["en"]; var spanish = ninja.translator.translations["es"]; @@ -7912,7 +7937,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET aktivován", "paperlabelbitcoinaddress": "Bitcoin adresa:", - "paperlabelprivatekey": "Soukromý klíč (WIF – Formát pro import do peněženky):", + "paperlabelprivatekey": "Soukromý klíč:", "paperlabelencryptedkey": "Šifrovaný soukromý klíč (Vyžadováno heslo)", "bulkgeneratingaddresses": "Generuji adresy... ", "brainalertpassphrasetooshort": "Zadané heslo je příliš krátké.\n\n", @@ -8078,7 +8103,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET AKTIVIERT", "paperlabelbitcoinaddress": "Bitcoin-Adresse:", - "paperlabelprivatekey": "Privater Schlüssel (Wallet Import Format):", + "paperlabelprivatekey": "Privater Schlüssel:", "paperlabelencryptedkey": "Verschlüsselter privater Schlüssel (Passwort benötigt)", "bulkgeneratingaddresses": "Adressen erstellen... ", "brainalertpassphrasetooshort": "Die eingegebene Passphrase ist zu kurz.\n\n", @@ -8244,7 +8269,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "ΕΝΕΡΓΗ ΕΚΔΟΣΗ TESTNET", "paperlabelbitcoinaddress": "Διεύθυνση Bitcoin:", - "paperlabelprivatekey": "Προσωπικό Κλειδί (Μορφή εισαγωγής σε πορτοφόλι):", + "paperlabelprivatekey": "Προσωπικό Κλειδί:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Δημιουργία διευθύνσεων... ", "brainalertpassphrasetooshort": "Η φράση κωδικός που δώσατε είναι πολύ αδύναμη.\n\n", @@ -8410,7 +8435,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "Testnet se activa", "paperlabelbitcoinaddress": "Dirección Bitcoin:", - "paperlabelprivatekey": "Clave privada (formato para importar):", + "paperlabelprivatekey": "Clave privada:", "paperlabelencryptedkey": "Clave privada cifrada (contraseña necesaria)", "bulkgeneratingaddresses": "Generación de direcciones... ", "brainalertpassphrasetooshort": "La contraseña introducida es demasiado corta.\n\n", @@ -8576,7 +8601,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "ÉDITION TESTNET ACTIVÉE", "paperlabelbitcoinaddress": "Adresse Bitcoin:", - "paperlabelprivatekey": "Clé Privée (Format d'importation de porte-monnaie):", + "paperlabelprivatekey": "Clé Privée:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Création de l'adresse... ", "brainalertpassphrasetooshort": "Le mot de passe que vous avez entré est trop court.\n\n", @@ -8743,7 +8768,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET KIADÁS AKTIVÁLVA", "paperlabelbitcoinaddress": "Bitcoin cím:", - "paperlabelprivatekey": "Privát kulcs (WIF, tárca import formátumban):", + "paperlabelprivatekey": "Privát kulcs:", "paperlabelencryptedkey": "Titkosított privát kulcs (Jelszó szükséges)", "bulkgeneratingaddresses": "Cím generálás... ", "brainalertpassphrasetooshort": "A megadott jelmondat túl rövid.\n\n", @@ -8915,7 +8940,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ATTIVATO", "paperlabelbitcoinaddress": "Indirizzo Bitcoin:", - "paperlabelprivatekey": "Chiave privata (Wallet Import Format):", + "paperlabelprivatekey": "Chiave privata:", "paperlabelencryptedkey": "Chiave privata criptata (password richiesta)", "bulkgeneratingaddresses": "Generazione indirizzi... ", "brainalertpassphrasetooshort": "La passphrase inserita è troppo corta.\n\n", @@ -9081,7 +9106,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "テストネット版が有効になりました。", "paperlabelbitcoinaddress": "ビットコインアドレス", - "paperlabelprivatekey": "プライベートキー(WIF形式)", + "paperlabelprivatekey": "プライベートキー", "paperlabelencryptedkey": "暗号化されたプライベートキー(パスワード必須)", "bulkgeneratingaddresses": "アドレス生成中...", "brainalertpassphrasetooshort": "パスワードが短すぎます \n\n", @@ -9254,7 +9279,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "EDIÇÃO DO TESTNET ATIVADA", "paperlabelbitcoinaddress": "Endereço Bitcoin:", - "paperlabelprivatekey": "Chave privada (Wallet Import Format):", + "paperlabelprivatekey": "Chave privada:", "paperlabelencryptedkey": "Chave privada criptografada (Senha necessária)", "bulkgeneratingaddresses": "Generando endereços... ", "brainalertpassphrasetooshort": "A senha introduzida é pequena demais.\n\n", @@ -9420,7 +9445,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "Активирован режим TESTNET", "paperlabelbitcoinaddress": "Адрес Bitcoin кошелька:", - "paperlabelprivatekey": "Приватный Ключ (в формате для импорта):", + "paperlabelprivatekey": "Приватный Ключ:", "paperlabelencryptedkey": "Зашифрованный Приватный Ключ (требуется пароль)", "bulkgeneratingaddresses": "Генерация адресов... ", "brainalertpassphrasetooshort": "Введенная парольная фраза слишком коротка.\n\n", @@ -9585,7 +9610,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "比特币地址", - "paperlabelprivatekey": "私钥 (WIF格式)", + "paperlabelprivatekey": "私钥", "paperlabelencryptedkey": "加密私钥(需要密码)", "bulkgeneratingaddresses": "创建地址中...", "brainalertpassphrasetooshort": "这个密码太短了 \n\n", @@ -9901,7 +9926,8 @@ ninja.wallets.paperwallet = { // idPostFix: 1, 2, 3, etc. generateNewWallet: function (idPostFix) { if (ninja.wallets.paperwallet.encrypt) { - ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, false, function (address, encryptedKey) { + var compressed = true; + ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, compressed, function (address, encryptedKey) { Bitcoin.KeyPool.push(new Bitcoin.Bip38Key(address, encryptedKey)); if (ninja.wallets.paperwallet.useArtisticWallet) { ninja.wallets.paperwallet.showArtisticWallet(idPostFix, address, encryptedKey); @@ -9913,6 +9939,7 @@ ninja.wallets.paperwallet = { } else { var key = new Bitcoin.ECKey(false); + key.setCompressed(true); var bitcoinAddress = key.getBitcoinAddress(); var privateKeyWif = key.getBitcoinWalletImportFormat(); if (ninja.wallets.paperwallet.useArtisticWallet) { @@ -11534,6 +11561,7 @@ if (ninja.getQueryString()["asyncunittests"] == "true" || ninja.getQueryString() ninja.unitTests.runAsynchronousTests(true); } // change language +ninja.translator.extractEnglishFromDomAndUpdateDictionary(); if (ninja.getQueryString()["culture"] != undefined) { ninja.translator.translate(ninja.getQueryString()["culture"]); } else { diff --git a/src/culture/cs.js b/src/culture/cs.js index c97ffac..2a4da3f 100644 --- a/src/culture/cs.js +++ b/src/culture/cs.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET aktivován", "paperlabelbitcoinaddress": "Bitcoin adresa:", - "paperlabelprivatekey": "Soukromý klíč (WIF – Formát pro import do peněženky):", + "paperlabelprivatekey": "Soukromý klíč:", "paperlabelencryptedkey": "Šifrovaný soukromý klíč (Vyžadováno heslo)", "bulkgeneratingaddresses": "Generuji adresy... ", "brainalertpassphrasetooshort": "Zadané heslo je příliš krátké.\n\n", diff --git a/src/culture/de.js b/src/culture/de.js index 7a8883b..2b1dc9c 100644 --- a/src/culture/de.js +++ b/src/culture/de.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET AKTIVIERT", "paperlabelbitcoinaddress": "Bitcoin-Adresse:", - "paperlabelprivatekey": "Privater Schlüssel (Wallet Import Format):", + "paperlabelprivatekey": "Privater Schlüssel:", "paperlabelencryptedkey": "Verschlüsselter privater Schlüssel (Passwort benötigt)", "bulkgeneratingaddresses": "Adressen erstellen... ", "brainalertpassphrasetooshort": "Die eingegebene Passphrase ist zu kurz.\n\n", diff --git a/src/culture/el.js b/src/culture/el.js index 22c4cf1..0a5293c 100644 --- a/src/culture/el.js +++ b/src/culture/el.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "ΕΝΕΡΓΗ ΕΚΔΟΣΗ TESTNET", "paperlabelbitcoinaddress": "Διεύθυνση Bitcoin:", - "paperlabelprivatekey": "Προσωπικό Κλειδί (Μορφή εισαγωγής σε πορτοφόλι):", + "paperlabelprivatekey": "Προσωπικό Κλειδί:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Δημιουργία διευθύνσεων... ", "brainalertpassphrasetooshort": "Η φράση κωδικός που δώσατε είναι πολύ αδύναμη.\n\n", diff --git a/src/culture/es.js b/src/culture/es.js index edf4b4a..b17b596 100644 --- a/src/culture/es.js +++ b/src/culture/es.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "Testnet se activa", "paperlabelbitcoinaddress": "Dirección Bitcoin:", - "paperlabelprivatekey": "Clave privada (formato para importar):", + "paperlabelprivatekey": "Clave privada:", "paperlabelencryptedkey": "Clave privada cifrada (contraseña necesaria)", "bulkgeneratingaddresses": "Generación de direcciones... ", "brainalertpassphrasetooshort": "La contraseña introducida es demasiado corta.\n\n", diff --git a/src/culture/fr.js b/src/culture/fr.js index 5c97bbc..3a45d14 100644 --- a/src/culture/fr.js +++ b/src/culture/fr.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "ÉDITION TESTNET ACTIVÉE", "paperlabelbitcoinaddress": "Adresse Bitcoin:", - "paperlabelprivatekey": "Clé Privée (Format d'importation de porte-monnaie):", + "paperlabelprivatekey": "Clé Privée:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", //TODO: please translate "bulkgeneratingaddresses": "Création de l'adresse... ", "brainalertpassphrasetooshort": "Le mot de passe que vous avez entré est trop court.\n\n", diff --git a/src/culture/hu.js b/src/culture/hu.js index 56f50a9..c6da164 100644 --- a/src/culture/hu.js +++ b/src/culture/hu.js @@ -4,7 +4,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET KIADÁS AKTIVÁLVA", "paperlabelbitcoinaddress": "Bitcoin cím:", - "paperlabelprivatekey": "Privát kulcs (WIF, tárca import formátumban):", + "paperlabelprivatekey": "Privát kulcs:", "paperlabelencryptedkey": "Titkosított privát kulcs (Jelszó szükséges)", "bulkgeneratingaddresses": "Cím generálás... ", "brainalertpassphrasetooshort": "A megadott jelmondat túl rövid.\n\n", diff --git a/src/culture/it.js b/src/culture/it.js index ace5760..d30a7c1 100644 --- a/src/culture/it.js +++ b/src/culture/it.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ATTIVATO", "paperlabelbitcoinaddress": "Indirizzo Bitcoin:", - "paperlabelprivatekey": "Chiave privata (Wallet Import Format):", + "paperlabelprivatekey": "Chiave privata:", "paperlabelencryptedkey": "Chiave privata criptata (password richiesta)", "bulkgeneratingaddresses": "Generazione indirizzi... ", "brainalertpassphrasetooshort": "La passphrase inserita è troppo corta.\n\n", diff --git a/src/culture/jp.js b/src/culture/jp.js index 64e38a4..c44d7c0 100644 --- a/src/culture/jp.js +++ b/src/culture/jp.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "テストネット版が有効になりました。", "paperlabelbitcoinaddress": "ビットコインアドレス", - "paperlabelprivatekey": "プライベートキー(WIF形式)", + "paperlabelprivatekey": "プライベートキー", "paperlabelencryptedkey": "暗号化されたプライベートキー(パスワード必須)", "bulkgeneratingaddresses": "アドレス生成中...", "brainalertpassphrasetooshort": "パスワードが短すぎます \n\n", diff --git a/src/culture/pt-br.js b/src/culture/pt-br.js index 20f2b06..6b69636 100644 --- a/src/culture/pt-br.js +++ b/src/culture/pt-br.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "EDIÇÃO DO TESTNET ATIVADA", "paperlabelbitcoinaddress": "Endereço Bitcoin:", - "paperlabelprivatekey": "Chave privada (Wallet Import Format):", + "paperlabelprivatekey": "Chave privada:", "paperlabelencryptedkey": "Chave privada criptografada (Senha necessária)", "bulkgeneratingaddresses": "Generando endereços... ", "brainalertpassphrasetooshort": "A senha introduzida é pequena demais.\n\n", diff --git a/src/culture/ru.js b/src/culture/ru.js index 8eba13e..3f46fcf 100644 --- a/src/culture/ru.js +++ b/src/culture/ru.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "Активирован режим TESTNET", "paperlabelbitcoinaddress": "Адрес Bitcoin кошелька:", - "paperlabelprivatekey": "Приватный Ключ (в формате для импорта):", + "paperlabelprivatekey": "Приватный Ключ:", "paperlabelencryptedkey": "Зашифрованный Приватный Ключ (требуется пароль)", "bulkgeneratingaddresses": "Генерация адресов... ", "brainalertpassphrasetooshort": "Введенная парольная фраза слишком коротка.\n\n", diff --git a/src/culture/zh-cn.js b/src/culture/zh-cn.js index 141f54f..e607481 100644 --- a/src/culture/zh-cn.js +++ b/src/culture/zh-cn.js @@ -3,7 +3,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "比特币地址", - "paperlabelprivatekey": "私钥 (WIF格式)", + "paperlabelprivatekey": "私钥", "paperlabelencryptedkey": "加密私钥(需要密码)", "bulkgeneratingaddresses": "创建地址中...", "brainalertpassphrasetooshort": "这个密码太短了 \n\n", diff --git a/src/ninja.onload.js b/src/ninja.onload.js index 17e5be3..0f73016 100644 --- a/src/ninja.onload.js +++ b/src/ninja.onload.js @@ -8,6 +8,7 @@ if (ninja.getQueryString()["asyncunittests"] == "true" || ninja.getQueryString() ninja.unitTests.runAsynchronousTests(true); } // change language +ninja.translator.extractEnglishFromDomAndUpdateDictionary(); if (ninja.getQueryString()["culture"] != undefined) { ninja.translator.translate(ninja.getQueryString()["culture"]); } else { diff --git a/src/ninja.paperwallet.js b/src/ninja.paperwallet.js index 9fb90b7..f3a0060 100644 --- a/src/ninja.paperwallet.js +++ b/src/ninja.paperwallet.js @@ -100,7 +100,8 @@ ninja.wallets.paperwallet = { // idPostFix: 1, 2, 3, etc. generateNewWallet: function (idPostFix) { if (ninja.wallets.paperwallet.encrypt) { - ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, false, function (address, encryptedKey) { + var compressed = true; + ninja.privateKey.BIP38GenerateECAddressAsync(ninja.wallets.paperwallet.intermediatePoint, compressed, function (address, encryptedKey) { Bitcoin.KeyPool.push(new Bitcoin.Bip38Key(address, encryptedKey)); if (ninja.wallets.paperwallet.useArtisticWallet) { ninja.wallets.paperwallet.showArtisticWallet(idPostFix, address, encryptedKey); @@ -112,6 +113,7 @@ ninja.wallets.paperwallet = { } else { var key = new Bitcoin.ECKey(false); + key.setCompressed(true); var bitcoinAddress = key.getBitcoinAddress(); var privateKeyWif = key.getBitcoinWalletImportFormat(); if (ninja.wallets.paperwallet.useArtisticWallet) { diff --git a/src/ninja.translator.js b/src/ninja.translator.js index d1602a1..f55aae2 100644 --- a/src/ninja.translator.js +++ b/src/ninja.translator.js @@ -54,7 +54,7 @@ // javascript alerts or messages "testneteditionactivated": "TESTNET EDITION ACTIVATED", "paperlabelbitcoinaddress": "Bitcoin Address:", - "paperlabelprivatekey": "Private Key (Wallet Import Format):", + "paperlabelprivatekey": "Private Key:", "paperlabelencryptedkey": "Encrypted Private Key (Password required)", "bulkgeneratingaddresses": "Generating addresses... ", "brainalertpassphrasetooshort": "The passphrase you entered is too short.\n\n", @@ -83,6 +83,31 @@ } }, + extractEnglishFromDomAndUpdateDictionary: function () { + var english = translator.translations["en"]; + var spanish = translator.translations["es"]; + var spanishClone = {}; + for (var key in spanish) { + spanishClone[key] = spanish[key]; + } + var newLang = {}; + for (var key in english) { + newLang[key] = english[key]; + delete spanishClone[key]; + } + for (var key in spanishClone) { + if (document.getElementById(key)) { + if (document.getElementById(key).value) { + newLang[key] = document.getElementById(key).value; + } + else { + newLang[key] = document.getElementById(key).innerHTML; + } + } + } + translator.translations["en"] = newLang; + }, + showEnglishJson: function () { var english = ninja.translator.translations["en"]; var spanish = ninja.translator.translations["es"]; From c97bac03bb45da7b08fa579339412f2b6f99a1db Mon Sep 17 00:00:00 2001 From: pointbiz Date: Sat, 13 Feb 2016 17:28:42 -0400 Subject: [PATCH 07/17] compressed option added to brain wallet --- bitaddress.org.html | 10 +++++++++- src/bitaddress-ui.html | 6 +++++- src/main.css | 1 + src/ninja.brainwallet.js | 2 ++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/bitaddress.org.html b/bitaddress.org.html index 0f08296..fa3571c 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -6476,6 +6476,7 @@ input[type=checkbox] { position: relative; z-index: 20; } #bulkarea .format { font-style: italic; font-size: 90%; } #bulktextarea { font-size: 90%; width: 98%; margin: 4px 0 0 0; } #brainarea .keyarea { visibility: hidden; min-height: 110px; } +#brainview { margin-left: 5px; } #detailkeyarea { padding: 10px; } #detailarea { margin: 0; text-align: left; } #detailarea .notes { text-align: left; font-size: 80%; padding: 0 0 20px 0; } @@ -6784,9 +6785,13 @@ input[type=checkbox] { position: relative; z-index: 20; }
- + Algorithm: SHA256(passphrase)
+
+ + +
@@ -10221,6 +10226,9 @@ ninja.wallets.brainwallet = { if (key.length >= ninja.wallets.brainwallet.minPassphraseLength) { var bytes = Crypto.SHA256(key, { asBytes: true }); var btcKey = new Bitcoin.ECKey(bytes); + var isCompressed = document.getElementById("braincompressed").checked; + console.log(isCompressed); + btcKey.setCompressed(isCompressed); var bitcoinAddress = btcKey.getBitcoinAddress(); var privWif = btcKey.getBitcoinWalletImportFormat(); document.getElementById("brainbtcaddress").innerHTML = bitcoinAddress; diff --git a/src/bitaddress-ui.html b/src/bitaddress-ui.html index 2017e9d..0d69c53 100644 --- a/src/bitaddress-ui.html +++ b/src/bitaddress-ui.html @@ -269,9 +269,13 @@
- + Algorithm: SHA256(passphrase)
+
+ + +
diff --git a/src/main.css b/src/main.css index efd9cec..8a28601 100644 --- a/src/main.css +++ b/src/main.css @@ -92,6 +92,7 @@ input[type=checkbox] { position: relative; z-index: 20; } #bulkarea .format { font-style: italic; font-size: 90%; } #bulktextarea { font-size: 90%; width: 98%; margin: 4px 0 0 0; } #brainarea .keyarea { visibility: hidden; min-height: 110px; } +#brainview { margin-left: 5px; } #detailkeyarea { padding: 10px; } #detailarea { margin: 0; text-align: left; } #detailarea .notes { text-align: left; font-size: 80%; padding: 0 0 20px 0; } diff --git a/src/ninja.brainwallet.js b/src/ninja.brainwallet.js index aec0c7f..b9c1bf2 100644 --- a/src/ninja.brainwallet.js +++ b/src/ninja.brainwallet.js @@ -26,6 +26,8 @@ ninja.wallets.brainwallet = { if (key.length >= ninja.wallets.brainwallet.minPassphraseLength) { var bytes = Crypto.SHA256(key, { asBytes: true }); var btcKey = new Bitcoin.ECKey(bytes); + var isCompressed = document.getElementById("braincompressed").checked; + btcKey.setCompressed(isCompressed); var bitcoinAddress = btcKey.getBitcoinAddress(); var privWif = btcKey.getBitcoinWalletImportFormat(); document.getElementById("brainbtcaddress").innerHTML = bitcoinAddress; From 8a0c686e61873bdb95b17d94cf7beeebb95e4a8a Mon Sep 17 00:00:00 2001 From: pointbiz Date: Fri, 19 Feb 2016 21:29:59 -0400 Subject: [PATCH 08/17] v3.2.0 compressed addresses on Single/Paper/Bulk wallet. compressed option on Brain wallet. BIP38 on Bulk Wallet. --- CHANGELOG.txt | 7 +++++++ CHANGELOG.txt.asc | 21 ++++++++++++++------- bitaddress.org.html | 1 - bitaddress.org.html.sig | 14 +++++++------- package.json | 4 ++-- 5 files changed, 30 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d32846a..acbbe92 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -28,6 +28,13 @@ END USER NOTES: Here is a signed list of file names and version history. +2016-02-19: status ACTIVE +bitaddress.org-v3.2.0-SHA256-ad4fd171c647772aa76d0ce828731b01ca586596275d43a94008766b758e8736.html + - switch languages without full page load + - add BIP38 encryption to Bulk Wallet + - use compressed addresses on Single/Paper/Bulk Wallet + - add compressed address option on Brain Wallet + 2016-01-17: status ACTIVE bitaddress.org-v3.1.1-SHA256-8277de0a0c77761caa8f546c9885c36a3134a94823b14e24d364b86abb3a9ab3.html - refactor translations into separate files per culture. diff --git a/CHANGELOG.txt.asc b/CHANGELOG.txt.asc index 0fbc20b..720b795 100644 --- a/CHANGELOG.txt.asc +++ b/CHANGELOG.txt.asc @@ -31,6 +31,13 @@ END USER NOTES: Here is a signed list of file names and version history. +2016-02-19: status ACTIVE +bitaddress.org-v3.2.0-SHA256-ad4fd171c647772aa76d0ce828731b01ca586596275d43a94008766b758e8736.html + - switch languages without full page load + - add BIP38 encryption to Bulk Wallet + - use compressed addresses on Single/Paper/Bulk Wallet + - add compressed address option on Brain Wallet + 2016-01-17: status ACTIVE bitaddress.org-v3.1.1-SHA256-8277de0a0c77761caa8f546c9885c36a3134a94823b14e24d364b86abb3a9ab3.html - refactor translations into separate files per culture. @@ -314,11 +321,11 @@ bitaddress.org-v0.1-SHA1-f40e706490f3eb2be56c31ddbf4c8646cd51ef40.html -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 -iQEcBAEBAgAGBQJWm+rtAAoJEIdJe5Fjl09aU5oH/iSBHopClnCbBcVjXkj9DxiZ -u3aUTGs2AUPgYCayeKZyJVwPg6clSw1GVIxM1WP78Zs0fR2jh2AcA7OMUOJSgs9i -/YTdFSaTN5Oizc0p4YiNa1xWFV0bKBn/ZP/q2c31cWWoOTcLDHP/MXHsPYxmuVfZ -nBnVLloDCRXVYfBqJuMRf2HxQJplN70fezXmuaVJGNyNpTzy32x1Tff+gt1lBmUI -LoqJ49KpAGx15xNWccpx0kKG2jqxJcMoUR34DQLCVMH63RQOvG5Oykq0ks6JDbLc -jCS4CXpdqGQS/NRI4Q0RatABPUf4GjQC/uLLDddxHaYKdo837SotxthAdJNpNCg= -=yv63 +iQEcBAEBAgAGBQJWx8DZAAoJEIdJe5Fjl09aFeEH/2wrQWW3YrDP1LuMfOEhydJ6 +4DsGN1hBRqR1qVzGWxFjwcHLrY95C0u+P0HI82riQF7+q+IKwU9KJWU2+ryfBTAG +Px8CTMw2kL6lgk854UqbpdLvLiZUEgjpyiF2mtptlH4ruVFLzHmVe9CbjLU7GPOK +Nni8oeYH5LWf5VUpSAZh6sGe39vfMQuEtREnpBcP+aJM8Mp5jwKHz2payWTNaTSa +UXoYqY/ehQho3ILm0a5lEkGFyJC3ObJXRSiErGucFBDKM0SITlREfFEQDcRMvmrZ +JaWrLi+dVmbMXXEVJZSoed5i1cOLA+byeay3UcDXcmz53PIAhSrZWFfMv22Re6M= +=FiVM -----END PGP SIGNATURE----- diff --git a/bitaddress.org.html b/bitaddress.org.html index fa3571c..7a4cffa 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -10227,7 +10227,6 @@ ninja.wallets.brainwallet = { var bytes = Crypto.SHA256(key, { asBytes: true }); var btcKey = new Bitcoin.ECKey(bytes); var isCompressed = document.getElementById("braincompressed").checked; - console.log(isCompressed); btcKey.setCompressed(isCompressed); var bitcoinAddress = btcKey.getBitcoinAddress(); var privWif = btcKey.getBitcoinWalletImportFormat(); diff --git a/bitaddress.org.html.sig b/bitaddress.org.html.sig index 9bd648f..d895ee3 100644 --- a/bitaddress.org.html.sig +++ b/bitaddress.org.html.sig @@ -1,11 +1,11 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 -iQEcBAABAgAGBQJWm+sKAAoJEIdJe5Fjl09aR6wH/0KIUk+OvD3q3H87mcE3kIhC -8XeN/3fPCj716laD1V09pfECFM5Y/qjU/1259yd5nVgXUd30KFrJzuDTcFElIsDv -znqfBq7u9fVm3f0kZ+3glMzdeQwdu3gTIXPvmIZ1wTkveGiY/pq8Bnko/C2n/OEF -MqUNf134myLqyoaw3Wr/Db2GLRIMQ5huvCfQlFcG1W80M+iKBk6H/F71ZsDjAPyn -JJ6e+To0JAvmI62qNch0NoZ9WX+OkZu1TU/SZJyyoxwm54Zw3g7lSCDiG1jNEcDO -xuQ/bbGXILoUxptclSNkCGr+E6MZIi0gnXimfRp2gPJeX1KTrv1pT7wK+GaMvq0= -=t4t8 +iQEcBAABAgAGBQJWx8DzAAoJEIdJe5Fjl09awNYIAIsrdkZJylt01F15y1jy5SUB +elatgdvoWuvBtj1toTBknvWs3SrLbAi4OkzIZbZnu/QSf+6BejeGlus1AKJwbQFr +srVVdw3x3I9T+mY3GLdrbrAhivulBQhGk+LSyJhp9/tVj6r924kbceK+QtV6GVLs +6UXzjejbwoTF51av0n5isuF7tUIUC2cfpgvznSGVFGlUbseByBLIut+X0VgVwa7V +zIjnkgI12tiAAWquZtaZ5H5SKcVOQ1+7MqcZ3m9fH7E3+st+xe6JczHIytqu0hVI +IXs5TpzzdeXaxEuJPGa7w43M5e6CHKviDT8EjTnc/JBJjBLHymrTAa/jUkQXYaU= +=y/7l -----END PGP SIGNATURE----- diff --git a/package.json b/package.json index a18d6b4..e1c3d7c 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "bitaddress.org", "version": "3.2.0", - "sha1sum": "", - "sha256sum": "", + "sha1sum": "057f3192b603d42c980ea23d5ae332a65f7a327c", + "sha256sum": "ad4fd171c647772aa76d0ce828731b01ca586596275d43a94008766b758e8736", "description": "Open Source JavaScript Client-Side Bitcoin Wallet Generator", "main": "Gruntfile.js", "dependencies": { From 37ec2b560005ab49f71c8a61f994a81560d094e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Gergely?= Date: Tue, 7 Jun 2016 11:29:48 +0200 Subject: [PATCH 09/17] updated missing translations, fixed wrong trans. --- src/culture/hu.js | 56 +++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/culture/hu.js b/src/culture/hu.js index c6da164..654d654 100644 --- a/src/culture/hu.js +++ b/src/culture/hu.js @@ -10,8 +10,8 @@ "brainalertpassphrasetooshort": "A megadott jelmondat túl rövid.\n\n", "brainalertpassphrasewarning": "Figyelem: Fontos, hogy erős jelmondatot válasszon, mert különben a jelmondatot nyers erővel feltörhetik és a bitcoinjait ellophatják.", "brainalertpassphrasedoesnotmatch": "A jelmondat és az ellenőrző jelmondat nem azonos.", - "detailalertnotvalidprivatekey": "A beadott szöveg nem érvénytelen Privát Kulcs", - "detailconfirmsha256": "Az ön által beadott szöveg érvénytelen Privát Kulcs!\n\nSzeretné a beadott szöveget jelmondatként kezelni, és annak SHA256 zanzájából egy Privát Kulcsot előállítani?\n\nFigyelem: Fontos, hogy erős jelmondatot válasszon, mert különben a jelmondatot nyers erővel feltörhetik és a bitcoinjait ellophatják.", + "detailalertnotvalidprivatekey": "A megadott szöveg nem érvényes Privát Kulcs", + "detailconfirmsha256": "Az ön által megadott szöveg érvénytelen Privát Kulcs!\n\nSzeretné a megadott szöveget jelmondatként kezelni, és annak SHA256 zanzájából egy Privát Kulcsot előállítani?\n\nFigyelem: Fontos, hogy erős jelmondatot válasszon, mert különben a jelmondatot nyers erővel feltörhetik és a bitcoinjait ellophatják.", "bip38alertincorrectpassphrase": "Érvénytelen jelmondat a titkosított privát kulcshoz.", "bip38alertpassphraserequired": "A BIP38 kulcshoz jelmondat szükséges", "vanityinvalidinputcouldnotcombinekeys": "Érvénytelen bemenet. A kulcsok nem tartoznak össsze.", @@ -46,29 +46,29 @@ "footerlabelnowarranty": "Garancia nincs.", // status html - "statuslabelcryptogood": "✔ Good!", //TODO: please translate - "statuslabelcryptogood1": "Your browser can generate cryptographically random keys using window.crypto.getRandomValues", //TODO: please translate - "statusokcryptogood": "OK", //TODO: please translate - "statuslabelcryptobad": "× Oh no!", //TODO: please translate - "statuslabelcryptobad1": "Your browser does NOT support window.crypto.getRandomValues. You should use a more modern browser with this generator to increase the security of the keys generated.", - "statusokcryptobad": "OK", //TODO: please translate - "statuslabelunittestsgood": "✔ Good!", //TODO: please translate - "statuslabelunittestsgood1": "All synchronous unit tests passed.", //TODO: please translate - "statusokunittestsgood": "OK", //TODO: please translate - "statuslabelunittestsbad": "× Oh no!", //TODO: please translate - "statuslabelunittestsbad1": "Some synchronous unit tests DID NOT pass. You should find another browser to use with this generator.", //TODO: please translate - "statusokunittestsbad": "OK", //TODO: please translate - "statuslabelprotocolgood": "✔ Good!", //TODO: please translate - "statuslabelprotocolgood1": "You are running this generator from your local computer.
Tip: Double check you are offline by trying ", //TODO: please translate - "statusokprotocolgood": "OK", //TODO: please translate - "statuslabelprotocolbad": "⚠ Think twice!", //TODO: please translate - "statuslabelprotocolbad1": "You appear to be running this generator online from a live website. For valuable wallets it is recommended to", //TODO: please translate - "statuslabelprotocolbad2": "download", //TODO: please translate - "statuslabelprotocolbad3": "the zip file from GitHub and run this generator offline as a local html file.", //TODO: please translate - "statusokprotocolbad": "OK", //TODO: please translate - "statuslabelkeypool1": "This is a log of all the Bitcoin Addresses and Private Keys you generated during your current session. Reloading the page will create a new session.", //TODO: please translate - "statuskeypoolrefresh": "Refresh", //TODO: please translate - "statusokkeypool": "OK", //TODO: please translate + "statuslabelcryptogood": "✔ Jó!", + "statuslabelcryptogood1": "A böngészője képes kriptográfiai szempontból véletlen kulcsok generálására (a window.crypto.getRandomValues metódus támogatott)", + "statusokcryptogood": "Rendben", + "statuslabelcryptobad": "× Ó jaj!", + "statuslabelcryptobad1": "Böngészője NEM támogatja a window.crypto.getRandomValues metódust. A metódust támogató, modernebb böngészőt kell használnia, ha növelni szeretné a generált kulcsok biztonsági szintjét!", + "statusokcryptobad": "Rendben", + "statuslabelunittestsgood": "✔ Jó!", + "statuslabelunittestsgood1": "Minden szinkron unit-teszt sikeres.", + "statusokunittestsgood": "Rendben", + "statuslabelunittestsbad": "× Ó, jaj!", + "statuslabelunittestsbad1": "Néhány szinkron unit-teszt NEM volt sikeres. Jobb, ha egy másik böngészőt használ ehhez a generátorhoz!", + "statusokunittestsbad": "Rendben", + "statuslabelprotocolgood": "✔ Jó!", + "statuslabelprotocolgood1": "Ezt a generátort a helyi gépről futtatja.
Tipp: Győzdjön meg róla, hogy offline itt: ", + "statusokprotocolgood": "Rendben", + "statuslabelprotocolbad": "⚠ Gondolja át!", + "statuslabelprotocolbad1": "A jelek szerint élő honlapról futtatja a generátort. Használható tárcák készítéséhez javasoljuk, hogy ", + "statuslabelprotocolbad2": "töltse le", + "statuslabelprotocolbad3": "a GitHub-on található zip állományt és futtassa a generátort offline módban, helyi html állományként.", + "statusokprotocolbad": "Rendben", + "statuslabelkeypool1": "Ez a jelen ügymenet során készített valamennyi Bitcoin cím és privát kulcs naplója. A lap újratöltésével új ügymenetet indíthat.", + "statuskeypoolrefresh": "Frissítés", + "statusokkeypool": "Rendben", // single wallet html "newaddress": "Új cím előállítása", @@ -166,8 +166,8 @@ "detaillabelprivmini": "Mini formátumú Privát Kulcs (22, 26 vagy 30 karakter, amely egy 'S'-sel kezdődik):", "detaillabelpassphrase": "BIP38 jelmondat", "detailbip38decryptbutton": "BIP38 dekódolás", - "detailbip38encryptbutton": "Encrypt BIP38", //TODO: please translate + "detailbip38encryptbutton": "BIP38 titkosítás", "detaillabelq1": "Hogyan lehet dobókockával pénztárcát készíteni? Mit jelent a B6 formátum?", - "detaila1": "Egy Bitcoin pénztárca előállításakor nagyon fontos, hogy a felhasznált véletlen számok valóban véletlenek legyenek. A fizikai véletlen jobb, mint a számítógéppel előállított pszeudo-véletlen. Fizikai véletlen a legegyszerűbben egy dobókockával állítható elő. Ha szeretne egy Bitcoin privát címet előállítani, akkor csupán egy dobókockára van szüksége, mellyel 99-szer kell dobni. Jegyezze fel minden egyes dobása eredményét. Az eredmények feljegyzésekor a következő szabályokat kövesse: 1->1, 2->2, 3->3, 4->4, 5->5, 6->0. Ha így tesz, akkor a privát kulcshoz tartozó véletlen számot B6 formátumban, vagyis 6-os számrendszerben rögzíti. Írja be ezt a 99 karakterből álló 6-os számrendszerbeli privát kulcsot a fenti szövegmezőbe, majd nyomja meg a 'Részletek megjelenítése' gombot. Ekkor megjelenik az a Bitcoin cím, amely ehhez a privát kulcshoz tartozik. Érdemes felírni a WIF formátumú privát kulcsot is, mivel ezt szélesebb körben használják." + "detaila1": "A Bitcoin pénztárca előállításakor nagyon fontos, hogy a felhasznált véletlen számok valóban véletlenek legyenek. A fizikai véletlen jobb, mint a számítógéppel előállított pszeudo-véletlen. Fizikai véletlen a legegyszerűbben egy dobókockával állítható elő. Ha szeretne egy Bitcoin privát címet előállítani, akkor csupán egy dobókockára van szüksége, mellyel 99-szer kell dobni. Jegyezze fel minden egyes dobása eredményét. Az eredmények feljegyzésekor a következő szabályokat kövesse: 1->1, 2->2, 3->3, 4->4, 5->5, 6->0. Ha így tesz, akkor a privát kulcshoz tartozó véletlen számot B6 formátumban, vagyis 6-os számrendszerben rögzíti. Írja be ezt a 99 karakterből álló 6-os számrendszerbeli privát kulcsot a fenti szövegmezőbe, majd nyomja meg a 'Részletek megjelenítése' gombot. Ekkor megjelenik az a Bitcoin cím, amely ehhez a privát kulcshoz tartozik. Érdemes felírni a WIF formátumú privát kulcsot is, mivel ezt szélesebb körben használják." }; -})(ninja.translator); \ No newline at end of file +})(ninja.translator); From 66fd8a2815fa44586492b31bb1961945596c7883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Gergely?= Date: Tue, 7 Jun 2016 20:59:03 +0200 Subject: [PATCH 10/17] stylistic improvements, more natural hungarian text --- bitaddress.org.html | 67 +++++++++++++++++++++++---------------------- src/culture/hu.js | 22 +++++++-------- 2 files changed, 45 insertions(+), 44 deletions(-) diff --git a/bitaddress.org.html b/bitaddress.org.html index 7a4cffa..d9cb94c 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -8779,8 +8779,8 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { "brainalertpassphrasetooshort": "A megadott jelmondat túl rövid.\n\n", "brainalertpassphrasewarning": "Figyelem: Fontos, hogy erős jelmondatot válasszon, mert különben a jelmondatot nyers erővel feltörhetik és a bitcoinjait ellophatják.", "brainalertpassphrasedoesnotmatch": "A jelmondat és az ellenőrző jelmondat nem azonos.", - "detailalertnotvalidprivatekey": "A beadott szöveg nem érvénytelen Privát Kulcs", - "detailconfirmsha256": "Az ön által beadott szöveg érvénytelen Privát Kulcs!\n\nSzeretné a beadott szöveget jelmondatként kezelni, és annak SHA256 zanzájából egy Privát Kulcsot előállítani?\n\nFigyelem: Fontos, hogy erős jelmondatot válasszon, mert különben a jelmondatot nyers erővel feltörhetik és a bitcoinjait ellophatják.", + "detailalertnotvalidprivatekey": "A megadott szöveg nem érvényes Privát Kulcs", + "detailconfirmsha256": "Az ön által megadott szöveg érvénytelen Privát Kulcs!\n\nSzeretné a megadott szöveget jelmondatként kezelni, és annak SHA256 zanzájából egy Privát Kulcsot előállítani?\n\nFigyelem: Fontos, hogy erős jelmondatot válasszon, mert különben a jelmondatot nyers erővel feltörhetik és a bitcoinjait ellophatják.", "bip38alertincorrectpassphrase": "Érvénytelen jelmondat a titkosított privát kulcshoz.", "bip38alertpassphraserequired": "A BIP38 kulcshoz jelmondat szükséges", "vanityinvalidinputcouldnotcombinekeys": "Érvénytelen bemenet. A kulcsok nem tartoznak össsze.", @@ -8790,7 +8790,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { "vanityalertinvalidinputprivatekeysmatch": "Érvénytelen bemenet. A két megadott privát kulcs azonos. Két különböző kulcs bevitelére van szükség.", // header and menu html - "tagline": "Nyílt forráskódú, kliens oldali JavaScript, Bitcoin pénztárca előállítására", + "tagline": "Nyílt forráskódú, ügyfél oldali JavaScript Bitcoin tárca készítő program", "generatelabelbitcoinaddress": "A bitcoin cím előállítása...", "generatelabelmovemouse": "MOZGASSA az egeret, ha fokozni szeretné a véletlenszerűséget...", "generatelabelkeypress": "VAGY gépeljen be néhány véletlenszerű karaktert ebbe a szövegdobozba", @@ -8799,7 +8799,7 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { "bulkwallet": "Tömeges pénztárca", "brainwallet": "Fejben tartott pénztárca", "vanitywallet": "Kérkedő pénztárca", - "splitwallet": "Részekre bontott ~", + "splitwallet": "Felosztott tárca", "detailwallet": "A pénztárca részletei", // footer html @@ -8815,39 +8815,39 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { "footerlabelnowarranty": "Garancia nincs.", // status html - "statuslabelcryptogood": "✔ Good!", //TODO: please translate - "statuslabelcryptogood1": "Your browser can generate cryptographically random keys using window.crypto.getRandomValues", //TODO: please translate - "statusokcryptogood": "OK", //TODO: please translate - "statuslabelcryptobad": "× Oh no!", //TODO: please translate - "statuslabelcryptobad1": "Your browser does NOT support window.crypto.getRandomValues. You should use a more modern browser with this generator to increase the security of the keys generated.", - "statusokcryptobad": "OK", //TODO: please translate - "statuslabelunittestsgood": "✔ Good!", //TODO: please translate - "statuslabelunittestsgood1": "All synchronous unit tests passed.", //TODO: please translate - "statusokunittestsgood": "OK", //TODO: please translate - "statuslabelunittestsbad": "× Oh no!", //TODO: please translate - "statuslabelunittestsbad1": "Some synchronous unit tests DID NOT pass. You should find another browser to use with this generator.", //TODO: please translate - "statusokunittestsbad": "OK", //TODO: please translate - "statuslabelprotocolgood": "✔ Good!", //TODO: please translate - "statuslabelprotocolgood1": "You are running this generator from your local computer.
Tip: Double check you are offline by trying ", //TODO: please translate - "statusokprotocolgood": "OK", //TODO: please translate - "statuslabelprotocolbad": "⚠ Think twice!", //TODO: please translate - "statuslabelprotocolbad1": "You appear to be running this generator online from a live website. For valuable wallets it is recommended to", //TODO: please translate - "statuslabelprotocolbad2": "download", //TODO: please translate - "statuslabelprotocolbad3": "the zip file from GitHub and run this generator offline as a local html file.", //TODO: please translate - "statusokprotocolbad": "OK", //TODO: please translate - "statuslabelkeypool1": "This is a log of all the Bitcoin Addresses and Private Keys you generated during your current session. Reloading the page will create a new session.", //TODO: please translate - "statuskeypoolrefresh": "Refresh", //TODO: please translate - "statusokkeypool": "OK", //TODO: please translate + "statuslabelcryptogood": "✔ Helyes!", + "statuslabelcryptogood1": "A böngészője képes kriptográfiai szempontból véletlen kulcsok generálására (a window.crypto.getRandomValues metódus támogatott)", + "statusokcryptogood": "Rendben", + "statuslabelcryptobad": "× Ó jaj!", + "statuslabelcryptobad1": "Böngészője NEM támogatja a window.crypto.getRandomValues metódust. A metódust támogató, modernebb böngészőt kell használnia, ha növelni szeretné a generált kulcsok biztonsági szintjét!", + "statusokcryptobad": "Rendben", + "statuslabelunittestsgood": "✔ Helyes!", + "statuslabelunittestsgood1": "Minden szinkron unit-teszt sikeres.", + "statusokunittestsgood": "Rendben", + "statuslabelunittestsbad": "× Ó, jaj!", + "statuslabelunittestsbad1": "Néhány szinkron unit-teszt NEM volt sikeres. Jobb, ha egy másik böngészőt használ ehhez a generátorhoz!", + "statusokunittestsbad": "Rendben", + "statuslabelprotocolgood": "✔ Helyes!", + "statuslabelprotocolgood1": "Ezt a generátort a helyi gépről futtatja.
Tipp: Győzdjön meg róla, hogy nem kapcsolódik a hálózatra: ", + "statusokprotocolgood": "Rendben", + "statuslabelprotocolbad": "⚠ Gondolja át!", + "statuslabelprotocolbad1": "A jelek szerint élő honlapról futtatja a generátort. Használható tárcák készítéséhez javasoljuk, hogy ", + "statuslabelprotocolbad2": "töltse le", + "statuslabelprotocolbad3": "a GitHub-on található zip állományt és futtassa a generátort offline módban, helyi html állományként.", + "statusokprotocolbad": "Rendben", + "statuslabelkeypool1": "Az ügymenet során készített valamennyi Bitcoin cím és privát kulcs naplója. A lap újratöltésével új ügymenetet indíthat.", + "statuskeypoolrefresh": "Frissítés", + "statusokkeypool": "Rendben", // single wallet html "newaddress": "Új cím előállítása", "singleprint": "Nyomtatás", "singlelabelbitcoinaddress": "Bitcoin cím:", - "singlelabelprivatekey": "Privát kulcs (WIF, tárca import formátumban):", - "singletip1": "Egy bitcoin pénztárca nem más, mint egy bitcoin címből és a hozzá tartozó privát kulcsból álló számpár. Egy ilyen pénztárcát állítottunk elő és jelenítettünk meg fent az Ön számára a Web böngészőben.", - "singletip2": "A pénztárca biztonságos megőrzése érdekében nyomtassa ki vagy más módon rögzítse a bitcoin címet és privát kulcsot. Fontos, hogy a privát kulcsból készítsen másolatot, és tárolja biztonságos helyen. Ez a webhely nem tud az ön privát kulcsairól. Ha ismeri a PGP-t, akkor egyben letöltheti az egész web lapot, és ellenőrizheti, hogy a webhely szerzője álatal írt valódi változatot töltötte-e le. Ehhez össze kell hasonlítania a HTML-ből képzett SHA256 zanzát a webhely láblécében hivatkozott, aláírt verzió történetben lévő SHA256 zanzával. Ha elhagyja/megfrissíti a webhelyet vagy megnyomja az 'Új cím előállítása' gombot, akkor egy új privát kulcs áll elő, és az előzőleg megjelenített privát kulcs elvész. A bitcoin címhez tartozó privát kulcsot titokban kell tartani. Bárki, aki megszerzi ezt a kulcsot, el tudja költeni az ehhez a címhez tartozó összes bitcoint. Ha kinyomtatja a pénztárcát, akkor tárolja egy villámzáras vízhatlan nylon-zacskóban. A papír pénztárcát tekintse úgy, mintha pénz lenne.", + "singlelabelprivatekey": "Privát kulcs:", + "singletip1": "A bitcoin pénztárca nem más, mint egy bitcoin címből és a hozzá tartozó privát kulcsból álló számpár. Egy ilyen pénztárcát állítottunk elő és jelenítettünk meg fent az Ön számára a Web böngészőben.", + "singletip2": "A pénztárca biztonságos megőrzése érdekében nyomtassa ki vagy más módon rögzítse a bitcoin címet és privát kulcsot. Fontos, hogy a privát kulcsból készítsen másolatot, és tárolja biztonságos helyen. Ez a webhely nem tárol az ön privát kulcsaival kapcsolatos információt. Ha ismeri a PGP-t, akkor egyben letöltheti az egész honlapot, és ellenőrizheti, hogy a webhely szerzője álatal írt valódi változatot töltötte-e le. Ehhez össze kell hasonlítania a HTML-ből képzett SHA256 zanzát a webhely láblécében hivatkozott, digitálisan aláírt verzió történetben lévő SHA256 zanzával. Amennyiben elhagyja vagy frissíti a webhelyet illetve megnyomja az 'Új cím előállítása' gombot, akkor új privát kulcs készül és az előzőleg megjelenített privát kulcs elvész. A bitcoin címhez tartozó privát kulcsot titokban kell tartani. Bárki, aki megszerzi ezt a kulcsot, el tudja költeni a címhez tartozó valamennyi bitcoint. Ha kinyomtatja a pénztárcát, akkor tárolja egy villámzáras vízhatlan nejlonzacskóban. A papírtárcát kezelje úgy, mintha pénz lenne.", "singletip3": "Pénzt úgy tehet a pénztárcájába, hogy másokkal bitcoinokat küldet erre a Bitcoin címre.", - "singletip4": "A pénztárca egyenlegét úgy kérdezheti le, hogy elmegy a blockchain.info vagy a blockexplorer.com weblapokra, és ott beadja ezt a Bitcoin címet.", + "singletip4": "A pénztárca egyenlegét úgy kérdezheti le, hogy elmegy a blockchain.info vagy a blockexplorer.com weblapokra, és ott begépeli ezt a Bitcoin címet.", "singletip5": "Ha el akarja költeni a bitcoinjait, akkor menjen a blockchain.info weblapra, és a privát kulcson lévő teljes egyenleget töltse át (sweep) a weblapon lévő számlájára. A pénzt úgy is elköltheti, hogy letölti valamelyik népszerű p2p bitcoin klienst, és beimportálja a privát kulcsot a p2p kliens pénztárcájába. Ne feledje, hogy miután beimportálta a kulcsot a p2p bitcoin kliensbe, a kulcsot a p2p kliens a pénztárcában lévő többi kulccsal együtt tárolja. Pénz küldésekor a visszajáró pénzt a p2p kliens pénztárcájában lévő másik bitcoin címre fogják küldeni. Ekkor biztonsági másolatot kell készítenie a p2p kliens pénztárcáról, és a másolatot biztos helyen kell őriznie, mivel a maradék bitcoinjait a pénztárca kulcsai tárolják. Satoshi tanácsa, hogy pénztárcát soha ne töröljünk.", // paper wallet html @@ -8935,11 +8935,12 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) { "detaillabelprivmini": "Mini formátumú Privát Kulcs (22, 26 vagy 30 karakter, amely egy 'S'-sel kezdődik):", "detaillabelpassphrase": "BIP38 jelmondat", "detailbip38decryptbutton": "BIP38 dekódolás", - "detailbip38encryptbutton": "Encrypt BIP38", //TODO: please translate + "detailbip38encryptbutton": "BIP38 titkosítás", "detaillabelq1": "Hogyan lehet dobókockával pénztárcát készíteni? Mit jelent a B6 formátum?", - "detaila1": "Egy Bitcoin pénztárca előállításakor nagyon fontos, hogy a felhasznált véletlen számok valóban véletlenek legyenek. A fizikai véletlen jobb, mint a számítógéppel előállított pszeudo-véletlen. Fizikai véletlen a legegyszerűbben egy dobókockával állítható elő. Ha szeretne egy Bitcoin privát címet előállítani, akkor csupán egy dobókockára van szüksége, mellyel 99-szer kell dobni. Jegyezze fel minden egyes dobása eredményét. Az eredmények feljegyzésekor a következő szabályokat kövesse: 1->1, 2->2, 3->3, 4->4, 5->5, 6->0. Ha így tesz, akkor a privát kulcshoz tartozó véletlen számot B6 formátumban, vagyis 6-os számrendszerben rögzíti. Írja be ezt a 99 karakterből álló 6-os számrendszerbeli privát kulcsot a fenti szövegmezőbe, majd nyomja meg a 'Részletek megjelenítése' gombot. Ekkor megjelenik az a Bitcoin cím, amely ehhez a privát kulcshoz tartozik. Érdemes felírni a WIF formátumú privát kulcsot is, mivel ezt szélesebb körben használják." + "detaila1": "A Bitcoin pénztárca előállításakor nagyon fontos, hogy a felhasznált véletlen számok valóban véletlenek legyenek. A fizikai véletlen jobb, mint a számítógéppel előállított pszeudo-véletlen. Fizikai véletlen a legegyszerűbben egy dobókockával állítható elő. Ha szeretne egy Bitcoin privát címet előállítani, akkor csupán egy dobókockára van szüksége, mellyel 99-szer kell dobni. Jegyezze fel minden egyes dobása eredményét. Az eredmények feljegyzésekor a következő szabályokat kövesse: 1->1, 2->2, 3->3, 4->4, 5->5, 6->0. Ha így tesz, akkor a privát kulcshoz tartozó véletlen számot B6 formátumban, vagyis 6-os számrendszerben rögzíti. Írja be ezt a 99 karakterből álló 6-os számrendszerbeli privát kulcsot a fenti szövegmezőbe, majd nyomja meg a 'Részletek megjelenítése' gombot. Ekkor megjelenik az a Bitcoin cím, amely ehhez a privát kulcshoz tartozik. Érdemes felírni a WIF formátumú privát kulcsot is, mivel ezt szélesebb körben használják." }; })(ninja.translator); + (function (translator) { translator.translations["it"] = { // javascript alerts or messages diff --git a/src/culture/hu.js b/src/culture/hu.js index 654d654..1016a76 100644 --- a/src/culture/hu.js +++ b/src/culture/hu.js @@ -21,7 +21,7 @@ "vanityalertinvalidinputprivatekeysmatch": "Érvénytelen bemenet. A két megadott privát kulcs azonos. Két különböző kulcs bevitelére van szükség.", // header and menu html - "tagline": "Nyílt forráskódú, kliens oldali JavaScript, Bitcoin pénztárca előállítására", + "tagline": "Nyílt forráskódú, ügyfél oldali JavaScript Bitcoin tárca készítő program", "generatelabelbitcoinaddress": "A bitcoin cím előállítása...", "generatelabelmovemouse": "MOZGASSA az egeret, ha fokozni szeretné a véletlenszerűséget...", "generatelabelkeypress": "VAGY gépeljen be néhány véletlenszerű karaktert ebbe a szövegdobozba", @@ -30,7 +30,7 @@ "bulkwallet": "Tömeges pénztárca", "brainwallet": "Fejben tartott pénztárca", "vanitywallet": "Kérkedő pénztárca", - "splitwallet": "Részekre bontott ~", + "splitwallet": "Felosztott tárca", "detailwallet": "A pénztárca részletei", // footer html @@ -46,27 +46,27 @@ "footerlabelnowarranty": "Garancia nincs.", // status html - "statuslabelcryptogood": "✔ Jó!", + "statuslabelcryptogood": "✔ Helyes!", "statuslabelcryptogood1": "A böngészője képes kriptográfiai szempontból véletlen kulcsok generálására (a window.crypto.getRandomValues metódus támogatott)", "statusokcryptogood": "Rendben", "statuslabelcryptobad": "× Ó jaj!", "statuslabelcryptobad1": "Böngészője NEM támogatja a window.crypto.getRandomValues metódust. A metódust támogató, modernebb böngészőt kell használnia, ha növelni szeretné a generált kulcsok biztonsági szintjét!", "statusokcryptobad": "Rendben", - "statuslabelunittestsgood": "✔ Jó!", + "statuslabelunittestsgood": "✔ Helyes!", "statuslabelunittestsgood1": "Minden szinkron unit-teszt sikeres.", "statusokunittestsgood": "Rendben", "statuslabelunittestsbad": "× Ó, jaj!", "statuslabelunittestsbad1": "Néhány szinkron unit-teszt NEM volt sikeres. Jobb, ha egy másik böngészőt használ ehhez a generátorhoz!", "statusokunittestsbad": "Rendben", - "statuslabelprotocolgood": "✔ Jó!", - "statuslabelprotocolgood1": "Ezt a generátort a helyi gépről futtatja.
Tipp: Győzdjön meg róla, hogy offline itt: ", + "statuslabelprotocolgood": "✔ Helyes!", + "statuslabelprotocolgood1": "Ezt a generátort a helyi gépről futtatja.
Tipp: Győzdjön meg róla, hogy nem kapcsolódik a hálózatra: ", "statusokprotocolgood": "Rendben", "statuslabelprotocolbad": "⚠ Gondolja át!", "statuslabelprotocolbad1": "A jelek szerint élő honlapról futtatja a generátort. Használható tárcák készítéséhez javasoljuk, hogy ", "statuslabelprotocolbad2": "töltse le", "statuslabelprotocolbad3": "a GitHub-on található zip állományt és futtassa a generátort offline módban, helyi html állományként.", "statusokprotocolbad": "Rendben", - "statuslabelkeypool1": "Ez a jelen ügymenet során készített valamennyi Bitcoin cím és privát kulcs naplója. A lap újratöltésével új ügymenetet indíthat.", + "statuslabelkeypool1": "Az ügymenet során készített valamennyi Bitcoin cím és privát kulcs naplója. A lap újratöltésével új ügymenetet indíthat.", "statuskeypoolrefresh": "Frissítés", "statusokkeypool": "Rendben", @@ -74,11 +74,11 @@ "newaddress": "Új cím előállítása", "singleprint": "Nyomtatás", "singlelabelbitcoinaddress": "Bitcoin cím:", - "singlelabelprivatekey": "Privát kulcs (WIF, tárca import formátumban):", - "singletip1": "Egy bitcoin pénztárca nem más, mint egy bitcoin címből és a hozzá tartozó privát kulcsból álló számpár. Egy ilyen pénztárcát állítottunk elő és jelenítettünk meg fent az Ön számára a Web böngészőben.", - "singletip2": "A pénztárca biztonságos megőrzése érdekében nyomtassa ki vagy más módon rögzítse a bitcoin címet és privát kulcsot. Fontos, hogy a privát kulcsból készítsen másolatot, és tárolja biztonságos helyen. Ez a webhely nem tud az ön privát kulcsairól. Ha ismeri a PGP-t, akkor egyben letöltheti az egész web lapot, és ellenőrizheti, hogy a webhely szerzője álatal írt valódi változatot töltötte-e le. Ehhez össze kell hasonlítania a HTML-ből képzett SHA256 zanzát a webhely láblécében hivatkozott, aláírt verzió történetben lévő SHA256 zanzával. Ha elhagyja/megfrissíti a webhelyet vagy megnyomja az 'Új cím előállítása' gombot, akkor egy új privát kulcs áll elő, és az előzőleg megjelenített privát kulcs elvész. A bitcoin címhez tartozó privát kulcsot titokban kell tartani. Bárki, aki megszerzi ezt a kulcsot, el tudja költeni az ehhez a címhez tartozó összes bitcoint. Ha kinyomtatja a pénztárcát, akkor tárolja egy villámzáras vízhatlan nylon-zacskóban. A papír pénztárcát tekintse úgy, mintha pénz lenne.", + "singlelabelprivatekey": "Privát kulcs:", + "singletip1": "A bitcoin pénztárca nem más, mint egy bitcoin címből és a hozzá tartozó privát kulcsból álló számpár. Egy ilyen pénztárcát állítottunk elő és jelenítettünk meg fent az Ön számára a Web böngészőben.", + "singletip2": "A pénztárca biztonságos megőrzése érdekében nyomtassa ki vagy más módon rögzítse a bitcoin címet és privát kulcsot. Fontos, hogy a privát kulcsból készítsen másolatot, és tárolja biztonságos helyen. Ez a webhely nem tárol az ön privát kulcsaival kapcsolatos információt. Ha ismeri a PGP-t, akkor egyben letöltheti az egész honlapot, és ellenőrizheti, hogy a webhely szerzője álatal írt valódi változatot töltötte-e le. Ehhez össze kell hasonlítania a HTML-ből képzett SHA256 zanzát a webhely láblécében hivatkozott, digitálisan aláírt verzió történetben lévő SHA256 zanzával. Amennyiben elhagyja vagy frissíti a webhelyet illetve megnyomja az 'Új cím előállítása' gombot, akkor új privát kulcs készül és az előzőleg megjelenített privát kulcs elvész. A bitcoin címhez tartozó privát kulcsot titokban kell tartani. Bárki, aki megszerzi ezt a kulcsot, el tudja költeni a címhez tartozó valamennyi bitcoint. Ha kinyomtatja a pénztárcát, akkor tárolja egy villámzáras vízhatlan nejlonzacskóban. A papírtárcát kezelje úgy, mintha pénz lenne.", "singletip3": "Pénzt úgy tehet a pénztárcájába, hogy másokkal bitcoinokat küldet erre a Bitcoin címre.", - "singletip4": "A pénztárca egyenlegét úgy kérdezheti le, hogy elmegy a blockchain.info vagy a blockexplorer.com weblapokra, és ott beadja ezt a Bitcoin címet.", + "singletip4": "A pénztárca egyenlegét úgy kérdezheti le, hogy elmegy a blockchain.info vagy a blockexplorer.com weblapokra, és ott begépeli ezt a Bitcoin címet.", "singletip5": "Ha el akarja költeni a bitcoinjait, akkor menjen a blockchain.info weblapra, és a privát kulcson lévő teljes egyenleget töltse át (sweep) a weblapon lévő számlájára. A pénzt úgy is elköltheti, hogy letölti valamelyik népszerű p2p bitcoin klienst, és beimportálja a privát kulcsot a p2p kliens pénztárcájába. Ne feledje, hogy miután beimportálta a kulcsot a p2p bitcoin kliensbe, a kulcsot a p2p kliens a pénztárcában lévő többi kulccsal együtt tárolja. Pénz küldésekor a visszajáró pénzt a p2p kliens pénztárcájában lévő másik bitcoin címre fogják küldeni. Ekkor biztonsági másolatot kell készítenie a p2p kliens pénztárcáról, és a másolatot biztos helyen kell őriznie, mivel a maradék bitcoinjait a pénztárca kulcsai tárolják. Satoshi tanácsa, hogy pénztárcát soha ne töröljünk.", // paper wallet html From b282d5f16affbc44844b50d5794ea5f39aec233c Mon Sep 17 00:00:00 2001 From: mcccs Date: Mon, 8 Aug 2016 15:51:46 +0300 Subject: [PATCH 11/17] :rainbow: Improve and rename README to README.md --- README => README.md | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) rename README => README.md (87%) diff --git a/README b/README.md similarity index 87% rename from README rename to README.md index 74be9c5..de22e17 100644 --- a/README +++ b/README.md @@ -1,4 +1,4 @@ -bitaddress.org +# bitaddress.org JavaScript Client-Side Bitcoin Wallet Generator Now Bitcoin addresses and their corresponding private key can be conveniently @@ -18,15 +18,21 @@ Please send DONATIONS for this project to Bitcoin Address: 1NiNja1bUmhSoTXozBRBEtR8LeF9TGbZBN -END USER NOTES: +END USER NOTES: + 1) To print QRCode in IE8 you must enable the "Print Background Colors and Images" checkbox on the "Page Setup" screen. + 2) For Bulk Wallet I recommended using Google Chrome, it's the fastest. + 3) Requires IE8+, Firefox, Chrome or sufficient JavaScript support. + 4) Mobile Safari only works with iPhone4 or newer devices. Older devices timeout while executing JavaScript. + 5) DO NOT use Opera Mini it renders JavaScript output server side, therefore they might record the private key you generated. + 6) Art Wallet does not work properly in IE8 due to CSS limitations. @@ -44,15 +50,16 @@ throughout the document along with their licenses. Included JavaScript libraries are separated with HTML script tags. Summary of JavaScript functions with a redistributable license: -JavaScript function License -------------------- -------------- -Array.prototype.map Public Domain -window.Crypto BSD License -window.SecureRandom BSD License -window.EllipticCurve BSD License -window.BigInteger BSD License -window.QRCode MIT License -window.Bitcoin MIT License + +JavaScript function | License +------------------- | -------------- +Array.prototype.map | Public Domain +window.Crypto | BSD License +window.SecureRandom | BSD License +window.EllipticCurve | BSD License +window.BigInteger | BSD License +window.QRCode | MIT License +window.Bitcoin | MIT License The bitaddress.org software is available under The MIT License (MIT) Copyright (c) 2011-2013 bitaddress.org From ca08d645a41ae04759499c6e77c3af200d2d1962 Mon Sep 17 00:00:00 2001 From: pointbiz Date: Sat, 13 Aug 2016 21:29:03 -0400 Subject: [PATCH 12/17] BigInteger modInverse should be positive --- CHANGELOG.txt | 8 ++ bitaddress.org.html | 244 +++++++++++++++++++++++++++++++++++++++-- package.json | 6 +- src/biginteger.js | 18 ++- src/ninja.unittests.js | 220 ++++++++++++++++++++++++++++++++++++- 5 files changed, 476 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index acbbe92..26bd5f2 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -28,6 +28,14 @@ END USER NOTES: Here is a signed list of file names and version history. +2016-07-31: status ACTIVE +bitaddress.org-v3.2.1-SHA256-.html + - BigInteger modInverse should be positive + - throw if modInverse 0 + - improve BigInteger constructor so that it works if caller forgets 'new' + - add unit tests for BigInteger + - thanks to dooglus, jprichardson, dcousens + 2016-02-19: status ACTIVE bitaddress.org-v3.2.0-SHA256-ad4fd171c647772aa76d0ce828731b01ca586596275d43a94008766b758e8736.html - switch languages without full page load diff --git a/bitaddress.org.html b/bitaddress.org.html index 7a4cffa..2d5fe36 100644 --- a/bitaddress.org.html +++ b/bitaddress.org.html @@ -2878,8 +2878,12 @@ exports.init(); })(typeof module !== 'undefined' && module['exports'] ? module['exports'] : (window['secrets'] = {}), typeof GLOBAL !== 'undefined' ? GLOBAL : window ); diff --git a/src/culture/pt-br.js b/src/culture/pt-br.js index 6b69636..f356be3 100644 --- a/src/culture/pt-br.js +++ b/src/culture/pt-br.js @@ -1,21 +1,21 @@ (function (translator) { translator.translations["pt-br"] = { // javascript alerts or messages - "testneteditionactivated": "EDIÇÃO DO TESTNET ATIVADA", + "testneteditionactivated": "EDIÇÃO DA TESTNET ATIVADA", "paperlabelbitcoinaddress": "Endereço Bitcoin:", "paperlabelprivatekey": "Chave privada:", "paperlabelencryptedkey": "Chave privada criptografada (Senha necessária)", - "bulkgeneratingaddresses": "Generando endereços... ", + "bulkgeneratingaddresses": "Gerando endereços... ", "brainalertpassphrasetooshort": "A senha introduzida é pequena demais.\n\n", - "brainalertpassphrasewarning": "Aviso: É importante que escolha uma senha forte, para evitar ataques de força bruta que tentem adivinhar sua senha e roubar seus bitcoins.", + "brainalertpassphrasewarning": "Aviso: É importante que você escolha uma senha forte, para evitar ataques de força bruta que tentem adivinhar sua senha e roubar seus bitcoins.", "brainalertpassphrasedoesnotmatch": "As senhas digitadas não são iguais.", "detailalertnotvalidprivatekey": "O texto que você digitou não é uma chave privada válida", - "detailconfirmsha256": "O texto que você digitou não é uma chave privada válida\n\nQuer usar esse texto como se fosse uma senha e gerar uma chave privada usando um hash SHA256 dessa senha?\n\nAviso: É importante escolher uma senha forte para evitar ataques de força bruta que tentem adivinhá-la e roubar seus bitcoins.", + "detailconfirmsha256": "O texto que você digitou não é uma chave privada válida\n\nDeseja usar esse texto como se fosse uma senha e gerar uma chave privada usando um hash SHA256 dessa senha?\n\nAviso: É importante escolher uma senha forte para evitar ataques de força bruta que tentem adivinhá-la e roubar seus bitcoins.", "bip38alertincorrectpassphrase": "Senha incorreta para essa chave privada criptografada.", "bip38alertpassphraserequired": "Senha necessária para a chave BIP38", "vanityinvalidinputcouldnotcombinekeys": "Entrada inválida. Não foi possível combinar as chaves.", - "vanityalertinvalidinputpublickeysmatch": "Entrada inválida. As chaves públicas de ambas entradas são iguais. Você deve inserir duas chaves diferentes.", - "vanityalertinvalidinputcannotmultiple": "Entrada inválida. Não é possível multiplicar duas chaves públicas. Clique em 'Somar' para somar duas chaves públicas para adquirir um endereço bitcoin.", + "vanityalertinvalidinputpublickeysmatch": "Entrada inválida. As chaves públicas de ambas as entradas são iguais. Você deve inserir duas chaves diferentes.", + "vanityalertinvalidinputcannotmultiple": "Entrada inválida. Não é possível multiplicar duas chaves públicas. Clique em 'Somar' e some duas chaves públicas para adquirir um endereço bitcoin.", "vanityprivatekeyonlyavailable": "Disponível apenas quando se combinam duas chaves privadas", "vanityalertinvalidinputprivatekeysmatch": "Entrada inválida. As chaves privadas de ambas as entradas são iguais. Você deve inserir duas chaves diferentes.", @@ -29,7 +29,7 @@ "bulkwallet": "Múltiplos endereços", "brainwallet": "Carteira mental", "vanitywallet": "Carteira personalizada", - "splitwallet": "Split Wallet", //TODO: please translate + "splitwallet": "Carteira fracionada", "detailwallet": "Detalhes da carteira", // footer html @@ -45,42 +45,42 @@ "footerlabelnowarranty": "Sem garantia.", // status html - "statuslabelcryptogood": "✔ Good!", //TODO: please translate + "statuslabelcryptogood": "✔ Boa!", "statuslabelcryptogood1": "Your browser can generate cryptographically random keys using window.crypto.getRandomValues", //TODO: please translate - "statusokcryptogood": "OK", //TODO: please translate - "statuslabelcryptobad": "× Oh no!", //TODO: please translate + "statusokcryptogood": "OK", + "statuslabelcryptobad": "× Oh não!", "statuslabelcryptobad1": "Your browser does NOT support window.crypto.getRandomValues. You should use a more modern browser with this generator to increase the security of the keys generated.", - "statusokcryptobad": "OK", //TODO: please translate - "statuslabelunittestsgood": "✔ Good!", //TODO: please translate + "statusokcryptobad": "OK", + "statuslabelunittestsgood": "✔ Boa!", "statuslabelunittestsgood1": "All synchronous unit tests passed.", //TODO: please translate - "statusokunittestsgood": "OK", //TODO: please translate - "statuslabelunittestsbad": "× Oh no!", //TODO: please translate + "statusokunittestsgood": "OK", + "statuslabelunittestsbad": "× Oh não!", "statuslabelunittestsbad1": "Some synchronous unit tests DID NOT pass. You should find another browser to use with this generator.", //TODO: please translate - "statusokunittestsbad": "OK", //TODO: please translate - "statuslabelprotocolgood": "✔ Good!", //TODO: please translate + "statusokunittestsbad": "OK", + "statuslabelprotocolgood": "✔ Boa!", "statuslabelprotocolgood1": "You are running this generator from your local computer.
Tip: Double check you are offline by trying ", //TODO: please translate - "statusokprotocolgood": "OK", //TODO: please translate - "statuslabelprotocolbad": "⚠ Think twice!", //TODO: please translate + "statusokprotocolgood": "OK", + "statuslabelprotocolbad": "⚠ Pense duas vezes!", "statuslabelprotocolbad1": "You appear to be running this generator online from a live website. For valuable wallets it is recommended to", //TODO: please translate - "statuslabelprotocolbad2": "download", //TODO: please translate + "statuslabelprotocolbad2": "download", "statuslabelprotocolbad3": "the zip file from GitHub and run this generator offline as a local html file.", //TODO: please translate - "statusokprotocolbad": "OK", //TODO: please translate + "statusokprotocolbad": "OK", "statuslabelkeypool1": "This is a log of all the Bitcoin Addresses and Private Keys you generated during your current session. Reloading the page will create a new session.", //TODO: please translate - "statuskeypoolrefresh": "Refresh", //TODO: please translate - "statusokkeypool": "OK", //TODO: please translate + "statuskeypoolrefresh": "Atualizar", + "statusokkeypool": "OK", // single wallet html "newaddress": "Gerar endereço", "singleprint": "Imprimir", "singlelabelbitcoinaddress": "Endereço Bitcoin", "singlelabelprivatekey": "Chave privada (Wallet Import Format):", - "singletip1": "Uma carteira Bitcoin é tão simples quanto um simples pareamento de um endereço Bitcoin com a sua chave privada Bitcoin correspondente. Essa carteira foi gerada para você em seu navegador web e está sendo exibida acima.", - "singletip2": "Para proteger essa carteira você deve imprimir ou anotar/salvar o endereço Bitcoin e a chave privada. É importante que você faça uma cópia de segurança da sua chave privada e armazene-a em um local seguro. Esse site não toma conhecimento da sua chave privada. Se você for familiar com PGP, você pode baixar essa pagina HTML tudo-em-um e verificar se você tem uma versão autêntica do autor deste site ao fazer a correspondência do hash SHA256 deste HTML com o hash SHA256 disponível na versão assinada do documento linkado no rodapé deste site. Se você sair/atualizar essa página ou apertar o botão Gerar Novo Endereço, então uma nova chave privada será gerada e a chave exibida anteriormente não será recuperável. A sua chave privada Bitcoin deve ser mantida como um segredo. Qualquer pessoa que tiver acesso a ela poderá gastar todos os seus bitcoins associados com aquele endereço. Se você imprimir sua carteira, armazene-a em um saco plástico selado para mantê-la longe da água. Trate uma carteira em papel como se fosse dinheiro.", + "singletip1": "Uma carteira Bitcoin nada mais é do que um endereço Bitcoin e a sua chave privada Bitcoin correspondente. Essa carteira foi gerada para você em seu navegador web e está sendo exibida acima.", + "singletip2": "Para proteger essa carteira você deve imprimir ou anotar/salvar o endereço Bitcoin e a sua chave privada correspondente. É importante que você faça uma cópia de segurança da sua chave privada e armazene-a em um local seguro. Esse site não toma conhecimento da sua chave privada. Se você for familiar com criptografia PGP, você pode baixar essa página HTML em um arquivo único e verificar se você tem uma versão autêntica do autor deste site ao fazer a correspondência do hash SHA256 deste HTML com o hash SHA256 disponível na versão assinada do arquivo contido no link no rodapé deste site. Se você sair/atualizar essa página ou apertar o botão Gerar Novo Endereço, então uma nova chave privada será gerada e a chave exibida anteriormente não será recuperável. A sua chave privada Bitcoin deve ser mantida em um segredo. Qualquer pessoa que tiver acesso a ela poderá gastar todos os seus bitcoins associados com aquele endereço. Se você imprimir sua carteira, armazene-a em um saco plástico selado para mantê-la longe da água. Trate sua carteira em papel como se fosse dinheiro.", "singletip3": "Adicione fundos para essa carteira ao indicar para outras pessoas enviarem bitcoins para o seu endereço Bitcoin.", "singletip4": "Verifique seu saldo visitando os sites blockchain.info ou blockexplorer.com e digitando o seu endereço Bitcoin.", - "singletip5": "Gaste seus bitcoins visitando o site blockchain.info e esvaziando completamente o seu saldo de sua chave privada para sua conta no site. Você também pode gastar seus fundos ao baixar um cliente bitcoin p2p popular e importar sua chave privada para a carteira do aplicativo. Tenha em mjente que quando você importa uma chave única para um cliente bitcoin p2p e gasta seus fundos, sua chave será agrupada com outras chavfes privadas no aplicativo de carteira. Quando você realizar uma transação o seu troco será enviado para outro endereço bitcoin dentro do seu aplicativo de carteira. Você deve então fazer backup da sua carteira em seu aplicativo e mantê-la em segurança, visto que seus bitcoins remanescentes agora serão armazenados nela. Um conselho do Satoshi Nakamoto é de que uma carteira nunca deve ser apagada.", - "singleshare": "COMPARTILHE", //TODO: please translate - "singlesecret": "SECRETA", //TODO: please translate + "singletip5": "Gaste seus bitcoins visitando o site blockchain.info e esvaziando completamente o seu saldo de sua chave privada para sua conta no site. Você também pode gastar seus fundos ao baixar um cliente bitcoin p2p popular e importar sua chave privada para a carteira do aplicativo. Tenha em mente que quando você importa uma chave única para um cliente bitcoin p2p e gasta seus fundos, sua chave será agrupada com outras chavfes privadas no aplicativo de carteira. Quando você realizar uma transação o seu troco será enviado para outro endereço bitcoin dentro do seu aplicativo de carteira. Você deve então fazer backup da sua carteira em seu aplicativo e mantê-la em segurança, visto que seus bitcoins remanescentes agora serão armazenados nela. Um conselho do Satoshi Nakamoto é de que uma carteira nunca deve ser apagada.", + "singleshare": "COMPARTILHE", + "singlesecret": "SECRETA", // paper wallet html "paperlabelhideart": "Ocultar figura", @@ -98,7 +98,7 @@ "bulkgenerate": "Gerar", "bulkprint": "Imprimir", "bulklabelcsv": "Valores separados por vírgula:", - "bulklabelformat": "Índice,Dirección,Clave privada (formato para importar)", + "bulklabelformat": "Índice,Endereço,Chave privada (formato para importar)", "bulklabelq1": "¿Por qué debo usar \"Direcciones en masa\" para aceptar Bitcoins en mi web?", "bulka1": "La forma tradicional de aceptar bitcoins en tu web requiere tener instalado el cliente oficial de bitcoin (\"bitcoind\"). Sin embargo muchos servicios de hosting no permiten instalar dicho cliente. Además, ejecutar el cliente en tu servidor supone que las claves privadas están también en el servidor y podrían ser comprometidas en caso de intrusión. Al usar este mecanismo, puedes subir al servidor sólo las dirección de bitcoin y no las claves privadas. De esta forma no te tienes que preocupar de que alguien robe la cartera si se cuelan en el servidor.", "bulklabelq2": "¿Cómo uso \"Direcciones en masa\" para aceptar bitcoins en mi web?", @@ -152,15 +152,15 @@ "detaillabelpublickey": "Chave pública (130 caracteres [0-9A-F]):", "detaillabelpublickeycomp": "Chave pública (comprimida, 66 caracteres [0-9A-F]):", "detaillabelprivwif": "Chave privada para importação (51 caracteres em base58, inicia com um", - "detaillabelprivwifcomp": "Chave privada para importação (comprimida, 52 caracteres em base58, inicia com", - "detailcompwifprefix": "'K' o 'L'", + "detaillabelprivwifcomp": "Chave privada para importação (comprimida, 52 caracteres em base58, inicia com", + "detailcompwifprefix": "'K' ou 'L'", "detaillabelprivhex": "Chave privada em formato hexadecimal (64 caracteres [0-9A-F]):", "detaillabelprivb64": "Chave privada em base64 (44 caracteres):", "detaillabelprivmini": "Chave privada en formato mini (22, 26 ou 30 caracteres, inicia com 'S'):", "detaillabelpassphrase": "Senha BIP38", - "detailbip38decryptbutton": "Desencriptar BIP38", - "detailbip38encryptbutton": "Encrypt BIP38", //TODO: please translate - "detaillabelq1": "Como eu faço uma carteira usando um dado? O que é B6?", + "detailbip38decryptbutton": "Descriptografar BIP38", + "detailbip38encryptbutton": "Criptografar em BIP38", + "detaillabelq1": "Como eu faço uma carteira usando um dado? O que é o formato B6?", "detaila1": "Uma parte importante ao criar um carteira Bitcoin é se assegurar que os números aleatórios usados para criar a carteira sejam realmente aleatórios. A aleatoriedade física é melhor do que a pseudo-aleatoriedade gerada por computador. A maneira mais fácil de gerar aleatoriedade física é com dados. Para criar um chave privada Bitcoin você precisa de apenas um dado de seis lados, o qual você jogará 99 vezes. A cada jogada, anote o valor do dado. Ao anotar os valores, siga as seguintes regras: 1=1, 2=2, 3=3, 4=4, 5=5, 6=0. Ao fazer isso, você está anotando esse grande número aleatório, sua chave privada, no formato base 6 (B6). Você pode então digitar essa chave privada em base 6 contendo 99 caracteres no campo de texto acima e clicar em Ver Detalhes. Você então verá o endereço Bitcoin associado com sua chave privada. Você deve também anotar sua chave privada no formato WIF, já que ele é mais amplamente utilizado." }; })(ninja.translator); \ No newline at end of file diff --git a/src/main.css b/src/main.css index 8a28601..1734fa3 100644 --- a/src/main.css +++ b/src/main.css @@ -144,11 +144,6 @@ input[type=checkbox] { position: relative; z-index: 20; } #busyblock.busy { display: block; } .hide { display: none; } .show { display: block; } - -/* IE8 */ -.qrcodetable { border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; } -.qrcodetddark { border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #000000; } -.qrcodetdlight { border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #ffffff; } @media screen { diff --git a/src/ninja.qrcode.js b/src/ninja.qrcode.js index d53d181..9b821d6 100644 --- a/src/ninja.qrcode.js +++ b/src/ninja.qrcode.js @@ -48,29 +48,7 @@ return canvas; }, - // generate a QRCode and return it's representation as an Html table - createTableHtml: function (text) { - var typeNumber = qrC.getTypeNumber(text); - var qr = new QRCode(typeNumber, QRCode.ErrorCorrectLevel.H); - qr.addData(text); - qr.make(); - var tableHtml = ""; - for (var r = 0; r < qr.getModuleCount() ; r++) { - tableHtml += ""; - for (var c = 0; c < qr.getModuleCount() ; c++) { - if (qr.isDark(r, c)) { - tableHtml += ""; - } - tableHtml += "
"; - } else { - tableHtml += ""; - } - } - tableHtml += "
"; - return tableHtml; - }, - - // show QRCodes with canvas OR table (IE8) + // show QRCodes with canvas // parameter: keyValuePair // example: { "id1": "string1", "id2": "string2"} // "id1" is the id of a div element where you want a QRCode inserted. @@ -84,10 +62,7 @@ document.getElementById(key).appendChild(qrC.createCanvas(value, sizeMultiplier)); } } - catch (e) { - // for browsers that do not support canvas (IE8) - document.getElementById(key).innerHTML = qrC.createTableHtml(value); - } + catch (e) { } } } };