diff --git a/_config.yml b/_config.yml index 97622343..6d6b05d4 100644 --- a/_config.yml +++ b/_config.yml @@ -24,7 +24,7 @@ plugins: - jekyll-multiple-languages-plugin # jekyll-multiple-languages-plugin settings: -languages: ["en", "es", "it", "pl", "fr", "ar", "ru"] +languages: ["en", "es", "it", "pl", "fr", "ar", "ru", "de"] exclude_from_localizations: ["img", "css", "fonts", "media", "404", "feed.xml", "404", "meta", "forum-funding-system", "_posts", "legal"] diff --git a/_data/lang/de/footer-1.yml b/_data/lang/de/footer-1.yml new file mode 100644 index 00000000..8d4ba1db --- /dev/null +++ b/_data/lang/de/footer-1.yml @@ -0,0 +1,52 @@ +- title: Ressourcen + subfolderitems: + - name: Über Monero + url: resources/about/ + - name: Moneropedia + url: resources/moneropedia/ + - name: Anleitungen für Entwickler + url: resources/developer-guides/ + - name: Anleitungen für Nutzer + url: resources/user-guides/ + - name: Bibliothek + url: library + - name: RSS-Feed + url: https://getmonero.org/feed.xml +- title: IRC-Channels + subfolderitems: + - name: monero + url: irc://chat.freenode.net/#monero + - name: monero-dev + url: irc://chat.freenode.net/#monero-dev + - name: monero-markets + url: irc://chat.freenode.net/#monero-markets + - name: monero-pools + url: irc://chat.freenode.net/#monero-pools + - name: monero-community + url: irc://chat.freenode.net/#monero-community + - name: monero-translations + url: irc://chat.freenode.net/#monero-translations + - name: monero-hardware + url: irc://chat.freenode.net/#monero-hardware +- title: Community + subfolderitems: + - name: Reddit + url: https://reddit.com/r/monero + - name: Stack Exchange + url: https://monero.stackexchange.com/ + - name: Thread auf BitcoinTalk + url: https://bitcointalk.org/index.php?topic=583449.0 + - name: Mattermost-Chat + url: https://mattermost.getmonero.org/ + - name: Telegram-Chat + url: https://telegram.me/bitmonero +- title: Das Monero-Projekt + subfolderitems: + - name: OpenAlias + url: https://openalias.org/ + - name: Kovri + url: https://kovri.io/ + - name: Monero Research Lab + url: resources/research-lab/ + - name: Monero-Presseunterlagen + url: press-kit diff --git a/_data/lang/de/footer-2.yml b/_data/lang/de/footer-2.yml new file mode 100644 index 00000000..cb20bd3a --- /dev/null +++ b/_data/lang/de/footer-2.yml @@ -0,0 +1,6 @@ +- name: Rechtliches + url: legal +- name: Quellcode + url: https://github.com/monero-project +- name: Technische Spezifikationen + url: technical-specs/ diff --git a/_data/lang/de/navigation.yml b/_data/lang/de/navigation.yml new file mode 100644 index 00000000..a0e4fe38 --- /dev/null +++ b/_data/lang/de/navigation.yml @@ -0,0 +1,54 @@ +- title: Einstieg + subfolderitems: + - page: Was ist Monero? + url: get-started/what-is-monero + - page: Nutzen + url: get-started/using + - page: Akzeptieren + url: get-started/accepting + - page: Unterstützen + url: get-started/contributing + - page: Mining + url: get-started/mining + - page: Häufig gestellte Fragen + url: get-started/faq +- title: Downloads + url: downloads/ +- title: Neuigkeiten + subfolderitems: + - page: Alle Einträge + url: blog + - page: Ankündigungen + url: blog/tags/monero%20missives.html + - page: Protokolle + url: blog/tags/dev%20diaries.html + - page: Versionen + url: blog/tags/releases.html +- title: Community + subfolderitems: + - page: Team + url: community/team + - page: Hangouts + url: community/hangouts + - page: Sponsoren + url: community/sponsorships + - page: Händler + url: community/merchants +- title: Ressourcen + subfolderitems: + - page: Über + url: resources/about + - page: Roadmap + url: resources/roadmap + - page: Research Lab + url: resources/research-lab + - page: Moneropedia + url: resources/moneropedia + - page: Anleitungen für Nutzer + url: resources/user-guides + - page: Anleitungen für Entwickler + url: resources/developer-guides + - page: Technische Spezifikationen + url: technical-specs + - page: Bibliothek + url: library diff --git a/_data/lang/de/roadmap.yml b/_data/lang/de/roadmap.yml new file mode 100644 index 00000000..cdd9a651 --- /dev/null +++ b/_data/lang/de/roadmap.yml @@ -0,0 +1,120 @@ +- year: 2014 + accomplishments: + - name: Veröffentlicht auf Bitcointalk + date: 2014-04-18 + status: completed + - name: Umbenennung von Bitmonero zu Monero + date: 2014-04-23 + status: completed + - name: Erholung von einer Spamattacke + date: 2014-09-04 + status: completed + - name: „Monero Research Lab“-Papers 1 und 2 veröffentlicht + date: 2014-09-12 + status: completed + - name: „Monero Research Lab“-Paper 3 veröffentlicht + date: 2014-09-25 + status: completed + - name: 0.8.8.6 veröffentlicht + date: 2014-12-08 + status: completed +- year: 2015 + accomplishments: + - name: „Monero Research Lab“-Paper 4 veröffentlicht + date: 2015-01-26 + status: completed +- year: 2016 + accomplishments: + - name: 0.9.0 Hydrogen Helix veröffentlicht + date: 2016-01-01 + status: completed + - name: „Monero Research Lab“-Paper 5 veröffentlicht + date: 2016-02-10 + status: completed + - name: Netzwerkupgrade, das eine minimale Ringgröße von 3 für alle Transaktionen voraussetzt + date: 2016-03-22 + status: completed + - name: 0.10.0 Wolfram Warptangent veröffentlicht + date: 2016-09-18 + status: completed + - name: Netzwerkupgrade um ungleiche Transaktionsbeträge unter den Ringen zu ermöglichen + date: 2016-09-21 + status: completed + - name: 0.10.1 Wolfram Warptangent veröffentlicht + date: 2016-12-14 + status: completed + - name: Offizielle GUI Beta 1 veröffentlicht + date: 2016-12-22 + status: completed +- year: 2017 + accomplishments: + - name: Netzwerkupgrade, um RingCT Transaktionen zu ermöglichen + date: 2017-01-05 + status: completed + - name: 0.10.2 veröffentlicht; kritische Schwachstelle gepatcht + date: 2017-02-22 + status: completed + - name: 0.10.3.1 Wolfram Warptangent veröffentlicht + date: 2017-03-27 + status: completed + - name: Netzwerkupgrade, das die kleinstmögliche Blockgröße und den dynamischen Gebührenalgorithmus anpasst + date: 2017-04-15 + status: completed + - name: Webseite neu gestaltet + date: 2017-07-04 + status: completed + - name: 0.11.0.0 Helium Hydra veröffentlicht + date: 2017-09-07 + status: completed + - name: Fluffy-Blocks + date: 2017-09-07 + status: completed + - name: Betaphase der GUI beendet + date: 2017-09-10 + status: completed + - name: Netzwerkupgrade, das die minimale Ringgröße auf 5 anhebt und RingCT voraussetzt + date: 2017-09-15 + status: completed + - name: 0MQ/ZeroMQ + date: September, 2017 + status: completed + - name: Subadressen + date: October, 2017 + status: completed + - name: Mehrfachsignaturen (multisig) + date: December, 2017 + status: completed +- year: 2018 + accomplishments: + - name: Neuer PoW CryptoNoteV7 + date: 2018-04-06 + status: completed + - name: Netzwerkupgrade, das die minimale Ringgröße auf 7 erhöht, Mehrfachsignaturen und Subadressen integriert und den PoW-Algorithmus ändert + date: 2018-04-06 + status: completed + - name: "Getmonero.org: Übersetzungen in Französisch und Polnisch" + date: 2018-04-24 + status: completed + - name: Hardware-Wallets von Ledger werden unterstützt + date: 2018-06-04 + status: completed + - name: Kovri Alpha veröffentlicht + date: 2018-08-01 + status: completed + - name: Forum-Finanzierungs-System neu gestaltet + date: + status: ongoing + - name: Implementation von BulletProofs anstelle von RingCT, um Transaktionsgrößen zu verringern + date: + status: ongoing + - name: Kovri Beta + date: + status: upcoming +- year: 2019 + accomplishments: + - name: Zweitschichtlösungen für bessere Geschwindigkeit und Skalierbarkeit + date: + status: upcoming + - name: Weitere „Monero Research Lab“-Papers + date: + status: upcoming diff --git a/_i18n/ar.yml b/_i18n/ar.yml index c4a813b9..7a169f90 100644 --- a/_i18n/ar.yml +++ b/_i18n/ar.yml @@ -6,6 +6,7 @@ langs: fr: Français ar: Arabic ru: Русский + de: Deutsch global: date: '%Y/%m/%d' diff --git a/_i18n/de.yml b/_i18n/de.yml new file mode 100644 index 00000000..ada08123 --- /dev/null +++ b/_i18n/de.yml @@ -0,0 +1,640 @@ +langs: + en: English + es: Español + it: Italiano + pl: Polski + fr: Français + ar: العربية + ru: Русский + de: Deutsch + +global: + date: '%Y/%m/%d' + monero: Monero + getting_started: Erste Schritte + copyright: Copyright + monero_project: Das Monero-Projekt + sitename: getmonero.org, The Monero Project + wiki: Moneropedia + tags: Einträge nach Tags + wikimeta: auf Moneropedia, der freien Enzyklopädie über Monero + tagsmeta: Alle Monero-Blogeinträge, die getagged sind + titlemeta: das Zuhause von Monero – einer digitalen Währung, die sicher, privat und nicht nachverfolgbar ist. + terms: Bedingungen + privacy: Datenschutz + copyright: Urheberrecht + untranslated: Diese Seite ist noch nicht übersetzt. Wenn du uns mit Übersetzungen unterstützen möchtest, schau bitte hier + outdatedMax: Diese Seite ist nicht auf aktuellem Stand. Wir empfehlen dir, stattdessen die + outdatedVersion: englische Version + outdatedMin: Seit der Übersetzung dieser Seite wurden Aktualisierungen vorgenommen. Du kannst auf dieser Seite bleiben, aber sie könnte unvollständig sein. + upgrade: Um Monero weiterhin nutzen zu können, stelle sicher, dass deine Software mit dem Netzwerkupgrade vom 18. Oktober auf aktuellem Stand ist. + moreinfo: Mehr Info + lang_tag: "@lang_tag_de" + +titles: + index: Start + whatismonero: Was ist Monero (XMR)? + using: Monero nutzen + accepting: Monero akzeptieren + contributing: Monero verbessern + mining: Monero-Mining + faq: FAQ + downloads: Downloads + allposts: Alle Blogeinträge + team: Monero-Team + hangouts: Hangouts + events: Veranstaltungen + sponsorships: Sponsoren + merchants: Händler & Dienstleistungen + about: Über Monero + roadmap: Roadmap + researchlab: Monero Research Lab + moneropedia: Moneropedia + userguides: Anleitungen für Nutzer + developerguides: Anleitungen für Entwickler + technicalspecs: Technische Spezifikationen + themoneroproject: Das Monero-Projekt + presskit: Monero-Pressemappe + legal: Rechtliches + ffs: Forum-Finanzierungs-System + ffs-cp: Vollendete Vorschläge + ffs-fr: Unterstützung benötigt + ffs-ideas: Ideen + ffs-ot: Offene Aufgaben + ffs-wip: In Bearbeitung + blogbytag: Blog nach Tags + library: Bibliothek + +index: + page_title: "Monero – sicher, privat, nicht nachverfolgbar" + +home: + translated: "yes" + heading2: Private Digitale Währung + monero_is_cash: Monero ist digitales Bargeld einer verbundenen Welt. Es ist schnell, privat und sicher. Mit Monero bist du deine eigene Bank – du kannst dein Geld ausgeben, ohne befürchten zu müssen, dass andere herausfinden, wie viel du besitzt und was du mit deinem Geld machst. + get_started: Einstieg + why_monero_is_different: Wieso Monero anders ist + monero_is_secure: Monero ist sicher + monero_is_secure_para: Monero ist eine dezentrale Kryptowährung. Das heißt, es ist ein sicheres, digitales Bargeld, welches innerhalb eines Netzwerkes gleichberechtigter Nutzer verwaltet wird. Transaktionen werden mithilfe eines verteilten Konsens bestätigt und unveränderlich auf der Blockchain festgeschrieben. Du musst niemandem vertrauen, um deiner Monero sicher zu sein. + monero_is_private: Monero ist privat + monero_is_private_para: Monero macht Gebrauch von Ringsignaturen, vertraulichen Ringtransaktionen (ring confidential transactions) und Schattenadressen, um den Ursprung, den Betrag und das Ziel von Transaktionen zu verschleiern. Monero bietet alle Vorteile einer dezentralen Kryptowährung ohne deren üblicher Zugeständnisse beim Datenschutz. + monero_is_untraceable: Monero ist nicht nachverfolgbar + monero_is_untraceable_para: Sendende und empfangende Adressen sowie deren überwiesene Beträge sind standardmäßig verschleiert. Transaktionen auf der Monero-Blockchain können nicht mit Personen oder Identitäten verknüpft werden. + monero_is_fungible: Monero ist fungibel + monero_is_fungible_para1: Monero ist + monero_is_fungible_para2: fungibel + monero_is_fungible_para3: ", weil es standardmäßig privat ist. Einzelne Monero können nicht auf eine schwarze Liste von Händlern oder Börsen gesetzt werden, da ihre Geschichte nicht nachverfolgt werden kann." + downloads: Downloads + downloads_windows: Monero für Windows + downloads_mac: Monero für Mac + downloads_linux: Monero für Linux + downloads_blockchain: Letzte Blockchaindatei + different_system: Benutzt du ein anderes Beriebssystem? + view_all_downloads: Hier findest du alle verfügbaren Versionen. + latest_news: Aktuelle Meldungen + more_news: Weitere Neuigkeiten + moneropedia: Moneropedia + moneropedia_para: Interessierst du dich für die Terminologie und die Konzepte hinter Monero? Hier findest du eine alphabetisch geordnete Anleitung über die in Monero und Kovri verwendeten Wörter und deren Bedeutung. + moneropedia_button: Moneropedia besuchen + user_guides: Benutzeranleitungen + user_guides_para: „Schritt für Schritt“-Anleitungen über alles, was Monero anbelangt und in Kategorien geordnet – angefangen mit deiner ersten Wallet bis hin zur Bearbeitung dieser Webseite. + user_guides_button: Anleitungen für Nutzer + faq: Häufige Fragen + faq_para: Im Laufe der Zeit haben wir viele Fragen gehört und hier die zusammengestellt, die häufig vorkamen. Keine Sorge – wenn du eine Frage hast, die hier nicht beantwortet ist, hilft dir die Community gerne weiter. + faq_button: Zeige Antworten + +hangouts: + translated: "yes" + intro: Die Monero-Community ist wild zusammengewürfelt. Wir kommen von überall her, aber es gibt gewisse Plätze, an denen wir uns gerne treffen. Einen Großteil findest du unten. Schau doch mal vorbei! + resources: Arbeitsgruppen + resources_para: Um organische Arbeitsgruppen zu fördern, bietet Monero verschiedene Möglichkeiten, die die Community nutzen kann, um sich zu treffen und Projekte voranzubringen. Mattermost hat sogar Verknüpfungen zu den beliebtesten Monero-IRC-Channels. + irc: IRC-Channels + irc_para: Die Monero-Community verteilt sich auf viele IRC-Channels, die unterschiedlichen Zwecken dienen. Einige, um zu arbeiten und andere, um einfach nur miteinander zu reden. Ein paar davon findest du weiter unten. + stack_exchange: Stack Exchange + stack_exchange_para: Die Monero Stack Exchange ist ein schneller und einfacher Weg, um Fragen zu stellen und Antworten zu bekommen. Weiter unten findest du einige Beispiele für gute, häufige Fragen und deren Antworten. + stack_exchange_link: Stack Exchange besuchen + irc_channels: + - channel: monero + description: Hier wird alles rund um Monero diskutiert. + - channel: monero-community + description: In diesem Channel versammelt sich die Community, um Ideen zu besprechen. + - channel: monero-dev + description: Die vielen Entwickler und Mitwirkenden an Monero treffen sich hier, um über die Weiterentwicklung von Monero zu sprechen. + - channel: monero-markets + description: Hier wird über den Preis und den Markt von Monero und anderen Kryptowährungen diskutiert. + - channel: monero-offtopic + description: Mit anderen Monero-Nutzern über Dinge sprechen, die mit Monero nichts zu tun haben. + - channel: monero-otc + description: OTC-Handel (Over The Counter) von Monero. Komm' hierher, wenn du Monero außerhalb von Börsen und Mittelsmännern erwerben oder verkaufen möchtest. + - channel: monero-pools + description: Hier wird über alles rund ums Mining gesprochen. + - channel: monero-research-lab + description: Forschung rund um die finanzielle Privatsphäre im Bereich von Kryptowährungen + - channel: monero-translations + description: Monero in andere Sprachen übersetzen + - channel: monero-hardware + description: Hardware-Wallets verwenden, um deine Monero sicher zu verwahren + - channel: kovri + description: Alles rund um Kovri + - channel: kovri-dev + description: Die vielen Entwickler und Mitwirkenden an Kovri treffen sich hier, um über die Weiterentwicklung von Kovri zu sprechen. + +merchants: + translated: "yes" + intro1: Händler aller Art haben die Privatsphäre, die Monero bietet, zu schätzen gelernt. Weiter unten findest du eine Liste von vielen Firmen, die ihre Waren und Dienstleistungen im Austausch für Monero anbieten. Falls eine Firma Monero nicht mehr akzeptiert oder du hier aufgeführt sein möchtest, + intro2: erstelle eine Meldung („Issue“) auf GitLab. + disclaimer: | + "Beachte bitte: Die folgenden Links werden auf einer rein informativen Basis bereit gestellt; sie stellen keine Befürwortung der Monero-Community für Produkte, Dienstleistungen oder Meinungen der aufgelisteten Firmen, Organisationen oder Personen dar. Die Monero-Community übernimmt keine Verantwortung für die Richtigkeit, Legalität, oder den Inhalt der verlinkten Seiten. Bei Fragen sind die Betreiber der jeweiligen Seite zu kontaktieren. Wie immer wird eine Gewährleistung ausgeschlossen. Es ist an dir, dich selbst zu informieren. Benutze immer deinen gesunden Menschenverstand, wenn du online einkaufst." + +sponsorships: + translated: "yes" + intro: Die folgenden Organisationen und Firmen haben Monero dabei unterstützt, finanziellen Datenschutz und Freiheit in die Welt zu bringen. Wir sind unendlich dankbar für ihre Unterstützung. Wenn auch du das Monero-Projekt unterstützen und hier genannt werden willst, sende bitte eine E-Mail an dev@getmonero.org. + +team: + translated: "yes" + core: Core + developers: Entwickler + developers_para1: "Das Monero-Projekt hat im Laufe der Zeit deutlich über 400 Mitwirkende angezogen. Eine komplette Liste kann hier eingesehen werden:" + developers_para2: OpenHub contributors page. + developers_para3: Weiter unten findest du einige Leute, die für Monero bis ans Ende der Welt gegangen sind. + community: Community + mrl: Research Lab + thanks: Danksagungen + +downloads: + translated: "yes" + choose: Wähle dein Betriebssystem + sourceblockchain: Quellcode & Blockchain + mobilelight: Mobile & Light + hardware: Hardware + intro1: Wenn du Hilfe brauchst, um das richtige Programm zu finden, klicke bitte + intro2: hier + intro3: für eine schnelle Antwort und wähle die entsprechende Version für dein Betriebssystem weiter unten aus. + note1: "Anmerkung: Die SHA256 Hashes sind bei den Downloads zur Bequemlichkeit aufgeführt. Eine GPG-signierte Liste der Hashes findest du unter" + note2: " . Bestätigen kannst du diese, wenn die Signatur mit dem entsprechenden GPG-Schlüssel im Quellcode (in /utils/gpg_keys) übereinstimmt." + currentversion: Aktuelle Version + sourcecode: Quellcode + blockchain1: Wenn du nicht von Null auf die Blockchain herunterladen möchtest, kannst du eine Vorlage unter + blockchain2: diesem Link für die aktuellste Vorlage finden. + blockchain3: Üblicherweise ist es allerdings schneller von Null auf zu beginnen und es benötigt auch weniger Arbeitsspeicher. + hardware1: Die Monero-Community hat eine + hardware2: eigene Hardware-Wallet + hardware3: finanziert, die aktuell in Entwicklung ist. Zusätzlich hat seit CLI 0.12.1 und GUI 0.12.3 Ledger + hardware4: Monero in ihre Hardware-Wallets integriert. + mobilelight1: Nachfolgend aufgeführt sind einige Light- und Mobile-Wallets, die von der Community als sicher erachtet werden. Fehlt deiner Meinung nach eine Wallet hier, kannst du diese Wallet gerne der Community vorstellen. Gehe zu unseren + mobilelight2: Hangouts + mobilelight3: ", um zu sehen, wo wir so sind." + clionly: ausschließlich Befehlszeilenprogramme + +monero-project: + translated: "yes" + kovri: "Das Kovri-Projekt nutzt Ende-zu-Ende-Verschlüsselung, sodass weder Sender noch Empfänger einer Monero-Transaktion ihre IP-Adresse der anderen Seite oder Dritten (dem Netzwerk) preisgeben müssen. Das wird mit der gleichen Technologie erreicht, die auch dem DarkNet unterliegt: i2p (Invisible Internet Protocol). Das Projekt befindet sich aktuell noch in Entwicklung und steht noch nicht in Monero zur Verfügung." + kovri_button: Zur Kovri-Webseite + openalias: Das OpenAlias-Projekt vereinfacht Zahlungen mit Kryptowährungen, indem es FQDNs (Fully Qualified Domain Names, z.Bsp. example.openalias.org) für Monero-Adressen in einer Art bereitstellt, die gewährleistet, dass jedermanns Privatsphäre gewahrt bleibt. Das Projekt befindet sich in erweiterter Entwicklung und hat es bereits in mehrere Wallets geschafft. + openalias_button: Zur OpenAlias-Webseite + +press-kit: + translated: "yes" + intro1: Hier findest du das Monero-Symbol und -Logo. Du kannst eine beliebige Größe auswählen oder die .ai-Datei herunterladen, um selbst etwas mit dem Logo anzustellen. + intro2: Beachte, dass die Versionen für einen weißen Hintergrund NUR unter dem Monero Symbol einen weißen Hintergrund haben und nicht für das gesamte Bild. + intro3: Oder du kannst einfach alles auf dieser Seite in einem .zip-Archiv herunterladen. Klicke einfach + intro4: hier. + noback: Kein Hintergrund + whiteback: Weißer Hintergrund + symbol: Monero-Symbol + logo: Monero-Logo + small: Klein + medium: Normal + large: Groß + symbol_file: Symbol .ai-Datei + logo_file: Logo .ai-Datei + documents: + - category: Presseunterlagen + publications: + - name: "Kurzübersicht (englisch)" + url_file: "http://www.monerooutreach.org/pubs/2018/QuickFacts/QuickFacts.pdf" + abstract: > + Ein kurzer Abriss des Grundwissens um Monero: Geschichte, herausstechende Unterscheidungsmerkmale, technische Grundlagen und Besonderheiten der Entwicklung.
+ Auf der Webseite Monero Outreachs gibt es weitere Informationen. + +accepting: + translated: "yes" + title: Anleitungen für das Befehlszeilenprogramm + basics: Die Grundlagen + basics_para1: Monero funktioniert etwas anders, als du es vielleicht von anderen @Kryptowährungen gewohnt bist. Im Falle einer digitalen Währung wie beispielsweise Bitcoin und seinen vielen Ablegern erzeugen Bezahlsysteme normalerweise eine neue @Adresse für jeden neuen Zahlvorgang. + basics_para2: Weil Monero jedoch @Schattenadressen nutzt, gibt es keinen Anlass, jedes Mal unterschiedliche Adressen zu nutzen und es genügt, eine einzelne Adresse des @Accounts zu veröffentlichen. Stattdessen wird das Bezahlsystem des Händlers dem Kunden eine „Payment-ID“ zur Zuordnung mitteilen. + basics_para3: "Eine @payment-ID ist eine hexadezimale Zeichenkette, die 64 Zeichen lang ist und üblicherweise vom Händler zufällig generiert wird. Ein Beispiel für so eine Payment-ID ist:" + checking: Einen Zahlvorgang in monero-wallet-cli prüfen + checking_para1: | + Wenn du mit monero-wallet-cli einen Zahlvorgang überprüfen willst, kannst du den „payments“- Befehl, gefolgt von der Payment-ID bzw. den Payment-IDs, den oder die du prüfen willst, nutzen. Zum Beispiel: + checking_para2: Wenn du automatisiert Zahlungen überprüfen willst, folge den Details des nachfolgenden Abschnittes. + receiving: Eine Zahlung empfangen – Schritt für Schritt + receiving_list1: Generiere eine zufällige, 64 Zeichen lange, hexadezimale Zeichenkette für den Zahlvorgang + receiving_list2: Teile diese „Payment-ID“ und deine Monero-Adresse deinem Kunden mit + receiving_list3: Überprüfe die Zahlung mithilfe des „payments“-Befehls in monero-wallet-cli + program: Zahlungen automatisiert überprüfen + program_para1: Um Zahlungen automatisiert zu überprüfen, kannst du die „get_payments“ oder „get_bulk_payments“ JSON-RPC-API-Aufrufe nutzen. + program_para2: Dies erfordert einen „payment_id“-Parameter in Verbindung mit einer einzelnen Payment-ID. + program_para3: Dies ist die bevorzugte Methode und benötigt zwei Parameter – „payment_ids“, ein JSON-Array von Payment-IDs und eine optionale „min_block_height“ – die Blockhöhe, ab der geprüft werden soll. + program_para4: | + Ein Beispiel, wie eine Ausgabe aussehen kann, siehst du hier: + program_para5: Es ist wichtig anzumerken, dass die ausgegebenen Beträge in grundlegenden Monero-Einheiten angegeben sind und nicht in Einheiten, die normalerweise in Endnutzeranwendungen verwendet werden. Aufgrund der Tatsache, dass eine Transaktion üblicherweise mehrere Outputs hat, die zum Gesamtbetrag zusammenaddiert werden, sollten die Beträge nach „tx_hash“ oder der „payment_id“ gruppiert und zusammengerechnet werden. Da mehrere Outputs den gleichen Betrag haben können, ist es notwendig, die ausgegebenen Daten nicht durch einen einzigen „get_bulk_payments“-Aufruf herausfiltern zu wollen. + program_para6: Bevor man nach Zahlungen sucht, ist es eine gute Idee, mit einem RPC-API-Aufruf des Dienstes „monerod“ (der „get_info“-RPC-Aufruf) nachzuschauen, ob weitere Blöcke empfangen wurden. Üblicherweise wirst du dann nur ab dem empfangenden Block suchen wollen, indem du diesen als „min_block_height“ festlegst, um die „get_bulk_payments“ zu bekommen. + scanning: Automatisiert nach Zahlungen suchen + scanning_list1: Erfrage die aktuelle Blockhöhe vom Dienst. Fahre nur fort, wenn sie sich seit der letzten Abfrage erhöht hat. + scanning_list2: Rufe die „get_bulk_payments“-RPC-API auf mit der letzten von uns gescannten Höhe und einer Liste aller Payment-IDs in unserem System. + scanning_list3: Setze die aktuelle Blockhöhe als letzte durchsuchte Blockhöhe. + scanning_list4: Entferne Duplikate anhand von Transaktionshashes, die wir bereits verarbeitet haben. + +contributing: + translated: "yes" + intro: Monero ist ein Open-Source-Projekt, das von der Community angetrieben wird. Weiter unten sind einige Wege beschrieben, wie du dich einbringen kannst. + network: Unterstütze das Netzwerk + develop: Entwicklung + develop_para1: Monero ist großteils in C++ geschrieben. Da es ein dezentralisiertes Projekt ist, ist jeder eingeladen, Code beizutragen oder abzuändern. „Pull Requests“ werden bei Akzeptanz der Community mit dem Projekt vereint. Schau nach in den + develop_para2: Repositories + develop_para3: und ausstehenden + develop_para4: Issues. + full-node: Betreibe einen Full-Node + full-node_para: Führe monerod aus und öffne Port 18080. Selbst einen Full-Node zu betreiben, garantiert ein Höchstmaß an Datenschutz bei Monero-Transaktionen. Außerdem verbessert es die Verteilung der Blockchain an neue Nutzer. + mine: Mine + mine_para1: Mining gewährleistet die Dezentralität und Sicherheit des Monero-Netzwerkes. In der graphischen Nutzeroberfläche (GUI) Moneros und dem Befehlszeilenprogramm (CLI) kann Mining im Hintergrund aktiviert werden. Weitere Informationen zum Thema Mining findest du mit einem Klick + mine_para2: hier. + ffs: Besuche das Forum-Finanzierungs-System (FFS) + ffs_para1: Monero finanziert sich durch ein + ffs_para2: Forum-Finanzierungs-System + ffs_para3: ", bei dem Projekte vorgeschlagen und von der Community finanziell unterstützt werden können. Die Beiträge werden treuhänderisch verwahrt und freigegeben, sobald bestimmte Meilensteine erreicht wurden. Jeder kann neue Vorschläge unterbreiten oder vorhandene finanziell unterstützen." + donate: Spenden + donate_para1: Die anhaltende Entwicklung wird von Spenden unterstützt sowie von + donate_para2: Sponsoren. + donate-xmr: Monero spenden + donate-xmr_para: Spenden können gesendet werden an + or: oder + donate-btc: Bitcoin spenden + donate-btc_para: Spenden können gesendet werden an + donate-other: Andere + donate-other_para1: Schreibe eine E-Mail an + donate-other_para2: für andere Möglichkeiten zu spenden, oder wenn du ein Sponsor für das Monero Projekt werden möchtest. + +faq: + translated: "yes" + q1: Wie erhält Monero einen Wert? + a1: Monero hat einen Wert, weil es Menschen gibt, die es kaufen wollen. Gäbe es keinen, der Monero kaufen möchte, hätte Monero keinen Wert. Monero wird wertvoller, wenn die Nachfrage das Angebot übersteigt und günstiger, wenn das Angebot die Nachfrage übersteigt. + q2: Wie bekomme ich Monero? + a2: Du kannst Monero auf einer Börse oder von einer Person kaufen. Alternativ kannst du dein Glück beim Mining versuchen, um Monero als Belohnung für die Erstellung eines Blockes zu erhalten. + q3: Was ist ein mnemonischer Seed? + a3: Ein mnemonischer Seed ist ein Set von 25 Wörtern, mit dem du überall deinen Account wiederherstellen kannst. Hüte diese Worte wie einen Schatz und teile sie mit niemandem. Selbst wenn dein PC den Geist aufgibt und deine Festplatte in Flammen aufgeht, kannst du mit dem mnemonischen Seed alles wiederherstellen. + q4: Wie unterscheidet sich die Privatsphäre Moneros von anderen Kryptowährungen? + a4: | + Monero nutzt drei verschiedene Datenschutztechnologien: Ringsignaturen, vertrauliche Ringtransaktionen (RingCT) und Schattenadressen. Diese verschleiern jeweils den Sender, Betrag und Empfänger einer Transaktion. Alle Transaktionen im Netzwerk müssen privat sein; es ist unmöglich, beabsichtigt oder aus Versehen, eine öffentlich einsehbare Transaktion zu verschicken. Nur Monero bietet dieses Maß an Datenschutz – und dafür musst du keinen Dritten vertrauen. + q5: Warum dauert die Synchronisierung meiner Wallet so lang? + a5: Wenn du einen Full-Node auf deinem Computer betreibst, musst du die komplette Blockchain herunterladen. Das kann sehr lange dauern – besonders dann, wenn du eine alte Festplatte oder langsame Internetverbindung hast. Benutzt du einen Drittanbieter-Node, muss die Blockchain dennoch nach Outputs durchsucht werden, was manchmal einige Stunden dauern kann. Sei geduldig. Wenn du etwas Privatsphäre für schnellere Synchronisierungen opfern möchtest, kannst du aber stattdessen auch eine Light-Wallet nutzen. + q6: Was ist der Unterschied zwischen einer normalen und einer Light-Wallet? + a6: Für eine Light-Wallet gibst du deinen View-Key an einen Drittanbieter-Node, der die Blockchain für dich scannt und nach eingehenden Transaktionen Ausschau hält. Dieser Node wird wissen, wann du Geld empfängst (aber nicht wie viel und woher). Wohin du Geld schickst, ist ebenso immer privat. Je nachdem welches Programm du nutzt, kannst du deinen eigenen Node auswählen, um Datenleaks zu vermeiden. Verwende eine normale (Full-) Wallet, um deine Privatsphäre noch besser zu schützen. + q7: Was unterscheidet Monero von Bitcoin? + a7: Monero basiert nicht auf Bitcoin, sondern auf dem CryptoNote-Protokoll. Bitcoin ist völlig transparent und jeder kann exakt sehen, wie viel Geld von einem Nutzer zum anderen gesendet wurde. Monero versteckt diese Information, um die Privatsphäre seiner Nutzer zu wahren. Weiterhin hat es eine dynamische Blockgröße, dynamisch angepasste Gebühren, einen ASIC-resistenten Proof-of-Work(PoW) und eine kleine, aber stetige Ausschüttung neuer Monero nach Erreichung der initialen Distribution. + q8: Ist die Blockgröße Moneros limitiert? + a8: Nein. In Monero gibt es keine festgelegte, maximale Blockgröße. Stattdessen passt sich die Blockgröße im Laufe der Zeit an den Bedarf an. Die Rate, mit der sie wachsen kann, ist jedoch begrenzt, um ein übertriebenes Anschwellen der Blockchain zu verhindern. + q9: Was ist eine Blockchain? + a9: Eine Blockchain ist ein System, das die Geschichte aller Transaktionen des Netzwerks speichert. Bei Monero werden alle zwei Minuten aktuelle Transaktionen in einen neuen Block am Ende der Blockchain eingefügt. Diese Kette von Blöcken ermöglicht es dem Netzwerk, die Guthaben der Accounts zu verifizieren und es gleichzeitig gegen Angriffe und Zentralisierungsversuche resistent zu machen. + q10: Was ist Kovri? + a10: Kovri ist ein in C++ programmierter I2P-Router. I2P (Invisible Internet Project) ist ein verstecktes Netzwerk, ähnlich Tor, mit einigen technischen Unterschieden. Kovri ist ein von Monero unabhängiges Projekt, welches allerdings mit Monero und anderen kompatibel sein wird. Kovri versteckt die Übermittlung von Transaktionen, sodass andere Knoten nicht herausfinden können, woher eine Transaktion stammt. In Konfliktsituationen kann Kovri genutzt werden, um allen Netzwerkverkehr Moneros durch I2P zu leiten. Dies würde es unmöglich machen, zu erkennen, dass Monero genutzt wird. Kovri befindet sich gegenwärtig in der Alphaphase und ist noch nicht vollständig in Monero integriert. Finde mehr über Kovri auf der Webseite des Kovri-Projektes heraus. + q11: Was ist Fungibilität und warum ist sie wichtig? + a11: Fungibilität ist eine einfache Eigenschaft von Geld und bedeutet, dass es keine Unterschiede im Wert zweier identischer Beträge gibt. Wenn ein Mensch mit einem anderen eine Zehn gegen zwei Fünfen tauscht, verliert niemand. Nimmt man nun aber an, dass die Zehn vorher bei einer Erpressung zum Einsatz kam – würde der Zweite dann noch den Handel durchführen? Wohl eher nicht – selbst dann nicht, wenn der aktuelle Besitzer der Zehn keinerlei Verbindung zu dem Verbrechen hat. Das ist ein Problem, da der Empfänger sein empfangenes Geld kontinuierlich überprüfen muss, um kein „schmutziges“ Geld zu erhalten. Monero ist fungibel – niemand muss sich mit Monero diese Mühe machen. + q12: Woher wissen wir, dass Monero nicht aus dem Nichts geschaffen werden, wenn sie so privat sind? + a12-1: In Monero ist jede Transaktion an ein einzigartiges Schlüsselbild gebunden, welches nur durch den Besitzer des Transaktionsausgangs erzeugt werden kann. Wiederverwendete Schlüsselbilder werden von den Minern als doppelte Ausgabe zurückgewiesen und können nicht in einen gültigen Block aufgenommen werden. Wenn eine neue Transaktion empfangen wird, prüfen die Miner, dass das Schlüsselbild nicht bereits existiert, um sicherzustellen, dass es sich nicht um eine doppelte Ausgabe handelt. + a12-2: Wir können auch verifizieren, dass die Beträge der Transaktionen korrekt sind, obwohl die Eingänge, die ausgegeben werden und die Ausgänge, die gesendet werden, verschlüsselt sind (sie sind vor jedem außer dem Empfänger versteckt). Da die Beträge mit „Pedersen-Commitments“ verschlüsselt sind, kann kein Außenstehender die Beträge der Ein- und Ausgänge sehen, aber er kann verifizieren, dass die Beträge der Eingänge denen der Ausgänge entsprechen und somit keine Monero aus dem Nichts geschaffen wurden. + a12-3: Solange die verschlüsselten Ausgangsbeträge (üblicherweise ein Ausgang für den Empfänger, ein Ausgang für dein Wechselgeld und einen für die unverschlüsselte Transaktionsgebühr), die du kreierst, der Summe der Eingänge, die ausgegeben werden, entsprechen, ist deine Transaktion gültig. „Pedersen-Commitments“ bedeuten, dass die Summen als gleich groß verifiziert werden können, aber die individuelle Zusammensetzung der Summen und der Gesamtbetrag der Einzelsummen unbestimmbar sind. + q13: Ist Monero magisch und kann meine Privatsphäre schützen, egal was ich mache? + a13: Monero ist kein Wundermittel. Wenn du Monero nutzt, aber deinen Namen, deine Adresse usw. an einen Außenstehenden gibst, wird dieser nicht auf magische Weise deinen Namen und deine Adresse vergessen. Wenn du deine privaten Schlüssel weitergibst, können andere nachvollziehen, was du gemacht hast. Wenn du dir einen Virus einfängst oder abgehört wirst, können deine Informationen abgegriffen werden. Wenn dein Passwort schwach ist, könnten andere (erfolgreich) versuchen, deine privaten Schlüssel zu knacken. Wenn du deine (verschlüsselten) privaten Schlüssel in die Cloud hochlädst, könntest du schneller arm sein als gedacht. + q14: Ist Monero 100% anonym? + a14: 100%ige Anonymität gibt es nicht. Wenn du absolut keinen Fehler machst, ist deine Anonymität so gut wie die Anzahl der Leute, die Monero nutzen. Manche Leute nutzen Monero nicht; Monero könnte Bugs haben. Es könnten Wege existieren oder hinzukommen, Informationen aus Moneros Schichten zum Schutz der Privatsphäre zu extrahieren. Die Attacken werden nur stärker werden. Auch wenn du angeschnallt bist, kannst du trotzdem bei einem Unfall ums Leben kommen. Nutze deinen gesunden Menschenverstand und gehe mit ausgiebiger Vorsicht und Vernunft vor. + +mining: + translated: "yes" + intro1: Monero ist eine Kryptowährung, die auf Proof-of-Work-Mining zurückgreift, um einen dezentralen Konsens zu erreichen. Weiter unten findest du weitere Informationen rund um die ersten Schritte des Minings. + intro2: Das Monero-Projekt empfiehlt keinen speziellen Pool, keine bestimmte Software oder Hardware und die nachfolgenden Informationen sind rein informativ. + support: Support + support_para1: Siehe + support_para2: Hangouts, + support_para3: /r/moneromining (Englisch) + support_para4: und + pools: Pools + pools_para1: Eine Auflistung bisher ehrlich agierender Mining-Pools findest du + pools_para2: hier. + benchmarking: Hardware-Leistungsvergleich + benchmarking_para1: Hier + benchmarking_para2: findest du eine Zusammenstellung verschiedener Grafikkarten und CPUs und deren Hashraten. + software: Mining-Software + software_para: Beachte, dass einige Miningprogramme Gebühren für deren Entwickler abführen können. + +using: + translated: "yes" + intro: Monero zu schicken und zu empfangen, kann sehr einfach sein. Diese Seite gibt dir einen kurzen Einblick. + learn: 1. Grundlagen + learn_para1: Monero ist eine sichere, private und nicht nachverfolgbare Kryptowährung. Die Entwickler und die Community sind entschlossen, diese Werte zu schützen. Lerne mehr darüber durch das Lesen der + learn_para2: „Was ist Monero“ + learn_para3: "-Seite. Der" + learn_para4: Quellcode + learn_para5: ist ebenso zum Überprüfen und für weitere Diskussion verfügbar. + support: 2. Erfrage Unterstützung + support_para1: Es gibt eine große und hilfsbereite Community, die dir helfen wird, wenn du auf Probleme stößt. Schau bei den + support_para2: Hangouts + support_para3: vorbei, um weitere Informationen zu erhalten. + generate: 3. Erzeuge eine Wallet + generate_para1: Eine Monero-Wallet ist notwendig, um dein Guthaben sicher zu verwahren. Bei den + generate_para2: Downloads + generate_para3: findest du verfügbare Wallets, die du nutzen kannst. + generate_para4: Der einfachste Weg, einen eigenen Monero-Node zu betreiben, ohne deine eigene Internetleitung zu belasten, ist es, einen VPS (Virtuellen Privaten Server) zu kaufen. Wir empfehlen dir, + generate_para5: und den + generate_para6: Coupon-Code zu nutzen, um einen Rabatt auf den bereits günstigen Preis von 6$ pro Monat und VPS zu erhalten. Durch Eingabe des Coupons und/oder Nutzung + generate_para7: unseres Partnerlinks + generate_para8: wird die weitere Entwicklung Moneros unterstützt. + acquire: 4. Monero bekommen + acquire_para1: Monero können auf einer + acquire_para2: Börse + acquire_para3: mit staatlicher Währung (FIAT) oder anderen Kryptowährungen erworben werden. Alternativ kann Monero durch + acquire_para4: Mining, + acquire_para5: den rechenintensiven Prozess durch den Transaktionen unveränderlich auf die Blockchain geschrieben werden, erworben werden. + send-receive: 5. Sende und Empfange Monero + send-receive_para1: Lerne, wie Monero gesendet und empfangen werden in der + send-receive_para2: Anleitung. + transact: 6. Mache deine Geschäfte mit Monero + transact_para1: Monero können für den Kauf vieler Produkte und Dienstleistungen genutzt werden. Eine Übersicht findest du in der + transact_para2: Händlerübersicht. + +what-is-monero: + translated: "yes" + need-to-know: Was du wissen solltest + leading: Monero ist die führende Kryptowährung mit einem Fokus auf private und zensurresistente Transaktionen. + leading_para1: Die meisten Kryptowährungen, inklusive Bitcoin und Ethereum, haben transparente Blockchains. Das heißt, dass alle Transaktionen öffentlich und weltweit verifizierbar sind. Dadurch können Empfangs- und sendende Adressen den tatsächlichen Besitzern zugeordnet werden. + leading_para2: Monero macht Gebrauch von Kryptographie, um diese Adressen und die verschickten Beträge zu verschleiern. + confidential: Transaktionen mit Monero sind vertraulich und nicht nachverfolgbar. + confidential_para1: Jede Transaktion mit Monero verschleiert immer die Sende- und Empfangsadresse und die verschickten Beträge. Dieser, vom Protokoll bedingte, Datenschutz bedeutet, dass jeder Nutzer Moneros die Privatsphäre anderer Moneronutzer verbessert. In anderen Kryptowährungen, wie beispielsweise Z-Cash, die eine Unterscheidung zwischen öffentlichen und privaten Transaktionen machen, ist dies nicht der Fall. + confidential_para2: Monero ist fungibel. Dadurch, dass Transaktionen verschleiert werden, können Monero nicht „schmutzig“ durch deren vorherige Verwendung werden. Das bedeutet, dass Monero immer akzeptiert werden, egal woher sie stammen und ohne die Möglichkeit, einzelne Monero zu zensieren und auszuschließen. + confidential_para3: Das Kovri-Projekt, + confidential_para4: gegenwärtig in der Entwicklung + confidential_para5: ", wird Transaktionen über I2P-Netzwerkknoten (Invisible Internet Project) leiten und verschlüsseln. Dies wird die IP-Adresse eines Nutzers verstecken und weiteren Schutz gegen eine Überwachung des Netzwerkes bieten." + grassroots: Monero ist eine unabhängige Community, die die besten Forscher und Entwickler der Kryptowährungsszene anzieht. + grassroots_para1: Über + grassroots_para2: 420 Entwickler + grassroots_para3: ", darunter 30 Hauptentwickler, haben etwas zum Monero-Projekt beigetragen. Die Foren und Chats sind aufgeschlossen und aktiv." + grassroots_para4: Moneros „Research Lab“, sein Hauptentwicklungsteam und Entwickler der Community erweitern ständig die Möglichkeiten des Datenschutzes und der Sicherheit von Kryptowährungen. + grassroots_para5: Monero ist keine Firma. Es wird von Experten der Kryptographie und dezentralen Systemen entwickelt, die aus der ganzen Welt stammen und ihre Zeit dem Projekt widmen. Einige Entwickler werden durch Spenden der Community unterstützt. Beides zusammen bedeutet, dass kein Land und keine Regierung in der Lage ist, Monero zu unterbinden und dass Monero keiner spezifischen Gesetzgebung unterliegt. + electronic: Monero ist elektronisches Bargeld, das schnelle und günstige Bezahlungen von jedem und an jeden weltweit ermöglicht. + electronic_para1: Es gibt keine mehrtägigen Verzögerungen zur Bestätigung und kein Risiko von betrügerischen Rückbuchungen. Es ist vor „Kapitalkontrollen“ sicher – Kapitalkontrollen sind Maßnahmen, die den Geldfluss steuern sollen, was teilweise, in z.Bsp. wirtschaftlich instabilen Ländern, bis zur vollständigen Unterbindung reichen kann. + videos: Monero-Videos (English) + +about: + translated: "yes" + history: Überblick über die Geschichte + history_para1: "Monero wurde im April 2014 veröffentlicht. Es war ein fairer, vorher angekündigter Start des Referenzcodes CryptoNote. Es gab keinen Pre- oder Instantmine und kein Anteil des Minings geht an die Entwickler. All das kannst du im Thread auf Bitcointalk sehen:" + history_para2: Hier + history_para3: Der Gründer, thankful_for_today, hat der Community einige kontroverse Änderungen vorgeschlagen. Als diese abgelehnt wurden, kam es zu einer Dissonanz und die Hauptentwickler haben mit der Unterstützung der Community das Projekt abgespalten. Diese Hauptentwickler übernehmen die hauptsächliche Verwaltung bis heute. + history_para4: Seit Monero veröffentlicht wurde, hat es verschiedene, weitreichende Verbesserungen durchlebt. Die Blockchain wurde auf ein neues Datenformat gesetzt, welches eine bessere Effizienz, Flexibilität und schnellere Zugriffszeiten ermöglicht; die Anzahl der nötigen Verschleierungspartner wurde angehoben, um einen Mindestdatenschutz zu gewährleisten und RingCT wurde implementiert, um die Beträge der Transaktionen zu verstecken. Nahezu alle Verbesserungen dienten der Erweiterung der Sicherheit, des Datenschutzes oder der Erleichterung der Benutzung. Monero wird weiterhin mit der Priorität auf Datenschutz und Sicherheit entwickelt. Können diese gewahrt werden, werden Benutzerfreundlichkeit und Effizienz verbessert. + values: Unsere Werte + values_para: Monero ist mehr als nur Technologie. Es ist auch das, was die Technologie verkörpern soll. Die wichtigsten Grundwerte sind unten aufgeführt. + security: Sicherheit + security_para: Nutzer müssen Monero mit ihren Transaktionen vertrauen können, ohne dem Risiko eines Angriffs ausgetzt zu sein. Monero gibt den wichtigsten Mitgliedern des Netzwerkes im Bezug auf Sicherheit, den Minern, die volle Blockbelohnung. Transaktionen sind kryptographisch abgesichert mit den stärksten zur Verfügung stehenden Verschlüsselungstechnologien. + privacy: Datenschutz + privacy_para: Monero nimmt Datenschutz sehr ernst. Monero muss in der Lage sein, seine Nutzer zu schützen – auch in einem Gerichtsprozess und in Extremfällen vor der Todesstrafe. Dieses Maß an Datenschutz muss jedem Nutzer gleichermaßen zur Verfügung stehen, gleich dessen technischem Verständnis im Allgemeinen oder Moneros im Speziellen. Das Vertrauen in Monero muss gerechtfertigterweise so hoch sein können, dass ein Nutzer sein Verhalten nicht ändert aus Angst davor, dass jemand anderes etwas herausfinden könnte. + decentralization: Dezentralisation + decentralization_para: Monero strebt das größtmögliche Maß an Dezentralisierung an. Mit Monero musst du niemand anderem im Netzwerk vertrauen und es wird durch keine Firma oder Gruppe betrieben. Ein zugänglicher Proof-of-Work-Algorithmus ermöglicht es jedem mit einem Computer, Monero zu minen. Das macht es schwierig, einen großen Anteil dieser Rechenleistung zu kaufen oder zu mieten. Mit der Implementierung von Kovri werden sich Teilnehmer über I2P verbinden können, welches das Risiko, sensible Daten preiszugeben oder zensiert zu werden, minimiert. Entwicklungsentscheidungen werden deutlich und öffentlich zur Diskussion gestellt. Protokolle der Entwicklungsmeetings werden vollständig und für jeden sichtbar online veröffentlicht. + + +developer-guides: + translated: "yes" + outdated: "Beachte bitte, dass die nachfolgenden Anleitungen kürzlich aktualisiert wurden und schnellstmöglich auf Änderungen hin angepasst werden. Es kann jedoch sein, dass einige Methoden hinzukommen, entfernt werden oder aktualisiert werden und hier nicht exakt beschrieben werden." + rpc: RPC-Dokumentation + daemonrpc: Dienst-RPC-Dokumentation + walletrpc: Wallet-RPC-Dokumentation + soon: Weitere folgen... + +user-guides: + translated: "yes" + general: Allgemeines + mining: Mining + recovery: Wiederherstellung + wallets: Wallets + offline-backup: Erstellung eines Offline-Backups + vps-node: Betreibung eines Nodes über VPS + import-blockchain: Import der Monero-Blockchain + monero-tools: Monero-Tools + purchasing-storing: Monero sicher kaufen und verwahren + verify-allos: Dateien auf Linux, Mac bzw. Windows in der Befehlszeile verifizieren (fortgeschritten) + verify-windows: Dateien unter Windows verifizieren (Anfänger) + mine-on-pool: Mining auf einem Pool mit xmr-stak-cpu + solo-mine: Solomining mit der GUI + mine-docker: Mining mit Docker und XMRig + locked-funds: Feststeckende Guthaben freigeben + restore-account: Wiederherstellung einer Wallet + qubes: "Befehlszeile: Wallet- /Dienstisolierung mit Qubes + Whonix" + cli-wallet: Grundlagen der Wallet (Befehlszeile) + remote-node-gui: Mit einem Drittanbieternode verbinden (GUI) + view-only: Eine View-Only-Wallet erstellen + prove-payment: Bezahlung beweisen + restore-from-keys: Wallet mit privaten Schlüsseln wiederherstellen + nicehash: Monero (XMR) ohne spezielle Hardware minen + ledger-wallet-cli: Eine Wallet mit Ledger erstellen (Befehlszeile) + +roadmap: + translated: "yes" + completed: Abgeschlossene Aufgabe + ongoing: Laufende Aufgabe + upcoming: Kommende Aufgabe + future: Zukunft + + +research-lab: + translated: "yes" + intro: Monero widmet sich nicht nur einer fungiblen Währung, sondern auch einer kontinuierlichen Forschung im Bereich des finanziellen Datenschutzes, da dies Kryptowährungen mit einschließt. Weiter unten findest du Arbeiten unseres Monero Research Lab; weitere Abhandlungen werden folgen. + mrl_papers: Monero Research Lab Papers (Englisch) + abstract: Kurzfassung + introduction: Einleitung + read-paper: Abhandlung lesen + mrl1: Anmerkungen zu Kettenreaktionen im Hinblick auf Nachverfolgbarkeit in CryptoNote 2.0 (A Note on Chain Reactions in Traceability in CryptoNote 2.0) + mrl1_abstract: Diese Abhandlung beschreibt plausible Angriffe auf ein Ringsignaturen-basiertes Anonymitätssystem. Unsere Motivation soll hier das CryptoNote 2.0 Protokoll sein, welches angeblich von Nicolas van Saberhagen im Jahre 2012 veröffentlicht wurde. Es wurde bereits gezeigt, dass die Unnachverfolgbarkeit eines einmalig genutzten Schlüsselpaares davon abhängen kann, wie unnachverfolgbar die in der Ringsignatur beteiligten Schlüssel sind. Dies macht Kettenreaktionen im Hinblick auf die Nachverfolgbarkeit von Ringsignaturen plausibel, was eine kritische Verletzung der Unnachverfolgbarkeit des gesamten Netzwerkes zur Folge haben kann, wenn Parameter ungünstig gewählt werden und ein Angreifer einen maßgeblichen Anteil am Netzwerk hält. Die Signaturen sind jedoch für den einmaligen Gebrauch und ein solcher Angriff muss nicht zwingend den Verlust der Anonymität der Nutzer zur Folge haben. Nichtsdestotrotz kann ein derartiger Angriff die Widerstandsfähigkeit, die CryptoNote gegen Blockchainanalysen aufweist, schwächen. Diese Abhandlung wurde nicht peer-reviewed und spiegelt nur die Ergebnisse interner Untersuchungen wider. + mrl2: Erzeugung von Falschgeld durch Ausnutzen von Schwachstellen im Merkle-Tree innerhalb von virtuellen Währungen, die auf dem CryptoNote-Protokoll basieren (Counterfeiting via Merkle Tree Exploits within Virtual Currencies Employing the CryptoNote Protocol) + mrl2_abstract: Am 4. September 2014 wurde ein neuartiger und ungewöhnlicher Angriff gegen Moneros Kryptowährungsnetzwerk durchgeführt. Diese Attacke fragmentierte das Netzwerk in zwei abgetrennte Teile, die gegenseitig die Gültigkeit des anderen bestritten. Dies hatte eine Vielzahl von Auswirkungen, von denen noch nicht alle bekannt sind. Der Angreifer hatte ein kurzes Zeitfenster, innerhalb dessen beispielsweise Falschgeld hätte erzeugt werden können. Diese Abhandlung beschreibt Schwachstellen in der Referenz des CryptoNote-Protokolls, die diesen Angriff ermöglichten, einen Lösungsansatz, der ursprünglich von Rafal Freeman von Tigusoft.pl und in der Folge vom CryptoNote-Team vorgebracht wurde, sowie die momentane Lösung, die in Monero zum Einsatz kommt und erklärt genau, welchen Effekt der auslösende Block auf das Netzwerk hatte. Diese Abhandlung wurde nicht peer-reviewed und spiegelt nur die Ergebnisse interner Untersuchungen wider. + mrl3: Monero ist gar nicht so mysteriös (Monero is Not That Mysterious) + mrl3_abstract: In letzter Zeit zirkulierten vage Gerüchte durch's Internet über den Quellcode von CryptoNote und dessen Protokoll aufgrund der Tatsache, dass es sich um ein komplexeres Protokoll als beispielsweise Bitcoin handelt. Der Sinn dieser Abhandlung soll sein, einige Verwirrungen aufzuklären und hoffentlich einige der Rätsel um Moneros Ringsignaturen zu entwirren. Zunächst wird die Mathematik der CryptoNote-Ringsignaturen (wie in [CN] beschrieben) mit der Mathematik hinter [FS] verglichen, auf der CryptoNote aufbaut. Anschließend wird die Mathematik hinter Ringsignaturen mit dem verglichen, was im Quellcode der Implementierung von CryptoNote vorhanden ist. + mrl4: Verbesserung der Verschleierung im CryptoNote-Protokoll (Improving Obfuscation in the CryptoNote Protocol) + mrl4_abstract: Wir identifizieren verschiedene Blockchainanalyseangriffe, die zur Verfügung stehen, um die Unnachverfolgbarkeit des CryptoNote-2.0-Protokolls auszuhebeln. Es werden verschiedene Lösungen untersucht und deren jeweilige Vorzüge und Nachteile bewertet und Verbesserungen am Protokoll Moneros vorgeschlagen, die die Widerstandsfähigkeit gegen Blockchainanalysen auf hoffentlich lange Sicht gewähren können. Unsere Vorschläge beinhalten eine Änderung der netzwerkweiten Mindestzahl an Verschleierungspartnern je Ringsignatur auf Protokollebene von n = 2 und eine Anhebung dieses Werts auf n = 4 nach zwei Jahren sowie das Setzen der Standardzahl auf zunächst n = 4. Wir empfehlen weiterhin eine Torrent-ähnliche Methode, um Moneros zu versenden, sowie eine uneinheitliche, altersabhängige Selektierung der Verschleierungspartner, um anderen Formen der Blockchainanalyse entgegen zu wirken. Aus verschiedenen Gründen werden jedoch keine formellen Vorschläge zur Implementierung gegeben. Die Auswirkungen dieser Verbesserungen werden etwas genauer betrachtet. Diese Abhandlung wurde nicht peer-reviewed und spiegelt nur die Ergebnisse interner Untersuchungen wider. + mrl5: Vertrauliche Ringsignaturtransaktionen (Ring Signature Confidential Transactions) + mrl5_abstract: Dieser Artikel gibt eine Einführung in eine Methode, Transaktionsbeträge in der stark dezentralisierten, anonymen Kryptowährung Monero zu verstecken. Ähnlich wie Bitcoin ist Monero eine Kryptowährung, die durch einen dezentralen, verteilten „Proof-of-Work“-Miningprozess herausgegeben wird. Das ursprüngliche Monero-Protokoll basierte auf CryptoNote, welches Ringsignaturen und einmalige Schlüssel verwendet, um Ursprung und Ziel von Transaktionen zu verstecken. Vor kurzem wurde eine Vorgehensweise diskutiert, es mithilfe von Verpflichtungserklärungen auf Transaktionen zu ermöglichen, die Beträge der Transaktionen zu verstecken. Diese wurden von Gregory Maxwell, einem der Hauptentwickler Bitcoins, implementiert. In diesem Artikel wird ein neuer Typ von Ringsignaturen – eine mehrschichtig verknüpfte, spontane, anonyme Gruppensignatur – beschrieben, der es ermöglicht, Beträge, Ursprünge und Ziele von Transaktionen zu verstecken und dabei eine akzeptable Effizienz unter Beibehaltung der Verifizierbarkeit der vertrauenslosen Coingenerierung zu bewahren. Einige notwendige Erweiterungen des Protokolls werden vorgestellt, wie beispielsweise aggregierte Schnorr-Range-Proofs und Multiringsignaturen. Der Autor merkt an, dass frühe Entwürfe hiervon in der Monero-Community und dem „Bitcoin Research“-IRC-Channel veröffentlicht wurden. Auf der Blockchain hinterlegte Hashes dieser Versionen können in [14] eingesehen werden, die zeigen, dass die Arbeiten daran im Sommer 2015 aufgenommmen und Anfang Oktober 2015 vollendet wurden. Eine elektronische Version findet sich unter http://eprint.iacr.org/2015/1098. + mrl6: Eine effiziente Implementierung von Subadressen (An Efficient Implementation of Monero Subadresses) + mrl6_abstract: Nutzer der Kryptowährung Monero, die ihre Walletadressen wiederholt nutzen möchten, aber dabei eine Verknüpfbarkeit vermeiden wollen, müssen mehrere Wallets nutzen, was ein Durchsuchen der Blockchain für jede einzelne bedeutet. Wir dokumentieren eine neue Variante für Adressen, die es dem Nutzer ermöglicht, eine einzelne Hauptadresse zu verwalten und eine beliebige Anzahl an Subadressen für diese zu generieren. Dies bietet den weiteren Vorteil, dass die Blockchain nur ein Mal für eine beliebige Anzahl an Subadressen durchsucht werden muss, um zu erkennen, ob sie für eine dieser bestimmt ist. Weiterhin unterstützt diese Variante mehrfache Ausgänge an andere Subadressen und ist genauso effizient wie herkömmliche Transaktionen. + mrl7: Mengen von ausgegebenen Outputs (Sets of Spent Outputs) + mrl7_abstract: Diese technische Abhandlung verallgemeinert das Konzept von ausgegebenen Outputs unter Zuhilfenahme grundlegender Mengenlehre. Die Beschreibung vereint eine Vielzahl vorheriger Arbeiten, die sich mit der Analyse solcher ausgegebenen Outputs beschäftigen. Wir quantifizieren die Effekte solcher Analysen der Monero-Blockchain und geben eine Übersicht der Gegenmaßnahmen. + mrl8: Duale, verknüpfbare Ringsignaturen (Dual Linkable Ring Signatures) + mrl8_abstract: Diese Abhandlung beschreibt Modifikationen der verknüpfbaren Ringsignaturen Moneros, die es erlauben, doppelte Schlüsseloutputs als Ringsignaturteilnehmer zu verwenden. Schlüsselbilder werden an beide Einmalschlüssel der Outputs in einem Zwilling gebunden, der es bei beiden Schlüsseln verhindert, separat ausgegeben zu werden. Diese Methode hat Anwendungen in der automatisierten Rückbuchung von Transaktionen. Wir diskutieren die Auswirkungen auf die Sicherheit dieser Methode. + mrl9: Thringsignaturen und ihre Anwendungen in digitalen Währungen mit unbekannten Sendern (Thring Signatures and their Applications to Spender-Ambiguous Digital Currencies) + mrl9_abstract: Wir präsentieren Multigrenzwertringsignaturen (Thringsignaturen) zur kollaborativen Berechnung von Ringsignaturen, zeigen eine Demo zur grundlegenden Erstellung von Thringsignaturen und diskutieren die Anwendungen von Thringsignaturen in digitalen Währungen, die währungsübergreifende Atomic Swaps mit unbekannten Sendern für geheime Beträge ohne die Notwendigkeit des Vertrauens in eine dritte Partei ermöglichen. Wir präsentieren eine Einbindung von Thringsignaturen, die wir spontan verknüpfbare, anonyme Grenzwertgruppensignaturen nennen und beweisen, dass die Implementierung grundlegend fälschungssicher ist. + mrl10: Gruppenübergreifende diskret logarithmische Gleichheit (Discrete Logarithm Equality Across Groups) + mrl10_abstract: Diese technische Abhandlung beschreibt einen Algorithmus, der verwendet wird, um die Kenntnis desselben diskreten Logarithmus über verschiedene Gruppen hinweg zu beweisen. Diese Methode beschreibt einen gemeinsamen Wert als eine skalare Repräsentation von Bits und nutzt diese als eine Menge von Ringsignaturen um zu beweisen, dass jedes Bit ein gültiger Wert ist, der der gleiche (bis zu einem bestimmen Äquivalent) über beide Skalargruppen ist. + cryptonote: CryptoNote-Whitepapers + cryptonote-whitepaper: CryptoNote-Whitepaper + cryptonote-whitepaper_para: Dies ist die originale Abhandlung über CryptoNote, welche vom CryptoNote-Team geschrieben wurde. Eine Lektüre hiervon wird eine grundlegende Einsicht in die Funktionsweise des CryptoNote-Algorithmus geben. + annotated: Whitepaper mit Anmerkungen + annotated_para: Das Monero Research Lab veröffentlichte eine Version des Whitepapers mit Anmerkungen. Dies ist eine Art zeilenweise, informelle Besprechung der Behauptungen, die im Whitepaper gemacht wurden. Es erklärt außerdem einige komplexe Themen mit einfacheren Begriffen. + brandon: Brandon Goodells Whitepaper-Review + brandon_para: Diese Abhandlung ist eine förmliche Kritik des originalen CryptoNote-Protokolls durch den „Monero Research Lab“-Forscher Brandon Goodell. Er gibt einen tiefen Einblick in die Behauptungen und die Mathematik des CryptoNote-Protokolls. + + +specs: + translated: "yes" + fair_title: Kein Premine, kein Instantmine, kein Token + fair_premine: Monero wurde nicht vor Veröffentlichung oder in großen Mengen bei Veröffentlichung gemined. + fair_token: Monero hat keine Token verkauft. + fair_presale: Monero hatte keine sonstige Art von Vorverkauf. + pow_title: Proof of Work + pow_name: CryptoNight + pow_disclaimer: könnte sich in der Zukunft ändern + diff_title: Schwierigkeitsanpassung + diff_freq: jeder Block + diff_base: Anhand der letzten 720 Blöcke unter Ausschluss von 20% der Ausreißer anhand der Zeitstempel + block_time_title: Blockzeit + block_time_duration: 2 Minuten + block_time_disclaimer: Könnte sich ändern, solange die Verteilungskurve erhalten bleibt + block_reward_title: Blockbelohnung + block_reward_amount: Reduziert sich sanft und unterliegt Minderungen für Blöcke, die größer als der Median der letzten 100 Blöcke (M100) sind. + block_reward_example1: Zum Beispiel im + block_reward_example_link: letzten Block + block_reward_example2: " : Aktuelle Coinbase-Transaktion für die momentane Belohnung" + block_size_title: Blockgröße + block_size: dynamisch, maximal 2 x M100 + block_emission_title: Verteilungskurve + block_emission_main: "Zunächst: Hauptverteilung: ~18,132 Millionen Coins bis ca. Ende Mai 2022" + block_emission_tail: "Danach: Anschlussverteilung: 0,6 XMR pro 2-Minuten-Block; wird aktiviert, wenn die Hauptverteilung abgeschlossen ist. Entspricht einer kontinuierlich sinkenden Inflation von unter 1%." + block_emission_disclaimer1: Siehe + block_emission_disclaimer_link: Diagramme und Details + supply_title: Maximale Anzahl an Monero + supply_amount: unendlich + sender_privacy_title: Datenschutz des Senders + sender_privacy_mode: Ringsignaturen + recipient_privacy_title: Datenschutz des Empfängers + recipient_privacy_mode: Schattenadressen + amount_hidden_title: Verschleierung des Betrages + amount_hidden_mode: vertrauliche Ringtransaktionen (Ring confidential transactions) + +library: + translated: "yes" + description: "Unten gibt es Veröffentlichungen, Bücher und Magazine für dich zum Download." + books: + - category: Bücher + publications: + - name: "Zero to Monero" + file: "Zero-to-Monero-1-0-0.pdf" + abstract: > + Eine verständliche Erklärung des Konzeptes (und der Technik) hinter Monero
+ Unser Wunsch ist es, jedem mit einem Grundverständnis von Algebra und Grundlagen der Computertechnik, wie beispielsweise der Repräsentation von Zahlen im Binärsystem, nicht nur verständlich beizubringen, wie Monero im Detail funktioniert, sondern auch, wie nützlich und schön Kryptographie sein kann. + - name: "Mastering Monero (Vorschau)" + file: "Mastering-Monero-Preview.pdf" + abstract: > + Ein Begleiter durch die scheinbar komplizierte Welt Moneros
+ Er enthält: + + Auf der Webseite von Mastering Monero gibt es Informationen zur vollen Version. + - category: Magazine + publications: + - name: "Revuo Monero Q4 2017" + file: "Revuo-2017-Q4.pdf" + abstract: > + Quartalsweise erscheinendes Monero-Magazin, Ausgabe Q4 2017
+ In dieser Ausgabe: Neuigkeiten zur Entwicklung, dem Monero Research Lab, Kovri und der Community + - name: "Revuo Monero Q3 2017" + file: "Monero-Revuo-3Q-2017.pdf" + abstract: > + Quartalsweise erscheinendes Monero-Magazin, Ausgabe Q3 2017
+ In dieser Ausgabe: Neuigkeiten zur Entwicklung, dem Monero Research Lab, Kovri, der Community, Hardware und Monerujo + +moneropedia: + translated: "yes" + add_new_button: Neuen Eintrag erstellen + add_new_text1: Wenn es einen Eintrag gibt, den du hinzufügen oder ändern möchtest, + add_new_link: eröffne bitte ein neues Issue im Repository dieser Webseite auf GitLab + add_new_text2: oder schlage Änderungen mittels eines Pull-Requests vor + entries: + account: Account + address-book: Adressbuch + address: Adresse + airgap: Airgap + atomic-units: Kleinste Einheit + base32-address: Base32-Adresse + base64-address: Base64-Adresse + blockchain: Blockchain + block: Block + bootstrap-node: Bootstrap-Node + canonically-unique-host: Eindeutig zuordenbarer Host + change: Wechselgeld + clearnet: Clearnet + coinbase: Coinbase-Transaktion + consensus: Konsens + cryptocurrency: Kryptowährung + data-directory: Datenverzeichnis + denominations: Stückelung + destination: Ziel + eepsite: Eepsite + encryption: Verschlüsselung + floodfill: Floodfill + fluffyblocks: Fluffy-Blocks + fungibility: Fungibilität + garlic-encryption: Garlic-Verschlüsselung + garlic-routing: Garlic-Routing + i2np: I2NP + i2pcontrol: I2PControl + i2p: I2P + in-net: In-net + java-i2p: Java-I2P + jump-service: Jump-Service + kovri: Kovri + lease: Lease + lease-set: Lease-Set + locally-unique-host: Lokal einzigartiger Host + message: Nachricht + mining: Mining + mnemonicseed: Mnemonischer Seed + network-database: Netzwerkdatenbank + node: Node + ntcp: NTCP + openalias: OpenAlias + paperwallet: Paper-Wallet + paymentid: Payment-ID + pedersen-commitment: Pedersen-Commitment + reseed: Reseed + ringCT: vertrauliche Ringtransaktionen (Ring CT) + ringsignatures: Ringsignatur + ring-size: Ringgröße + router-info: Router-Info + scalability: Skalierbarkeit + signature: Kryptographische Signatur + smartmining: Smart-Mining + spendkey: Spend-Key + ssu: SSU + stealthaddress: Schattenadresse + subscription: Register + tail-emission: Anschlussverteilung + transaction: Transaktionen + transports: Transport + tunnel: Tunnel + unlocktime: Freigabedauer von Transaktionen + viewkey: View-Key + wallet: Wallet + +blog: + title_1: Alle + title_2: Blog + title_3: Beiträge + tagged: Getaggt mit + author: Veröffentlicht von + date: Eingesendet am + forum: Klicke hier, um der Diskussion für diesen Eintrag im Moneroforum beizutreten + +tags: + all: Einträge nach Tags + notags: Es gibt für diesen Tag keine passenden Einträge. diff --git a/_i18n/de/resources/developer-guides/daemon-rpc.md b/_i18n/de/resources/developer-guides/daemon-rpc.md new file mode 100644 index 00000000..f1b2b6ce --- /dev/null +++ b/_i18n/de/resources/developer-guides/daemon-rpc.md @@ -0,0 +1,2377 @@ +{% assign version = '2.3.0' | split: '.' %} +{% include untranslated.html %} +## Introduction + +This is a list of the monerod daemon RPC calls, their inputs and outputs, and examples of each. + +Many RPC calls use the daemon's JSON RPC interface while others use their own interfaces, as demonstrated below. + +Note: "@atomic-units" refer to the smallest fraction of 1 XMR according to the monerod implementation. **1 XMR = 1e12 @atomic-units.** + +Note2: Guide updated as of network height of 1,562,465. + +### [JSON RPC Methods](#json-rpc-methods): + +* [get_block_count](#get_block_count) +* [on_get_block_hash](#on_get_block_hash) +* [get_block_template](#get_block_template) +* [submit_block](#submit_block) +* [get_last_block_header](#get_last_block_header) +* [get_block_header_by_hash](#get_block_header_by_hash) +* [get_block_header_by_height](#get_block_header_by_height) +* [get_block_headers_range](#get_block_headers_range) +* [get_block](#get_block) +* [get_connections](#get_connections) +* [get_info](#get_info) +* [hard_fork_info](#hard_fork_info) +* [set_bans](#set_bans) +* [get_bans](#get_bans) +* [flush_txpool](#flush_txpool) +* [get_output_histogram](#get_output_histogram) +* [get_version](#get_version) +* [get_coinbase_tx_sum](#get_coinbase_tx_sum) +* [get_fee_estimate](#get_fee_estimate) +* [get_alternate_chains](#get_alternate_chains) +* [relay_tx](#relay_tx) +* [sync_info](#sync_info) +* [get_txpool_backlog](#get_txpool_backlog) +* [get_output_distribution](#get_output_distribution) + +### [Other RPC Methods](#other-daemon-rpc-calls): + +* [/get_height](#get_height) +* [/get_blocks.bin](#get_blocksbin) +* [/get_blocks_by_height.bin](#get_blocks_by_heightbin) +* [/get_hashes.bin](#get_hashesbin) +* [/get_o_indexes.bin](#get_o_indexesbin) +* [/get_outs.bin](#get_outsbin) +* [/get_transactions](#get_transactions) +* [/get_alt_blocks_hashes](#get_alt_blocks_hashes) +* [/is_key_image_spent](#is_key_image_spent) +* [/send_raw_transaction](#send_raw_transaction) +* [/start_mining](#start_mining) +* [/stop_mining](#stop_mining) +* [/mining_status](#mining_status) +* [/save_bc](#save_bc) +* [/get_peer_list](#get_peer_list) +* [/set_log_hash_rate](#set_log_hash_rate) +* [/set_log_level](#set_log_level) +* [/set_log_categories](#set_log_categories) +* [/get_transaction_pool](#get_transaction_pool) +* [/get_transaction_pool_hashes.bin](#get_transaction_pool_hashesbin) +* [/get_transaction_pool_stats](#get_transaction_pool_stats) +* [/stop_daemon](#stop_daemon) +* [/get_info (not JSON)](#get_info-not-json) +* [/get_limit](#get_limit) +* [/set_limit](#set_limit) +* [/out_peers](#out_peers) +* [/in_peers](#in_peers) +* [/start_save_graph](#start_save_graph) +* [/stop_save_graph](#stop_save_graph) +* [/get_outs](#get_outs) +* [/update](#update) + + +--- + +## JSON RPC Methods + +The majority of monerod RPC calls use the daemon's `json_rpc` interface to request various bits of information. These methods all follow a similar structure, for example: + +``` +IP=127.0.0.1 +PORT=18081 +METHOD='get_block_header_by_height' +ALIAS='getblockheaderbyheight' +PARAMS='{"height":912345}' +curl \ + -X POST http://$IP:$PORT/json_rpc \ + -d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'$PARAMS'}' \ + -H 'Content-Type: application/json' +``` + +Some methods include parameters, while others do not. Examples of each JSON RPC method follow. + +### **get_block_count** + +Look up how many blocks are in the longest chain known to the node. + +Alias: *getblockcount*. + +Inputs: *None*. + +Outputs: + +* *count* - unsigned int; Number of blocks in longest chain seen by the node. +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_block_count"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "count": 993163, + "status": "OK" + } +} +``` + + +### **on_get_block_hash** + +Look up a block's hash by its height. + +Alias: *on_getblockhash*. + +Inputs: + +* block height (int array of length 1) + +Outputs: + +* block hash (string) + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"on_get_block_hash","params":[912345]}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": "e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6" +} +``` + + +### **get_block_template** + +Get a block template on which mining a new block. + +Alias: *getblocktemplate*. + +Inputs: + +* *wallet_address* - string; Address of wallet to receive coinbase transactions if block is successfully mined. +* *reserve_size* - unsigned int; Reserve size. + +Outputs: + +* *blocktemplate_blob* - string; Blob on which to try to mine a new block. +* *blockhashing_blob* - string; Blob on which to try to find a valid nonce. +* *difficulty* - unsigned int; Difficulty of next block. +* *expected_reward* - unsigned int; Coinbase reward expected to be received if block is successfully mined. +* *height* - unsigned int; Height on which to mine. +* *prev_hash* - string; Hash of the most recent block on which to mine the next block. +* *reserved_offset* - unsigned int; Reserved offset. +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_block_template","params":{"wallet_address":"44GBHzv6ZyQdJkjqZje6KLZ3xSyN1hBSFAnLP6EAqJtCRVzMzZmeXTC2AHKDS9aEDTRKmo6a6o9r9j86pYfhCWDkKjbtcns","reserve_size":60}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "blockhashing_blob": "070786a498d705f8dc58791266179087907a2ff4cd883615216749b97d2f12173171c725a6f84a00000000fc751ea4a94c2f840751eaa36138eee66dda15ef554e7d6594395827994e31da10", + "blocktemplate_blob": "070786a498d705f8dc58791266179087907a2ff4cd883615216749b97d2f12173171c725a6f84a0000000002aeab5f01fff2aa5f01e0a9d0f2f08a01028fdb3d5b5a2c363d36ea17a4add99a23a3ec7935b4c3e1e0364fcc4295c7a2ef5f01f912b15f5d17c1539d4722f79d8856d8654c5af87f54cfb3a4ff7f6b512b2a08023c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1755090c809421d69873c161e7969b8bf33cee3b451dd4859bfc244a705f0b4900498f804b6023e13fa023a0fb759e8b7c9a39506a21442bc47077beeedc6b78d34c4ebdae91bd96097ccc9a882bc5056568b0d2f1f06559368fea4acba8e745444e883e53156d5083c1fd260edf05292934c8b40c098b81fe4e261720bdd272b209e317247a1d2c55dc4718891af0d16273c5a610f36f382a3bf50f54808aaa6a508e51d4601dd0d8fbf8b3b1685066ce121666a1409e8ac7a4d673c1cc36d10b825f764af647441f53230518e4d2efbcf8791c6060912c76e90db4982a66d51bbd96290bbb34db8080b216c2940cec407260bf5e2c3a5ee280835f15298f0801e9d98c4d414792282fbc2c28c3e20bc0fcb1829b5c3ad8f8d20847be8fdb2a949fd96f0205fbd6d271c880c5d8c83e9813606cd803a44d377fdeae45bfa67112132af601e9b3b0613ba7dff2ec3d4b935c447b47bfe39f7b950981b2f4c66c0d853e2218f1f69229a9b608c3d98be09b6d4d640a9f6ff0e920dbacf7e58b59554c0b398b1ae4b1d497104b4e4e745d850eed7eddb8aa93437427bf442ae5beb22cbf10a8fa738ea38cfa5d86dfd30675d4be11a38016e36936fd5601e52643e8b8bc433702ea7ae6149309c95b898cc854850e73fe0b95c5b8879b7325ecd4", + "difficulty": 61043624293, + "expected_reward": 4771949057248, + "height": 1561970, + "prev_hash": "f8dc58791266179087907a2ff4cd883615216749b97d2f12173171c725a6f84a", + "reserved_offset": 129, + "status": "OK", + "untrusted": false + } +} +``` + + +### **submit_block** + +Submit a mined block to the network. + +Alias: *submitblock*. + +Inputs: + +* Block blob data - array of strings; list of block blobs which have been mined. See [get_block_template](#get_block_template) to get a blob on which to mine. + +Outputs: + +* *status* - string; Block submit status. + +In this example, a block blob which has not been mined is submitted: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"submit_block","params":["0707e6bdfedc053771512f1bc27c62731ae9e8f2443db64ce742f4e57f5cf8d393de28551e441a0000000002fb830a01ffbf830a018cfe88bee283060274c0aae2ef5730e680308d9c00b6da59187ad0352efe3c71d36eeeb28782f29f2501bd56b952c3ddc3e350c2631d3a5086cac172c56893831228b17de296ff4669de020200000000"]' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "error": { + "code": -7, + "message": "Block not accepted" + } +} +``` + + +### **get_last_block_header** + +Block header information for the most recent block is easily retrieved with this method. No inputs are needed. + +Alias: *getlastblockheader*. + +Inputs: *None*. + +Outputs: + +* *block_header* - A structure containing block header information. + * *block_size* - unsigned int; The block size in bytes. + * *depth* - unsigned int; The number of blocks succeeding this block on the blockchain. A larger number means an older block. + * *difficulty* - unsigned int; The strength of the Monero network based on mining power. + * *hash* - string; The hash of this block. + * *height* - unsigned int; The number of blocks preceding this block on the blockchain. + * *major_version* - unsigned int; The major version of the monero protocol at this block height. + * *minor_version* - unsigned int; The minor version of the monero protocol at this block height. + * *nonce* - unsigned int; a cryptographic random one-time number used in mining a Monero block. + * *num_txes* - unsigned int; Number of transactions in the block, not counting the coinbase tx. + * *orphan_status* - boolean; Usually `false`. If `true`, this block is not part of the longest chain. + * *prev_hash* - string; The hash of the block immediately preceding this block in the chain. + * *reward* - unsigned int; The amount of new @atomic-units generated in this block and rewarded to the miner. Note: 1 XMR = 1e12 @atomic-units. + * *timestamp* - unsigned int; The unix time at which the block was recorded into the blockchain. +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +In this example, the most recent block (1562023 at the time) is returned: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_last_block_header"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "block_header": { + "block_size": 62774, + "depth": 0, + "difficulty": 60097900840, + "hash": "3a289b8fa88b10e2163826c230b45d79f2be37d14fa3153ee58ff8a427782d14", + "height": 1562023, + "major_version": 7, + "minor_version": 7, + "nonce": 3789681204, + "num_txes": 5, + "orphan_status": false, + "prev_hash": "743e5d0a26849efe27b96086f2c4ecc39a0bc744bf21473dad6710221aff6ac3", + "reward": 4724029079703, + "timestamp": 1525029411 + }, + "status": "OK", + "untrusted": false + } +} +``` + + +### **get_block_header_by_hash** + +Block header information can be retrieved using either a block's hash or height. This method includes a block's hash as an input parameter to retrieve basic information about the block. + +Alias: *getblockheaderbyhash*. + +Inputs: + +* *hash* - string; The block's sha256 hash. + +Outputs: + +* *block_header* - A structure containing block header information. See [get_last_block_header](#get_last_block_header). +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +In this example, block 912345 is looked up by its hash: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_block_header_by_hash","params":{"hash":"e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6"}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "block_header": { + "block_size": 210, + "depth": 649717, + "difficulty": 815625611, + "hash": "e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6", + "height": 912345, + "major_version": 1, + "minor_version": 2, + "nonce": 1646, + "num_txes": 0, + "orphan_status": false, + "prev_hash": "b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78", + "reward": 7388968946286, + "timestamp": 1452793716 + }, + "status": "OK", + "untrusted": false + } +} +``` + + +### **get_block_header_by_height** + +Similar to [get_block_header_by_hash](#get_block_header_by_hash) above, this method includes a block's height as an input parameter to retrieve basic information about the block. + +Alias: *getblockheaderbyheight*. + +Inputs: + +* *height* - unsigned int; The block's height. + +Outputs: + +* *block_header* - A structure containing block header information. See [get_last_block_header](#get_last_block_header). +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +In this example, block 912345 is looked up by its height (notice that the returned information is the same as in the previous example): + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_block_header_by_height","params":{"height":912345}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "block_header": { + "block_size": 210, + "depth": 649721, + "difficulty": 815625611, + "hash": "e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6", + "height": 912345, + "major_version": 1, + "minor_version": 2, + "nonce": 1646, + "num_txes": 0, + "orphan_status": false, + "prev_hash": "b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78", + "reward": 7388968946286, + "timestamp": 1452793716 + }, + "status": "OK", + "untrusted": false + } +} +``` + +### **get_block_headers_range** + +Similar to [get_block_header_by_height](#get_block_header_by_height) above, but for a range of blocks. This method includes a starting block height and an ending block height as parameters to retrieve basic information about the range of blocks. + +Alias: *getblockheadersrange*. + +Inputs: + +* *start_height* - unsigned int; The starting block's height. +* *end_height* - unsigned int; The ending block's height. + +Outputs: + +* *headers* - array of `block_header` (a structure containing block header information. See [get_last_block_header](#get_last_block_header)). +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +In this example, blocks range from height 1545999 to 1546000 is looked up (notice that the returned informations are ascending order and that it is at the April 2018 network upgrade time): + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_block_headers_range","params":{"start_height":1545999,"end_height":1546000}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "headers": [{ + "block_size": 301413, + "depth": 16085, + "difficulty": 134636057921, + "hash": "86d1d20a40cefcf3dd410ff6967e0491613b77bf73ea8f1bf2e335cf9cf7d57a", + "height": 1545999, + "major_version": 6, + "minor_version": 6, + "nonce": 3246403956, + "num_txes": 20, + "orphan_status": false, + "prev_hash": "0ef6e948f77b8f8806621003f5de24b1bcbea150bc0e376835aea099674a5db5", + "reward": 5025593029981, + "timestamp": 1523002893 + },{ + "block_size": 13322, + "depth": 16084, + "difficulty": 134716086238, + "hash": "b408bf4cfcd7de13e7e370c84b8314c85b24f0ba4093ca1d6eeb30b35e34e91a", + "height": 1546000, + "major_version": 7, + "minor_version": 7, + "nonce": 3737164176, + "num_txes": 1, + "orphan_status": false, + "prev_hash": "86d1d20a40cefcf3dd410ff6967e0491613b77bf73ea8f1bf2e335cf9cf7d57a", + "reward": 4851952181070, + "timestamp": 1523002931 + }], + "status": "OK", + "untrusted": false + } +} +``` + + +### **get_block** + +Full block information can be retrieved by either block height or hash, like with the above block header calls. For full block information, both lookups use the same method, but with different input parameters. + +Alias: *getblock*. + +Inputs (pick one of the following): + +* *height* - unsigned int; The block's height. +* *hash* - string; The block's hash. + +Outputs: + +* *blob* - string; Hexadecimal blob of block information. +* *block_header* - A structure containing block header information. See [get_last_block_header](#get_last_block_header). +* *json* - json string; JSON formatted block details: + * *major_version* - Same as in block header. + * *minor_version* - Same as in block header. + * *timestamp* - Same as in block header. + * *prev_id* - Same as `prev_hash` in block header. + * *nonce* - Same as in block header. + * *miner_tx* - Miner transaction information + * *version* - Transaction version number. + * *unlock_time* - The block height when the coinbase transaction becomes spendable. + * *vin* - List of transaction inputs: + * *gen* - Miner txs are coinbase txs, or "gen". + * *height* - This block height, a.k.a. when the coinbase is generated. + * *vout* - List of transaction outputs. Each output contains: + * *amount* - The amount of the output, in @atomic-units. + * *target* - + * *key* - + * *extra* - Usually called the "transaction ID" but can be used to include any random 32 byte/64 character hex string. + * *signatures* - Contain signatures of tx signers. Coinbased txs do not have signatures. + * *tx_hashes* - List of hashes of non-coinbase transactions in the block. If there are no other transactions, this will be an empty list. +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +**Look up by height:** + +In the following example, block 912345 is looked up by its height. Note that block 912345 does not have any non-coinbase transactions. (See the next example for a block with extra transactions): + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_block","params":{"height":912345}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "blob": "0102f4bedfb405b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff786e0600000195d83701ffd9d73704ee84ddb42102378b043c1724c92c69d923d266fe86477d3a5ddd21145062e148c64c5767700880c0fc82aa020273733cbd6e6218bda671596462a4b062f95cfe5e1dbb5b990dacb30e827d02f280f092cbdd080247a5dab669770da69a860acde21616a119818e1a489bb3c4b1b6b3c50547bc0c80e08d84ddcb01021f7e4762b8b755e3e3c72b8610cc87b9bc25d1f0a87c0c816ebb952e4f8aff3d2b01fd0a778957f4f3103a838afda488c3cdadf2697b3d34ad71234282b2fad9100e02080000000bdfc2c16c00", + "block_header": { + "block_size": 210, + "depth": 649772, + "difficulty": 815625611, + "hash": "e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6", + "height": 912345, + "major_version": 1, + "minor_version": 2, + "nonce": 1646, + "num_txes": 0, + "orphan_status": false, + "prev_hash": "b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78", + "reward": 7388968946286, + "timestamp": 1452793716 + }, + "json": "{\n \"major_version\": 1, \n \"minor_version\": 2, \n \"timestamp\": 1452793716, \n \"prev_id\": \"b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78\", \n \"nonce\": 1646, \n \"miner_tx\": {\n \"version\": 1, \n \"unlock_time\": 912405, \n \"vin\": [ {\n \"gen\": {\n \"height\": 912345\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 8968946286, \n \"target\": {\n \"key\": \"378b043c1724c92c69d923d266fe86477d3a5ddd21145062e148c64c57677008\"\n }\n }, {\n \"amount\": 80000000000, \n \"target\": {\n \"key\": \"73733cbd6e6218bda671596462a4b062f95cfe5e1dbb5b990dacb30e827d02f2\"\n }\n }, {\n \"amount\": 300000000000, \n \"target\": {\n \"key\": \"47a5dab669770da69a860acde21616a119818e1a489bb3c4b1b6b3c50547bc0c\"\n }\n }, {\n \"amount\": 7000000000000, \n \"target\": {\n \"key\": \"1f7e4762b8b755e3e3c72b8610cc87b9bc25d1f0a87c0c816ebb952e4f8aff3d\"\n }\n }\n ], \n \"extra\": [ 1, 253, 10, 119, 137, 87, 244, 243, 16, 58, 131, 138, 253, 164, 136, 195, 205, 173, 242, 105, 123, 61, 52, 173, 113, 35, 66, 130, 178, 250, 217, 16, 14, 2, 8, 0, 0, 0, 11, 223, 194, 193, 108\n ], \n \"signatures\": [ ]\n }, \n \"tx_hashes\": [ ]\n}", + "miner_tx_hash": "c7da3965f25c19b8eb7dd8db48dcd4e7c885e2491db77e289f0609bf8e08ec30", + "status": "OK", + "untrusted": false + } +} +``` + +**Look up by hash:** + +In the following example, block 993056 is looked up by its hash. Note that block 993056 has 3 non-coinbase transactions: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_block","params":{"hash":"510ee3c4e14330a7b96e883c323a60ebd1b5556ac1262d0bc03c24a3b785516f"}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "blob": "0102a3978cb7050ea4af6547c05c965afc8df6d31509ff3105dc7ae6b10172521d77e09711fd6df407000001dcce3c01ffa0ce3c049da8bece070259e9d685b3484886bc7b47c133e6099ecdf212d5eaa16ce19cd58e8c3c1e590a80d88ee16f024c5e2f542d25513c46b9e3b7d40140a22d0ae5314bfcae492ad9f56fff8185f080d0b8e1981a0213dd8ffdac9e6a2f71e327dad65328198dc879a492d145eae72677c0703a351580c0f9decfae010262bda00341681dccbc066757862da593734395745bdfe1fdc89b5948c86a5d4c2b01b691851cf057b9c302a3dbca879e1cba4cc45061ca55aaa6e03cdc67ab9e455002080000000c617fdf160379c6b9f00db027bde151705aafe85c495883aae2597d5cb8e1adb2e0f3ae1d07d715db73331abc3ec588ef07c7bb195786a4724b08dff431b51ffa32a4ce899bb197066426c0ed89f0b431fe171f7fd62bc95dd29943daa7cf3585cf1fdfc99d", + "block_header": { + "block_size": 3981, + "depth": 569068, + "difficulty": 964985344, + "hash": "510ee3c4e14330a7b96e883c323a60ebd1b5556ac1262d0bc03c24a3b785516f", + "height": 993056, + "major_version": 1, + "minor_version": 2, + "nonce": 2036, + "num_txes": 3, + "orphan_status": false, + "prev_hash": "0ea4af6547c05c965afc8df6d31509ff3105dc7ae6b10172521d77e09711fd6d", + "reward": 6932043647005, + "timestamp": 1457720227 + }, + "json": "{\n \"major_version\": 1, \n \"minor_version\": 2, \n \"timestamp\": 1457720227, \n \"prev_id\": \"0ea4af6547c05c965afc8df6d31509ff3105dc7ae6b10172521d77e09711fd6d\", \n \"nonce\": 2036, \n \"miner_tx\": {\n \"version\": 1, \n \"unlock_time\": 993116, \n \"vin\": [ {\n \"gen\": {\n \"height\": 993056\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 2043647005, \n \"target\": {\n \"key\": \"59e9d685b3484886bc7b47c133e6099ecdf212d5eaa16ce19cd58e8c3c1e590a\"\n }\n }, {\n \"amount\": 30000000000, \n \"target\": {\n \"key\": \"4c5e2f542d25513c46b9e3b7d40140a22d0ae5314bfcae492ad9f56fff8185f0\"\n }\n }, {\n \"amount\": 900000000000, \n \"target\": {\n \"key\": \"13dd8ffdac9e6a2f71e327dad65328198dc879a492d145eae72677c0703a3515\"\n }\n }, {\n \"amount\": 6000000000000, \n \"target\": {\n \"key\": \"62bda00341681dccbc066757862da593734395745bdfe1fdc89b5948c86a5d4c\"\n }\n }\n ], \n \"extra\": [ 1, 182, 145, 133, 28, 240, 87, 185, 195, 2, 163, 219, 202, 135, 158, 28, 186, 76, 196, 80, 97, 202, 85, 170, 166, 224, 60, 220, 103, 171, 158, 69, 80, 2, 8, 0, 0, 0, 12, 97, 127, 223, 22\n ], \n \"signatures\": [ ]\n }, \n \"tx_hashes\": [ \"79c6b9f00db027bde151705aafe85c495883aae2597d5cb8e1adb2e0f3ae1d07\", \"d715db73331abc3ec588ef07c7bb195786a4724b08dff431b51ffa32a4ce899b\", \"b197066426c0ed89f0b431fe171f7fd62bc95dd29943daa7cf3585cf1fdfc99d\"\n ]\n}", + "miner_tx_hash": "372395aeac5e5ad2c40b4c546b0bad00c4242fb2bd88e2e25f4e43231876f81e", + "status": "OK", + "tx_hashes": ["79c6b9f00db027bde151705aafe85c495883aae2597d5cb8e1adb2e0f3ae1d07","d715db73331abc3ec588ef07c7bb195786a4724b08dff431b51ffa32a4ce899b","b197066426c0ed89f0b431fe171f7fd62bc95dd29943daa7cf3585cf1fdfc99d"], + "untrusted": false + } +} +``` + + +### **get_connections** + +Retrieve information about incoming and outgoing connections to your node. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *connections* - List of all connections and their info: + * *address* - string; The peer's address, actually IPv4 & port + * *avg_download* - unsigned int; Average bytes of data downloaded by node. + * *avg_upload* - unsigned int; Average bytes of data uploaded by node. + * *connection_id* - string; The connection ID + * *current_download* - unsigned int; Current bytes downloaded by node. + * *current_upload* - unsigned int; Current bytes uploaded by node. + * *height*- unsigned int; The peer height + * *host* - string; The peer host + * *incoming* - boolean; Is the node getting information from your node? + * *ip* - string; The node's IP address. + * *live_time* - unsigned int + * *local_ip* - boolean + * *localhost* - boolean + * *peer_id* - string; The node's ID on the network. + * *port* - string; The port that the node is using to connect to the network. + * *recv_count* - unsigned int + * *recv_idle_time* - unsigned int + * *send_count* - unsigned int + * *send_idle_time* - unsigned int + * *state* - string + * *support_flags* - unsigned int + +Following is an example of `get_connections` and it's return: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_connections"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "connections": [{ + "address": "173.90.69.136:62950", + "avg_download": 0, + "avg_upload": 2, + "connection_id": "083c301a3030329a487adb12ad981d2c", + "current_download": 0, + "current_upload": 2, + "height": 1562127, + "host": "173.90.69.136", + "incoming": true, + "ip": "173.90.69.136", + "live_time": 8, + "local_ip": false, + "localhost": false, + "peer_id": "c959fbfbed9e44fb", + "port": "62950", + "recv_count": 259, + "recv_idle_time": 8, + "send_count": 24342, + "send_idle_time": 8, + "state": "state_normal", + "support_flags": 0 + },{ + ... + }], + "status": "OK" + } +} +``` + + +### **get_info** + +Retrieve general information about the state of your node and the network. + +Alias: + +* */get_info* +* */getinfo* + +See other RPC Methods [/get_info (not JSON)](#get_info-not-json) + +Inputs: *None*. + +Outputs: + +* *alt_blocks_count* - unsigned int; Number of alternative blocks to main chain. +* *block_size_limit* - unsigned int; Maximum allowed block size +* *block_size_median* - unsigned int; Median block size of latest 100 blocks +* *bootstrap_daemon_address* - string; @Bootstrap-node to give immediate usability to wallets while syncing by proxying RPC to it. (Note: the replies may be untrustworthy). +* *cumulative_difficulty* - unsigned int; Cumulative difficulty of all blocks in the blockchain. +* *difficulty* - unsigned int; Network difficulty (analogous to the strength of the network) +* *free_space* - unsigned int; Available disk space on the node. +* *grey_peerlist_size* - unsigned int; Grey Peerlist Size +* *height* - unsigned int; Current length of longest chain known to daemon. +* *height_without_bootstrap* - unsigned int; Current length of the local chain of the daemon. +* *incoming_connections_count* - unsigned int; Number of peers connected to and pulling from your node. +* *mainnet* - boolean; States if the node is on the mainnet (`true`) or not (`false`). +* *offline* - boolean; States if the node is offline (`true`) or online (`false`). +* *outgoing_connections_count* - unsigned int; Number of peers that you are connected to and getting information from. +* *rpc_connections_count* - unsigned int; Number of RPC client connected to the daemon (Including this RPC request). +* *stagenet* - boolean; States if the node is on the stagenet (`true`) or not (`false`). +* *start_time* - unsigned int; Start time of the daemon, as UNIX time. +* *status* - string; General RPC error code. "OK" means everything looks good. +* *target* - unsigned int; Current target for next proof of work. +* *target_height* - unsigned int; The height of the next block in the chain. +* *testnet* - boolean; States if the node is on the testnet (`true`) or not (`false`). +* *top_block_hash* - string; Hash of the highest block in the chain. +* *tx_count* - unsigned int; Total number of non-coinbase transaction in the chain. +* *tx_pool_size* - unsigned int; Number of transactions that have been broadcast but not included in a block. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). +* *was_bootstrap_ever_used* - boolean; States if a bootstrap node has ever been used since the daemon started. +* *white_peerlist_size* - unsigned int; White Peerlist Size + +Following is an example `get_info` call and its return: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_info"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "alt_blocks_count": 6, + "block_size_limit": 600000, + "block_size_median": 129017, + "bootstrap_daemon_address": "", + "cumulative_difficulty": 14121125493385685, + "difficulty": 60580751777, + "free_space": 138758750208, + "grey_peerlist_size": 4998, + "height": 1562168, + "height_without_bootstrap": 1562168, + "incoming_connections_count": 2, + "mainnet": true, + "offline": false, + "outgoing_connections_count": 8, + "rpc_connections_count": 2, + "stagenet": false, + "start_time": 1524751757, + "status": "OK", + "target": 120, + "target_height": 1562063, + "testnet": false, + "top_block_hash": "7a7ba647080844073fdd8e3a069e00554c773d6e6863354dba1dec45a43f5592", + "tx_count": 2759894, + "tx_pool_size": 755, + "untrusted": false, + "was_bootstrap_ever_used": false, + "white_peerlist_size": 1000 + } +} +``` + + +### **hard_fork_info** + +Look up information regarding hard fork voting and readiness. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *earliest_height* - unsigned int; Block height at which hard fork would be enabled if voted in. +* *enabled* - boolean; Tells if hard fork is enforced. +* *state* - unsigned int; Current hard fork state: 0 (There is likely a hard fork), 1 (An update is needed to fork properly), or 2 (Everything looks good). +* *status* - string; General RPC error code. "OK" means everything looks good. +* *threshold* - unsigned int; Minimum percent of votes to trigger hard fork. Default is 80. +* *version* - unsigned int; The major block version for the fork. +* *votes* - unsigned int; Number of votes towards hard fork. +* *voting* - unsigned int; Hard fork voting status. +* *window* - unsigned int; Number of blocks over which current votes are cast. Default is 10080 blocks. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"hard_fork_info"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "earliest_height": 1009827, + "enabled": false, + "state": 2, + "status": "OK", + "threshold": 0, + "version": 1, + "votes": 7277, + "voting": 2, + "window": 10080 + } +} +``` + + +### **set_bans** + +Ban another node by IP. + +Alias: *None*. + +Inputs: + +* *bans* - A list of nodes to ban: + * *host* - string; Host to ban (IP in A.B.C.D form - will support I2P address in the future). + * *ip* - unsigned int; IP address to ban, in Int format. + * *ban* - boolean; Set `true` to ban. + * *seconds* - unsigned int; Number of seconds to ban node. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Examples: + +**banning by host** + +In the following example, host is banned with its IP address string-formatted as A.B.C.D: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_bans","params":{"bans":[{"host":"192.168.1.51","ban":true,"seconds":30}]}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "status": "OK" + } +} +``` + +**banning by ip** + +In the following example, integer-formatted IP is banned: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_bans","params":{"bans":[{"ip":838969536,"ban":true,"seconds":30}]}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "status": "OK" + } +} +``` + + +### **get_bans** + +Get list of banned IPs. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *bans* - List of banned nodes: + * *host* - string; Banned host (IP in A.B.C.D form). + * *ip* - unsigned int; Banned IP address, in Int format. + * *seconds* - unsigned int; Local Unix time that IP is banned until. +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_bans"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "bans": [{ + "host": "102.168.1.51", + "ip": 855746662, + "seconds": 22 + },{ + "host": "192.168.1.50", + "ip": 838969536, + "seconds": 28 + }], + "status": "OK" + } +} +``` + + +### **flush_txpool** + +Flush tx ids from transaction pool + +Alias: *None*. + +Inputs: + +* *txids* - array of strings; Optional, list of transactions IDs to flush from pool (all tx ids flushed if empty). + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"flush_txpool","params":{"txids":["dc16fa8eaffe1484ca9014ea050e13131d3acf23b419f33bb4cc0b32b6c49308",""]}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "status": "OK" + } +} +``` + +### **get_output_histogram** + +Get a histogram of output amounts. For all amounts (possibly filtered by parameters), gives the number of outputs on the chain for that amount. +RingCT outputs counts as 0 amount. + +Inputs: + +* *amounts* - list of unsigned int +* *min_count* - unsigned int +* *max_count* - unsigned int +* *unlocked* - boolean +* *recent_cutoff* - unsigned int + +Outputs: + +* *histogram* - list of histogram entries, in the following structure: + * *amount* - unsigned int; Output amount in @atomic-units + * *total_instances* - unsigned int; + * *unlocked_instances* - unsigned int; + * *recent_instances* - unsigned int; +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_output_histogram","params":{"amounts":[20000000000]}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "histogram": [{ + "amount": 20000000000, + "recent_instances": 0, + "total_instances": 381458, + "unlocked_instances": 0 + }], + "status": "OK", + "untrusted": false + } +} +``` + + +### **get_coinbase_tx_sum** + +Get the coinbase ammount and the fees ammount for n last blocks starting at particular height + +Alias: *None*. + +Inputs: + +* *height* - unsigned int; Block height from which getting the amounts +* *count* - unsigned int; number of blocks to include in the sum + +Outputs: + +* *emission_amount* - unsigned int; amount of coinbase reward in @atomic-units +* *fee_amount* - unsigned int; amount of fees in @atomic-units +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_coinbase_tx_sum","params":{"height":1563078,"count":2}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "emission_amount": 9387854817320, + "fee_amount": 83981380000, + "status": "OK" + } +} +``` + + +### **get_version** + +Give the node current version + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). +* *version* - unsigned int; + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_version"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "status": "OK", + "untrusted": false, + "version": 65555 + } +} +``` + + +### **get_fee_estimate** + +Gives an estimation on fees per kB. + +Alias: *None*. + +Inputs: + +* *grace_blocks* - unsigned int; Optional + +Outputs: + +* *fee* - unsigned int; Amount of fees estimated per kB in @atomic-units +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_fee_estimate"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "fee": 187610000, + "status": "OK", + "untrusted": false + } +} +``` + + +### **get_alternate_chains** + +Display alternative chains seen by the node. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *chains* - array of chains, the following structure: + * *block_hash* - string; the block hash of the first diverging block of this alternative chain. + * *difficulty* - unsigned int; the cumulative difficulty of all blocks in the alternative chain. + * *height* - unsigned int; the block height of the first diverging block of this alternative chain. + * *length* - unsigned int; the length in blocks of this alternative chain, after divergence. +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_alternate_chains"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "chains": [{ + "block_hash": "697cf03c89a9b118f7bdf11b1b3a6a028d7b3617d2d0ed91322c5709acf75625", + "difficulty": 14114729638300280, + "height": 1562062, + "length": 2 + }], + "status": "OK" + } +} +``` + + +### **relay_tx** + +Relay a list of transaction IDs. + +Alias: *None*. + +Inputs: + +* *txids* - array of string; list of transaction IDs to relay + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"relay_tx","params":{"txids":[9fd75c429cbe52da9a52f2ffc5fbd107fe7fd2099c0d8de274dc8a67e0c98613]}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "status": "OK" + } +} +``` + + +### **sync_info** + +Get synchronisation informations + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *height* - unsigned int; +* *peers* - array of peer structure, defined as follows: + * *info* - structure of connection info, as defined in [get_connections](#get_connections) +* *spans* - array of span structure, defined as follows (optional, absent if node is fully synced): + * *connection_id* - string; Id of connection + * *nblocks* - unsigned int; number of blocks in that span + * *rate* - unsigned int; connection rate + * *remote_address* - string; peer address the node is downloading (or has downloaded) than span from + * *size* - unsigned int; total number of bytes in that span's blocks (including txes) + * *speed* - unsigned int; connection speed + * *start_block_height* - unsigned int; block height of the first block in that span +* *status* - string; General RPC error code. "OK" means everything looks good. +* *target_height* - unsigned int; target height the node is syncing from (optional, absent if node is fully synced) + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sync_info"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "height": 1563543, + "peers": [{ + "info": { + "address": "70.109.53.128:60064", + "avg_download": 0, + "avg_upload": 5, + "connection_id": "204067223b9b3415c265dd25ad29ee48", + "current_download": 0, + "current_upload": 1, + "height": 1559975, + "host": "70.109.53.128", + "incoming": true, + "ip": "70.109.53.128", + "live_time": 38, + "local_ip": false, + "localhost": false, + "peer_id": "96b8545dbc7a8866", + "port": "60064", + "recv_count": 1580, + "recv_idle_time": 28, + "send_count": 203603, + "send_idle_time": 8, + "state": "state_normal", + "support_flags": 1 + } + },{ + "info": { + ... + } + },{ + ... + },{ + ... + },{ + ... + }], + "status": "OK", + "target_height": 1564067 + } +} +``` + + +### **get_txpool_backlog** + +Get all transaction pool backlog + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *backlog*: array of structures *tx_backlog_entry* (in binary form): + * *blob_size* - unsigned int (in binary form) + * *fee* - unsigned int (in binary form) + * *time_in_pool* - unsigned int (in binary form) +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_txpool_backlog"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "backlog": "...Binary...", + "status": "OK", + "untrusted": false + } +} +``` + + +### **get_output_distribution** + + + +Alias: *None*. + +Inputs: + +* *amounts* - array of unsigned int; amounts to look for +* *cumulative* - boolean; (optional, default is `false`) States if the result should be cumulative (`true`) or not (`false`) +* *from_height* - unsigned int; (optional, default is 0) starting height to check from +* *to_height* - unsigned int; (optional, default is 0) ending height to check up to + +Outputs: + +* *distributions* - array of structure distribution as follows: + * *amount* - unsigned int + * *base* - unsigned int + * *distribution* - array of unsigned int + * *start_height* - unsigned int +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_output_distribution","params":{"amounts":[628780000],"from_height":1462078}}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "distributions": [{ + "amount": 2628780000, + "base": 0, + "distribution": "", + "start_height": 1462078 + }], + "status": "OK" + } +} +``` + + +--- + +## Other Daemon RPC Calls + +Not all daemon RPC calls use the JSON_RPC interface. This section gives examples of these calls. + +The data structure for these calls is different than the JSON RPC calls. Whereas the JSON RPC methods were called using the `/json_rpc` extension and specifying a method, these methods are called at their own extensions. For example: + + IP=127.0.0.1 + PORT=18081 + METHOD='gettransactions' + PARAMS='{"txs_hashes":["d6e48158472848e6687173a91ae6eebfa3e1d778e65252ee99d7515d63090408"]}' + curl \ + -X POST http://$IP:$PORT/$METHOD \ + -d $PARAMS \ + -H 'Content-Type: application/json' + +Note: It is recommended to use JSON RPC where such alternatives exist, rather than the following methods. For example, the recommended way to get a node's height is via the JSON RPC methods [get_info](#getinfo) or [get_last_block_header](#get_last_block_header), rather than [getheight](#getheight) below. + +For calls that end with **.bin**, the data is exchanged in the form of binary, serialized objects, as defined in the [Core RPC Server](https://github.com/monero-project/monero/blob/master/src/rpc/core_rpc_server_commands_defs.h). + + +### **/get_height** + +Get the node's current height. + +Alias: */getheight*. + +Inputs: *None*. + +Outputs: + +* *height* - unsigned int; Current length of longest chain known to daemon. +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +``` +$ curl -X POST http://127.0.0.1:18081/get_height -H 'Content-Type: application/json' + +{ + "height": 1564055, + "status": "OK", + "untrusted": false +} +``` + + + +### **/get_blocks.bin** + +Get all blocks info. Binary request. + +Alias: */getblocks.bin*. + +Inputs: + +* *block_ids* - binary array of hashes; first 10 blocks id goes sequential, next goes in pow(2,n) offset, like 2, 4, 8, 16, 32, 64 and so on, and the last one is always genesis block +* *start_height* - unsigned int +* *prune* - boolean + +Outputs: + +* *blocks* - array of block complete entries +* *current_height* - unsigned int +* *output_indices* - structure as follows: + * *indices* - array of tx output indices, structure as follows: + * *indices* - array of unsigned int +* *start_height* - unsigned int +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + + + +### **/get_blocks_by_height.bin** + +Get blocks by height. Binary request. + +Alias: */getblocks_by_height.bin*. + +Inputs: + +* *heights* - array of unsigned int; list of block heights + +Outputs: + +* *blocks* - array of block complete entries +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + + + + +### **/get_hashes.bin** + +Get hashes. Binary request. + +Alias: */gethashes.bin*. + +Inputs: + +* *block_ids* - binary array of hashes; first 10 blocks id goes sequential, next goes in pow(2,n) offset, like 2, 4, 8, 16, 32, 64 and so on, and the last one is always genesis block +* *start_height* - unsigned int + +Outputs: + +* *current_height* - unsigned int +* *m_block_ids* - binary array of hashes; see *block_ids* above. +* *start_height* - unsigned int +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + + + + +### **/get_o_indexes.bin** + +Get global outputs of transactions. Binary request. + +Alias: *None*. + +Inputs: + +* *txid* - binary txid + +Outputs: + +* *o_indexes* - array of unsigned int; List of output indexes +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + + + + +### **/get_outs.bin** + +Get outputs. Binary request. + +Alias: *None*. + +Inputs: + +* *outputs* - array of structure *get_outputs_out* as follows: + * *amount* - unsigned int; + * *index* - unsigned int; + +Outputs: + +* *outs* - array of structure *outkey* as follows: + * *amount* - unsigned int; + * *height* - unsigned int; block height of the output + * *key* - the public key of the output + * *mask* + * *txid* - transaction id + * *unlocked* - boolean; States if output is locked (`false`) or not (`true`) +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + + + + +### **/get_transactions** + +Look up one or more transactions by hash. + +Alias: */gettransactions*. + +Inputs: + +* *txs_hashes* - string list; List of transaction hashes to look up. +* *decode_as_json* - boolean; Optional (`false` by default). If set `true`, the returned transaction information will be decoded rather than binary. +* *prune* - boolean; Optional (`false` by default). + +Outputs: + +* *missed_tx* - array of strings. (Optional - returned if not empty) Transaction hashes that could not be found. +* *status* - General RPC error code. "OK" means everything looks good. +* *txs* - array of structure *entry* as follows: + * *as_hex* - string; Full transaction information as a hex string. + * *as_json* - json string; List of transaction info: + * *version* - Transaction version + * *unlock_time* - If not 0, this tells when a transaction output is spendable. + * *vin* - List of inputs into transaction: + * *key* - The public key of the previous output spent in this transaction. + * *amount* - The amount of the input, in @atomic-units. + * *key_offsets* - A list of integer offets to the input. + * *k_image* - The key image for the given input + * *vout* - List of outputs from transaction: + * *amount* - Amount of transaction output, in @atomic-units. + * *target* - Output destination information: + * *key* - The stealth public key of the receiver. Whoever owns the private key associated with this key controls this transaction output. + * *extra* - Usually called the "payment ID" but can be used to include any random 32 bytes. + * *signatures* - List of signatures used in ring signature to hide the true origin of the transaction. + * *block_height* - unsigned int; block height including the transaction + * *block_timestamp* - unsigned int; Unix time at chich the block has been added to the blockchain + * *double_spend_seen* - boolean; States if the transaction is a double-spend (`true`) or not (`false`) + * *in_pool* - boolean; States if the transaction is in pool (`true`) or included in a block (`false`) + * *output_indices* - array of unsigned int; transaction indexes + * *tx_hash* - string; transaction hash +* *txs_as_hex* - string; Full transaction information as a hex string (old compatibility parameter) +* *txs_as_json* - json string; (Optional - returned if set in inputs. Old compatibility parameter) List of transaction as in *as_json* above: + +Example 1: Return transaction information in binary format. + +``` +$ curl -X POST http://127.0.0.1:18081/get_transactions -d '{"txs_hashes":["d6e48158472848e6687173a91ae6eebfa3e1d778e65252ee99d7515d63090408"]}' -H 'Content-Type: application/json' + +{ + "status": "OK", + "txs": [{ + "as_hex": "...", + "as_json": "", + "block_height": 993442, + "block_timestamp": 1457749396, + "double_spend_seen": false, + "in_pool": false, + "output_indices": [198769,418598,176616,50345,509], + "tx_hash": "d6e48158472848e6687173a91ae6eebfa3e1d778e65252ee99d7515d63090408" + }], + "txs_as_hex": ["..."], + "untrusted": false +} +``` + +Example 2: Decode returned transaction information in JSON format. Note: the "vin", "vout" and "signatures" list have been truncated in the displayed return for space considerations. + +``` +$ curl -X POST http://127.0.0.1:18081/get_transactions -d '{"txs_hashes":["d6e48158472848e6687173a91ae6eebfa3e1d778e65252ee99d7515d63090408"],"decode_as_json":true}' -H 'Content-Type: application/json' + +{ + "status": "OK", + "txs": [{ + "as_hex": "...", + "as_json": "{\n \"version\": 1, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 9999999999, \n \"key_offsets\": [ 691\n ], \n \"k_image\": \"6ebee1b651a8da723462b4891d471b990ddc226049a0866d3029b8e2f75b7012\"\n }\n }, {\n \"key\": {\n \"amount\": 9000000000000, \n \"key_offsets\": [ 175760\n ], \n \"k_image\": \"200bd02b70ee707441a8863c5279b4e4d9f376dc97a140b1e5bc7d72bc508069\"\n }\n }, ... \n ], \n \"vout\": [ {\n \"amount\": 60000000000, \n \"target\": {\n \"key\": \"8c792dea94dab48160e067fb681edd6247ba375281fbcfedc03cb970f3b98e2d\"\n }\n }, {\n \"amount\": 700000000000, \n \"target\": {\n \"key\": \"1ab33e69737e157d23e33274c42793be06a8711670e73fa10ecebc604f87cc71\"\n }\n }, ... \n ], \n \"extra\": [ 1, 3, 140, 109, 156, 205, 47, 148, 153, 9, 17, 93, 83, 33, 162, 110, 152, 1, 139, 70, 121, 19, 138, 10, 44, 6, 55, 140, 242, 124, 143, 219, 172\n ], \n \"signatures\": [ \"fd82214a59c99d9251fa00126d353f9cf502a80d8993a6c223e3c802a40ab405555637f495903d3ba558312881e586d452e6e95826d8e128345f6c0a8f9f350e\", \"8c04ef50cf34afa3a9ec19c457143496f8cf7045ed869b581f9efa2f1d65e30f1cec5272b00e9c61a34bdd3c78cf82ae8ef4df3132f70861391069b9c255cd08\", ... ]\n}", + "block_height": 993442, + "block_timestamp": 1457749396, + "double_spend_seen": false, + "in_pool": false, + "output_indices": [198769,418598,176616,50345,509], + "tx_hash": "d6e48158472848e6687173a91ae6eebfa3e1d778e65252ee99d7515d63090408" + }], + "txs_as_hex": ["..."], + "txs_as_json": ["{\n \"version\": 1, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 9999999999, \n \"key_offsets\": [ 691\n ], \n \"k_image\": \"6ebee1b651a8da723462b4891d471b990ddc226049a0866d3029b8e2f75b7012\"\n }\n }, {\n \"key\": {\n \"amount\": 9000000000000, \n \"key_offsets\": [ 175760\n ], \n \"k_image\": \"200bd02b70ee707441a8863c5279b4e4d9f376dc97a140b1e5bc7d72bc508069\"\n }\n }, ... \n ], \n \"vout\": [ {\n \"amount\": 60000000000, \n \"target\": {\n \"key\": \"8c792dea94dab48160e067fb681edd6247ba375281fbcfedc03cb970f3b98e2d\"\n }\n }, {\n \"amount\": 700000000000, \n \"target\": {\n \"key\": \"1ab33e69737e157d23e33274c42793be06a8711670e73fa10ecebc604f87cc71\"\n }\n }, ... \n ], \n \"extra\": [ 1, 3, 140, 109, 156, 205, 47, 148, 153, 9, 17, 93, 83, 33, 162, 110, 152, 1, 139, 70, 121, 19, 138, 10, 44, 6, 55, 140, 242, 124, 143, 219, 172\n ], \n \"signatures\": [ \"fd82214a59c99d9251fa00126d353f9cf502a80d8993a6c223e3c802a40ab405555637f495903d3ba558312881e586d452e6e95826d8e128345f6c0a8f9f350e\", \"8c04ef50cf34afa3a9ec19c457143496f8cf7045ed869b581f9efa2f1d65e30f1cec5272b00e9c61a34bdd3c78cf82ae8ef4df3132f70861391069b9c255cd08\", ... ]\n}"], + "untrusted": false +} +``` + +Example 3: Returned a missed (unexisting) transaction. + +``` +curl -X POST http://127.0.0.1:18081/get_transactions -d '{"txs_hashes":["d6e48158472848e6687173a91ae6eebfa3e1d778e65252ee99d7515d63090409"]}' -H 'Content-Type: application/json' + +{ + "missed_tx": ["d6e48158472848e6687173a91ae6eebfa3e1d778e65252ee99d7515d63090409"], + "status": "OK", + "untrusted": false +} +``` + + +### **/get_alt_blocks_hashes** + +Get the known blocks hashes which are not on the main chain. + +Alias: *None*. + +Inputs: *None* + +Outputs: + +* *blks_hashes* - array of strings; list of alternative blocks hashes to main chain +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/get_alt_blocks_hashes -H 'Content-Type: application/json' + +{ + "blks_hashes": ["9c2277c5470234be8b32382cdf8094a103aba4fcd5e875a6fc159dc2ec00e011","637c0e0f0558e284493f38a5fcca3615db59458d90d3a5eff0a18ff59b83f46f","6f3adc174a2e8082819ebb965c96a095e3e8b63929ad9be2d705ad9c086a6b1c","697cf03c89a9b118f7bdf11b1b3a6a028d7b3617d2d0ed91322c5709acf75625","d99b3cf3ac6f17157ac7526782a3c3b9537f89d07e069f9ce7821d74bd9cad0e","e97b62109a6303233dcd697fa8545c9fcbc0bf8ed2268fede57ddfc36d8c939c","70ff822066a53ad64b04885c89bbe5ce3e537cdc1f7fa0dc55317986f01d1788","b0d36b209bd0d4442b55ea2f66b5c633f522401f921f5a85ea6f113fd2988866"], + "status": "OK", + "untrusted": false +} +``` + + +### **/is_key_image_spent** + +Check if outputs have been spent using the key image associated with the output. + +Alias: *None*. + +Inputs: + +* *key_images* - string list; List of key image hex strings to check. + +Outputs: + +* *spent_status* - unsigned int list; List of statuses for each image checked. Statuses are follows: 0 = unspent, 1 = spent in blockchain, 2 = spent in transaction pool +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/is_key_image_spent -d '{"key_images":["8d1bd8181bf7d857bdb281e0153d84cd55a3fcaa57c3e570f4a49f935850b5e3","7319134bfc50668251f5b899c66b005805ee255c136f0e1cecbb0f3a912e09d4"]}' -H 'Content-Type: application/json' + +{ + "spent_status": [1,2], + "status": "OK" + "untrusted": false +} +``` + + +### **/send_raw_transaction** + +Broadcast a raw transaction to the network. + +Alias: */sendrawtransaction*. + +Inputs: + +* *tx_as_hex* - string; Full transaction information as hexidecimal string. +* *do_not_relay* - boolean; Stop relaying transaction to other nodes (default is `false`). + +Outputs: + +* *double_spend* - boolean; Transaction is a double spend (`true`) or not (`false`). +* *fee_too_low* - boolean; Fee is too low (`true`) or OK (`false`). +* *invalid_input* - boolean; Input is invalid (`true`) or valid (`false`). +* *invalid_output* - boolean; Output is invalid (`true`) or valid (`false`). +* *low_mixin* - boolean; Mixin count is too low (`true`) or OK (`false`). +* *not_rct* - boolean; Transaction is a standard ring transaction (`true`) or a ring confidential transaction (`false`). +* *not_relayed* - boolean; Transaction was not relayed (`true`) or relayed (`false`). +* *overspend* - boolean; Transaction uses more money than available (`true`) or not (`false`). +* *reason* - string; Additional information. Currently empty or "Not relayed" if transaction was accepted but not relayed. +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. +* *too_big* - boolean; Transaction size is too big (`true`) or OK (`false`). +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + + +Example (No return information included here.): + + +``` +$ curl -X POST http://127.0.0.1:18081/send_raw_transaction -d '{"tx_as_hex":"de6a3...", "do_not_relay":false}' -H 'Content-Type: application/json' +``` + + +### **/start_mining** + +Start mining on the daemon. + +Alias: *None*. + +Inputs: + +* *do_background_mining* - boolean; States if the mining should run in background (`true`) or foreground (`false`). +* *ignore_battery* - boolean; States if batery state (on laptop) should be ignored (`true`) or not (`false`). +* *miner_address* - string; Account address to mine to. +* *threads_count* - unsigned int; Number of mining thread to run. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/start_mining -d '{"do_background_mining":false,"ignore_battery":true,"miner_address":"47xu3gQpF569au9C2ajo5SSMrWji6xnoE5vhr94EzFRaKAGw6hEGFXYAwVADKuRpzsjiU1PtmaVgcjUJF89ghGPhUXkndHc","threads_count":1}' -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/stop_mining** + +Stop mining on the daemon. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/stop_mining -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/mining_status** + +Get the mining status of the daemon. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *active* - boolean; States if mining is enabled (`true`) or disabled (`false`). +* *address* - string; Account address daemon is mining to. Empty if not mining. +* *is_background_mining_enabled* - boolean; States if the mining is running in background (`true`) or foreground (`false`). +* *speed* - unsigned int; Mining power in hashes per seconds. +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. +* *threads_count* - unsigned int; Number of running mining threads. + +Example while mining: + +``` +$ curl -X POST http://127.0.0.1:18081/mining_status -H 'Content-Type: application/json' + +{ + "active": true, + "address": "47xu3gQpF569au9C2ajo5SSMrWji6xnoE5vhr94EzFRaKAGw6hEGFXYAwVADKuRpzsjiU1PtmaVgcjUJF89ghGPhUXkndHc", + "is_background_mining_enabled": false, + "speed": 20, + "status": "OK", + "threads_count": 1 +} +``` + +Example while not mining: + +``` +$ curl -X POST http://127.0.0.1:18081/mining_status -H 'Content-Type: application/json' + +{ + "active": false, + "address": "", + "is_background_mining_enabled": false, + "speed": 0, + "status": "OK", + "threads_count": 0 +} +``` + + +### **/save_bc** + +Save the blockchain. The blockchain does not need saving and is always saved when modified, however it does a sync to flush the filesystem cache onto the disk for safety purposes against Operating System or Harware crashes. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/save_bc -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/get_peer_list** + +Get the known peers list. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *gray_list* - array of offline *peer* structure as follows: + * *host* - unsigned int; IP address in integer format + * *id* - string; Peer id + * *ip* - unsigned int; IP address in integer format + * *last_seen* - unsigned int; unix time at which the peer has been seen for the last time + * *port* - unsigned int; TCP port the peer is using to connect to monero network. +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. +* *white_list* - array of online *peer* structure, as above. + +Example (truncated lists): + +``` +$ curl -X POST http://127.0.0.1:18081/get_peer_list -H 'Content-Type: application/json' + +{ + "gray_list": [{ + "host": "640304833", + "id": 5345237316225602120, + "ip": 640304833, + "last_seen": 1525540510, + "port": 18080 + },{ + "host": "2183731038", + "id": 14955030573998424430, + "ip": 2183731038, + "last_seen": 1525540499, + "port": 28080 + }, ... + ], + "status": "OK", + "white_list": [{ + "host": "1221637955", + "id": 10354694710033118926, + "ip": 1221637955, + "last_seen": 1525540511, + "port": 18080 + },{ + "host": "1780407354", + "id": 17193661050352240890, + "ip": 1780407354, + "last_seen": 1525540510, + "port": 18080 + }, ... + ] +} +``` + + +### **/set_log_hash_rate** + +Set the log hash rate display mode. + +Alias: *None*. + +Inputs: + +* *visible* - boolean; States if hash rate logs should be visible (`true`) or hidden (`false`) + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. + +Example while mining: + +``` +$ curl -X POST http://127.0.0.1:18081/set_log_hash_rate -d '{"visible":true}' -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + +Error while not mining: + +``` +$ curl -X POST http://127.0.0.1:18081/set_log_hash_rate -d '{"visible":true}' -H 'Content-Type: application/json' + +{ + "status": "NOT MINING" +} +``` + + +### **/set_log_level** + +Set the daemon log level. +By default, log level is set to `0`. + +Alias: *None*. + +Inputs: + +* *level* - integer; daemon log level to set from `0` (less verbose) to `4` (most verbose) + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/set_log_level -d '{"level":1}' -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/set_log_categories** + +Set the daemon log categories. +Categories are represented as a comma separated list of `:` (similarly to syslog standard `:`), where: +* *Category* is one of the following: + * *\** - All facilities + * *default* + * *net* + * *net.http* + * *net.p2p* + * *logging* + * *net.throttle* + * *blockchain.db* + * *blockchain.db.lmdb* + * *bcutil* + * *checkpoints* + * *net.dns* + * *net.dl* + * *i18n* + * *perf* + * *stacktrace* + * *updates* + * *account* + * *cn* + * *difficulty* + * *hardfork* + * *miner* + * *blockchain* + * *txpool* + * *cn.block_queue* + * *net.cn* + * *daemon* + * *debugtools.deserialize* + * *debugtools.objectsizes* + * *device.ledger* + * *wallet.gen_multisig* + * *multisig* + * *bulletproofs* + * *ringct* + * *daemon.rpc* + * *wallet.simplewallet* + * *WalletAPI* + * *wallet.ringdb* + * *wallet.wallet2* + * *wallet.rpc* + * *tests.core* +* *Level* is one of the following: + * *FATAL* - higher level + * *ERROR* + * *WARNING* + * *INFO* + * *DEBUG* + * *TRACE* - lower level +A level automatically includes higher level. +By default, categories are set to `*:WARNING,net:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,stacktrace:INFO,logging:INFO,msgwriter:INFO`. +Setting the categories to "" prevent any logs to be outputed. + +Alias: *None*. + +Inputs: + +* *categories* - string; Optional, daemon log categories to enable + +Outputs: + +* *categories* - string; daemon log enabled categories +* *status* - string; General RPC error code. "OK" means everything looks good. Any other value means that something went wrong. + +Example to set all facilities to Security Level `Info`: + +``` +$ curl -X POST http://127.0.0.1:18081/set_log_categories -d '{"categories": "*:INFO"}' -H 'Content-Type: application/json' + +{ + "categories": "*:INFO", + "status": "OK" +} +``` + +Example without input to set the default categories: + +``` +$ curl -X POST http://127.0.0.1:18081/set_log_categories -H 'Content-Type: application/json' + +{ + "categories": "*:WARNING,net:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,stacktrace:INFO,logging:INFO,msgwriter:INFO", + "status": "OK" +} +``` + + +### **/get_transaction_pool** + +Show information about valid transactions seen by the node but not yet mined into a block, as well as spent key image information for the txpool in the node's memory. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *spent_key_images* - List of spent output key images: + * *id_hash* - string; Key image. + * *txs_hashes* - string list; tx hashes of the txes (usually one) spending that key image. +* *status* - string; General RPC error code. "OK" means everything looks good. +* *transactions* - List of transactions in the mempool are not in a block on the main chain at the moment: + * *blob_size* - unsigned int; The size of the full transaction blob. + * *double_spend_seen* - boolean; States if this transaction has been seen as double spend. + * *do_not_relay*; boolean; States if this transaction should not be relayed + * *fee* - unsigned int; The amount of the mining fee included in the transaction, in @atomic-units. + * *id_hash* - string; The transaction ID hash. + * *kept_by_block* - boolean; States if the tx was included in a block at least once (`true`) or not (`false`). + * *last_failed_height* - unsigned int; If the transaction validation has previously failed, this tells at what height that occured. + * *last_failed_id_hash* - string; Like the previous, this tells the previous transaction ID hash. + * *last_relayed_time* - unsigned int; Last unix time at which the transaction has been relayed. + * *max_used_block_height* - unsigned int; Tells the height of the most recent block with an output used in this transaction. + * *max_used_block_hash* - string; Tells the hash of the most recent block with an output used in this transaction. + * *receive_time* - unsigned int; The Unix time that the transaction was first seen on the network by the node. + * *relayed* - boolean; States if this transaction has been relayed + * *tx_blob* - unsigned int; Hexadecimal blob represnting the transaction. + * *tx_json* - json string; JSON structure of all information in the transaction: + * *version* - Transaction version + * *unlock_time* - If not 0, this tells when a transaction output is spendable. + * *vin* - List of inputs into transaction: + * *key* - The public key of the previous output spent in this transaction. + * *amount* - The amount of the input, in @atomic-units. + * *key_offsets* - A list of integer offets to the input. + * *k_image* - The key image for the given input + * *vout* - List of outputs from transaction: + * *amount* - Amount of transaction output, in @atomic-units. + * *target* - Output destination information: + * *key* - The stealth public key of the receiver. Whoever owns the private key associated with this key controls this transaction output. + * *extra* - Usually called the "transaction ID" but can be used to include any random 32 bytes. + * *rct_signatures* - Ring signatures: + * *type* + * *txnFee* + * *ecdhInfo* - array of Diffie Helman Elipctic curves structures as follows: + * *mask* - String + * *amount* - String + * *outPk* + * *rctsig_prunable* + * *rangeSigs* - array of structures as follows: + * *asig* + * *Ci* + * *MGs* - array of structures as follows: + * *ss* - array of arrays of two strings. + * *cc* - String + +Example (Note: Some lists in the returned information have been truncated for display reasons): + +``` +$ curl -X POST http://127.0.0.1:18081/get_transaction_pool -H 'Content-Type: application/json' + +{ + "spent_key_images": [{ + "id_hash": "a2af919609db4ff5ab8d4ba18502e647d521760e1cbc30288f06fa87bf9a0c1c", + "txs_hashes": ["1ee6a4873b638711795fc3b0b73fc7146505a09a7f4749534fd408d571a273cf"] + },{ + "id_hash": "02d5f6559e9bca5ae5a335130aeeb05df2db518ab9837fa64ebbab276c100792", + "txs_hashes": ["531aacc0ceb8514cdde5f104285202ccc3e969c77584e3c6fa614c987c583965"] + }, + ...], + "status": "OK", + "transactions": [{ + "blob_size": 13193, + "do_not_relay": false, + "double_spend_seen": false, + "fee": 9694360000, + "id_hash": "f8fb875cfc9e2e59bcf96a42474c79e01d50b69e6548d445d45984f7db66e50f", + "kept_by_block": false, + "last_failed_height": 0, + "last_failed_id_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "last_relayed_time": 1525615049, + "max_used_block_height": 1564924, + "max_used_block_id_hash": "4bae7856979f46c7de31f3fb58cac36d4dfd2765bf33f876edf33d0e05ebb4a7", + "receive_time": 1525615049, + "relayed": true, + "tx_blob": " ... ", + "tx_json": "{\n \"version\": 2, \n \"unlock_time\": 0, \n \"vin\": [ {\n \"key\": {\n \"amount\": 0, \n \"key_offsets\": [ 2630347, 594429, 1047509, 758973, 464501, 61971, 22268\n ], \n \"k_image\": \"0731363c58dd4492f031fa20c82fe6ddcb9cc070d73938afe8a5f7f77897f8b4\"\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 0, \n \"target\": {\n \"key\": \"f3b3dd09483616e343b9866eed50a0ce01d5c0d0f2612ce2c4d0e9cce5c218cd\"\n }\n }, {\n \"amount\": 0, \n \"target\": {\n \"key\": \"9796f2d477a696b6282bf3cb1a41cefba0c4604eedcc2e7a44904d7033643e0e\"\n }\n }\n ], \n \"extra\": [ 1, 25, 228, 80, 5, 214, 117, 150, 9, 125, 98, 17, 113, 208, 89, 223, 242, 227, 188, 197, 141, 190, 135, 140, 152, 117, 240, 150, 21, 93, 62, 108, 124\n ], \n \"rct_signatures\": {\n \"type\": 1, \n \"txnFee\": 9694360000, \n \"ecdhInfo\": [ {\n \"mask\": \"645f06a2816aecf83d5041c3320eb31092b994fb2733bb74c8c47e288d452c04\", \n \"amount\": \"3908f14d39dcb3831331cb255eeadc5b0aea0143645b9cd3034abf613995740d\"\n }, {\n \"mask\": \"0785b5df0a994b14d59da810503a022721d8f629720f526e15bd848ad3c2c509\", \n \"amount\": \"fbd81cf2368dcd742905ded5287457030467aaf5bc9939e13f1d6bf8d4c8ca09\"\n }], \n \"outPk\": [ \"c19f5fa052859126e0eed0e3c860aadab049677b2b3dd14cc74d02f92f1d013f\", \"1581ef6368de1608ea366566b88272db220479cf215f6d88d7b60ec221d11e0a\"]\n }, \n \"rctsig_prunable\": {\n \"rangeSigs\": [ {\n \"asig\": \" ... \", \n \"Ci\": \" .. \"\n }, {\n \"asig\": \" ... \", \n \"Ci\": \" ... \"\n }], \n \"MGs\": [ {\n \"ss\": [ [ \"218a10a29e0f66e5a324af67b7734708a8a4cc8f16b28acd8cda538aaa495a02\", \"b368b4e956df5808c5c257f0dc3f7eff8c28463d0bb20759d19977fa02d6f205\"], [ \"f741d2c96bc23b362b4155a03fb6f1351ab5bf4445a43b3e52ba776f526af305\", \"a10ad1ee80dce3f311dd3dc141803daeecaa4d2a25a390cd9c35e4161b7c9e0c\"], + ...], \n \"cc\": \"e93801b707261ca76e146fdf2085abae71ad9203a00edc843c74f4ead8a39601\"\n }]\n }\n}" + }, + ...] +} +``` + + +### **/get_transaction_pool_hashes.bin** + +Get hashes from transaction pool. Binary request. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. +* *tx_hashes* - binary array of transaction hashes. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/get_transaction_pool_hashes.bin -H 'Content-Type: application/json' + +{ + "status": "OK", + "tx_hashes": " ... ", + "untrusted": false +} +``` + + +### **/get_transaction_pool_stats** + +Get the transaction pool statistics. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *pool_stats* - Structure as follows: + * *bytes_max* - unsigned int; Max transaction size in pool + * *bytes_med* - unsigned int; Median transaction size in pool + * *bytes_min* - unsigned int; Min transaction size in pool + * *bytes_total* - unsigned int; total size of all transactions in pool + * *histo* - structure *txpool_histo* as follows: + * *txs* - unsigned int; number of transactions + * *bytes* - unsigned int; size in bytes. + * *histo_98pc* unsigned int; the time 98% of txes are "younger" than + * *num_10m* unsigned int; number of transactions in pool for more than 10 minutes + * *num_double_spends* unsigned int; number of double spend transactions + * *num_failing* unsigned int; number of failing transactions + * *num_not_relayed* unsigned int; number of non-relayed transactions + * *oldest* unsigned int; unix time of the oldest transaction in the pool + * *txs_total* unsigned int; total number of transactions. +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/get_transaction_pool_stats -H 'Content-Type: application/json' + +{ + "pool_stats": { + "bytes_max": 47222, + "bytes_med": 13290, + "bytes_min": 13092, + "bytes_total": 449511, + "fee_total": 289715320000, + "histo": "\t▒'▒5▒4▒\/▒▒▒$3", + "histo_98pc": 0, + "num_10m": 18, + "num_double_spends": 1, + "num_failing": 17, + "num_not_relayed": 0, + "oldest": 1525457001, + "txs_total": 26 + }, + "status": "OK", + "untrusted": false +} +``` + + +### **/stop_daemon** + +Send a command to the daemon to safely disconnect and shut down. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/stop_daemon -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/get_info (not JSON)** + +This method is a convenient backward support and should not be used anymore. See [get_info](#get_info) JSON RPC for details. + +Alias: + +* */getinfo* +* *get_info* + + +### **/get_limit** + +Get daemon bandwidth limits. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *limit_down* - unsigned int; Download limit in kBytes per second +* *limit_up* - unsigned int; Upload limit in kBytes per second +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/get_limit -H 'Content-Type: application/json' + +{ + "limit_down": 8192, + "limit_up": 128, + "status": "OK", + "untrusted": false +} +``` + + +### **/set_limit** + +Set daemon bandwidth limits. + +Alias: *None*. + +Inputs: + +* *limit_down* - signed int; Download limit in kBytes per second (-1 reset to default, 0 don't change the current limit) +* *limit_up* - signed int; Upload limit in kBytes per second (-1 reset to default, 0 don't change the current limit) + +Outputs: + +* *limit_down* - unsigned int; Download limit in kBytes per second +* *limit_up* - unsigned int; Upload limit in kBytes per second +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/set_limit -d '{"limit_down": 1024}' -H 'Content-Type: application/json' + +{ + "limit_down": 1024, + "limit_up": 128, + "status": "OK" +} +``` + + +### **/out_peers** + +Limit number of Outgoing peers. + +Alias: *None*. + +Inputs: + +* *out_peers* - unsigned int; Max number of outgoing peers + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/out_peers -d '{"out_peers": 3232235535}' -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/in_peers** + +Limit number of Incoming peers. + +Alias: *None*. + +Inputs: + +* *in_peers* - unsigned int; Max number of incoming peers + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/out_peers -d '{"in_peers": 3232235535}' -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/start_save_graph** + +Obsolete. Conserved here for reference. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/start_save_graph -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/stop_save_graph** + +Obsolete. Conserved here for reference. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *status* - string; General RPC error code. "OK" means everything looks good. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/stop_save_graph -H 'Content-Type: application/json' + +{ + "status": "OK" +} +``` + + +### **/get_outs** + +Get outputs. + +Alias: *None*. + +Inputs: + +* *outputs* array of *get_outputs_out* structure as follows: + * *amount* - unsigned int; + * *index* - unsigned int; + +Outputs: + +* *outs* - array of structure *outkey* as follows: + * *height* - unsigned int; block height of the output + * *key* - String; the public key of the output + * *mask* - String + * *txid* - String; transaction id + * *unlocked* - boolean; States if output is locked (`false`) or not (`true`) +* *status* - string; General RPC error code. "OK" means everything looks good. +* *untrusted* - boolean; States if the result is obtained using the bootstrap mode, and is therefore not trusted (`true`), or when the daemon is fully synced (`false`). + + +### **/update** + +Update daemon. + +Alias: *None*. + +Inputs: + +* *command* - String; command to use, either `check` or `download` +* *path* - String; Optional, path where to download the update. + +Outputs: + +* *auto_uri* - string; +* *hash* - string; +* *path* - String; path to download the update +* *status* - string; General RPC error code. "OK" means everything looks good. +* *update* - boolean; States if an update is available to download (`true`) or not (`false`) +* *user_uri* - string; +* *version* - string; Version available for download. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18081/update -d '{"command":"check"}' -H 'Content-Type: application/json' + +{ + "auto_uri": "", + "hash": "", + "path": "", + "status": "OK", + "update": false, + "user_uri": "", + "version": "" +} +``` + diff --git a/_i18n/de/resources/developer-guides/wallet-rpc.md b/_i18n/de/resources/developer-guides/wallet-rpc.md new file mode 100644 index 00000000..5290b133 --- /dev/null +++ b/_i18n/de/resources/developer-guides/wallet-rpc.md @@ -0,0 +1,2733 @@ +{% assign version = '2.1.0' | split: '.' %} +{% include untranslated.html %} +## Introduction + +This is a list of the monero-wallet-rpc calls, their inputs and outputs, and examples of each. The program monero-wallet-rpc replaced the rpc interface that was in simplewallet and then monero-wallet-cli. + +All monero-wallet-rpc methods use the same JSON RPC interface. For example: + +``` +IP=127.0.0.1 +PORT=18082 +METHOD="make_integrated_address" +PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}" +curl \ + -X POST http://$IP:$PORT/json_rpc \ + -d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \ + -H 'Content-Type: application/json' +``` + +If the monero-wallet-rpc was executed with the `--rpc-login` argument as `username:password`, then follow this example: + +``` +IP=127.0.0.1 +PORT=18082 +METHOD="make_integrated_address" +PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}" +curl \ + -u username:password --digest \ + -X POST http://$IP:$PORT/json_rpc \ + -d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \ + -H 'Content-Type: application/json' +``` + +Note: "@atomic-units" refer to the smallest fraction of 1 XMR according to the monerod implementation. **1 XMR = 1e12 @atomic-units.** + +This list has been updated on a frozen code on 2018-09-14 after merged commit bb30a7236725e456138f055f96a634c75ce2b491 (Wallet RPC version 1.3), and at block height 1643308. + +### Index of JSON RPC Methods: + +* [get_balance](#get_balance) +* [get_address](#get_address) +* [get_address_index](#get_address_index) +* [create_address](#create_address) +* [label_address](#label_address) +* [get_accounts](#get_accounts) +* [create_account](#create_account) +* [label_account](#label_account) +* [get_account_tags](#get_account_tags) +* [tag_accounts](#tag_accounts) +* [untag_accounts](#untag_accounts) +* [set_account_tag_description](#set_account_tag_description) +* [get_height](#get_height) +* [transfer](#transfer) +* [transfer_split](#transfer_split) +* [sign_transfer](#sign_transfer) +* [submit_transfer](#submit_transfer) +* [sweep_dust](#sweep_dust) +* [sweep_all](#sweep_all) +* [sweep_single](#sweep_single) +* [relay_tx](#relay_tx) +* [store](#store) +* [get_payments](#get_payments) +* [get_bulk_payments](#get_bulk_payments) +* [incoming_transfers](#incoming_transfers) +* [query_key](#query_key) +* [make_integrated_address](#make_integrated_address) +* [split_integrated_address](#split_integrated_address) +* [stop_wallet](#stop_wallet) +* [rescan_blockchain](#rescan_blockchain) +* [set_tx_notes](#set_tx_notes) +* [get_tx_notes](#get_tx_notes) +* [set_attribute](#set_attribute) +* [get_attribute](#get_attribute) +* [get_tx_key](#get_tx_key) +* [check_tx_key](#check_tx_key) +* [get_tx_proof](#get_tx_proof) +* [check_tx_proof](#check_tx_proof) +* [get_spend_proof](#get_spend_proof) +* [check_spend_proof](#check_spend_proof) +* [get_reserve_proof](#get_reserve_proof) +* [check_reserve_proof](#check_reserve_proof) +* [get_transfers](#get_transfers) +* [get_transfer_by_txid](#get_transfer_by_txid) +* [sign](#sign) +* [verify](#verify) +* [export_outputs](#export_outputs) +* [import_outputs](#import_outputs) +* [export_key_images](#export_key_images) +* [import_key_images](#import_key_images) +* [make_uri](#make_uri) +* [parse_uri](#parse_uri) +* [get_address_book](#get_address_book) +* [add_address_book](#add_address_book) +* [delete_address_book](#delete_address_book) +* [refresh](#refresh) +* [rescan_spent](#rescan_spent) +* [start_mining](#start_mining) +* [stop_mining](#stop_mining) +* [get_languages](#get_languages) +* [create_wallet](#create_wallet) +* [open_wallet](#open_wallet) +* [close_wallet](#close_wallet) +* [change_wallet_password](#change_wallet_password) +* [is_multisig](#is_multisig) +* [prepare_multisig](#prepare_multisig) +* [make_multisig](#make_multisig) +* [export_multisig_info](#export_multisig_info) +* [import_multisig_info](#import_multisig_info) +* [finalize_multisig](#finalize_multisig) +* [sign_multisig](#sign_multisig) +* [submit_multisig](#submit_multisig) +* [get_version](#get_version) + +--- + +## JSON RPC Methods: + +### **get_balance** + +Return the wallet's balance. + +Alias: *getbalance*. + +Inputs: + +* *account_index* - unsigned int; Return balance for this account. +* *address_indices* - array of unsigned int; (Optional) Return balance detail for those subaddresses. + +Outputs: + +* *balance* - unsigned int; The total balance of the current monero-wallet-rpc in session. +* *unlocked_balance* - unsigned int; Unlocked funds are those funds that are sufficiently deep enough in the Monero blockchain to be considered safe to spend. +* *multisig_import_needed* - boolean; True if importing multisig data is needed for returning a correct balance. +* *per_subaddress* - array of subaddress information; Balance information for each subaddress in an account. + * *address_index* - unsigned int; Index of the subaddress in the account. + * *address* - string; Address at this index. Base58 representation of the public keys. + * *balance* - unsigned int; Balance for the subaddress (locked or unlocked). + * *unlocked_balance* - unsigned int; Unlocked balance for the subaddress. + * *label* - string; Label for the subaddress. + * *num_unspent_outputs* - unsigned int; Number of unspent outputs available for the subaddress. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_balance","params":{"account_index":0,"address_indices":[0,1]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "balance": 157443303037455077, + "multisig_import_needed": false, + "per_subaddress": [{ + "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "address_index": 0, + "balance": 157360317826255077, + "label": "Primary account", + "num_unspent_outputs": 5281, + "unlocked_balance": 157360317826255077 + },{ + "address": "7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o", + "address_index": 1, + "balance": 59985211200000, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 59985211200000 + }], + "unlocked_balance": 157443303037455077 + } +} +``` + + +### **get_address** + +Return the wallet's addresses for an account. Optionally filter for specific set of subaddresses. + +Alias: *getaddress*. + +Inputs: + +* *account_index* - unsigned int; Return subaddresses for this account. +* *address_index* - array of unsigned int; (Optional) List of subaddresses to return from an account. + +Outputs: + +* *address* - string; The 95-character hex address string of the monero-wallet-rpc in session. +* *addresses* array of addresses informations + * *address* string; The 95-character hex (sub)address string. + * *label* string; Label of the (sub)address + * *address_index* unsigned int; index of the subaddress + * *used* boolean; states if the (sub)address has already received funds + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address","params":{"account_index":0,"address_index":[0,1,4]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "addresses": [{ + "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "address_index": 0, + "label": "Primary account", + "used": true + },{ + "address": "7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o", + "address_index": 1, + "label": "", + "used": true + },{ + "address": "77xa6Dha7kzCQuvmd8iB5VYoMkdenwCNRU9khGhExXQ8KLL3z1N1ZATBD1sFPenyHWT9cm4fVFnCAUApY53peuoZFtwZiw5", + "address_index": 4, + "label": "test2", + "used": true + }] + } +} +``` + + + +### **get_address_index** + +Get account and address indexes from a specific (sub)address + +Alias: *None*. + +Inputs: + +* *address* - String; (sub)address to look for. + +Outputs: + +* *index* - subaddress informations + * *major* unsigned int; Account index. + * *minor* unsigned int; Address index. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address_index","params":{"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "index": { + "major": 0, + "minor": 1 + } + } +} +``` + + +### **create_address** + +Create a new address for an account. Optionally, label the new address. + +Alias: *None*. + +Inputs: + +* *account_index* - unsigned int; Create a new address for this account. +* *label* - string; (Optional) Label for the new address. + +Outputs: + +* *address* - string; Newly created address. Base58 representation of the public keys. +* *address_index* - unsigned int; Index of the new address under the input account. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_address","params":{"account_index":0,"label":"new-sub"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "address": "7BG5jr9QS5sGMdpbBrZEwVLZjSKJGJBsXdZLt8wiXyhhLjy7x2LZxsrAnHTgD8oG46ZtLjUGic2pWc96GFkGNPQQDA3Dt7Q", + "address_index": 5 + } +} +``` + + +### **label_address** + +Label an address. + +Alias: *None*. + +Inputs: + +* *index* - subaddress index; JSON Object containing the major & minor address index: + * *major* - unsigned int; Account index for the subaddress. + * *minor* - unsigned int; Index of the subaddress in the account. +* *label* - string; Label for the address. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_address","params":{"index":{"major":0,"minor":5},"label":"myLabel"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + +### **get_accounts** + +Get all accounts for a wallet. Optionally filter accounts by tag. + +Alias: *None*. + +Inputs: + +* *tag* - string; (Optional) Tag for filtering accounts. + +Outputs: + +* *subaddress_accounts* - array of subaddress account information: + * *account_index* - unsigned int; Index of the account. + * *balance* - unsigned int; Balance of the account (locked or unlocked). + * *base_address* - string; Base64 representation of the first subaddress in the account. + * *label* - string; (Optional) Label of the account. + * *tag* - string; (Optional) Tag for filtering accounts. + * *unlocked_balance* - unsigned int; Unlocked balance for the account. +* *total_balance* - unsigned int; Total balance of the selected accounts (locked or unlocked). +* *total_unlocked_balance* - unsigned int; Total unlocked balance of the selected accounts. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_accounts","params":{"tag":"myTag"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "subaddress_accounts": [{ + "account_index": 0, + "balance": 157663195572433688, + "base_address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "label": "Primary account", + "tag": "myTag", + "unlocked_balance": 157443303037455077 + },{ + "account_index": 1, + "balance": 0, + "base_address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp", + "label": "Secondary account", + "tag": "myTag", + "unlocked_balance": 0 + }], + "total_balance": 157663195572433688, + "total_unlocked_balance": 157443303037455077 + } +} +``` + + +### **create_account** + +Create a new account with an optional label. + +Alias: *None*. + +Inputs: + +* *label* - string; (Optional) Label for the account. + +Outputs: + +* *account_index* - unsigned int; Index of the new account. +* *address* - string; Address for this account. Base58 representation of the public keys. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_account","params":{"label":"Secondary account"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "account_index": 1, + "address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp" + } +} +``` + + +### **label_account** + +Label an account. + +Alias: *None*. + +Inputs: + +* *account_index* - unsigned int; Apply label to account at this index. +* *label* - string; Label for the account. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_account","params":{"account_index":0,"label":"Primary account"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "account_tags": [{ + "accounts": [0,1], + "label": "", + "tag": "myTag" + }] + } +} +``` + + +### **get_account_tags** + +Get a list of user-defined account tags. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *account_tags* - array of account tag information: + * *tag* - string; Filter tag. + * *label* - string; Label for the tag. + * *accounts* - array of int; List of tagged account indices. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_account_tags","params":""}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "account_tags": [{ + "accounts": [0], + "label": "Test tag", + "tag": "myTag" + }] + } +} +``` + + +### **tag_accounts** + +Apply a filtering tag to a list of accounts. + +Alias: *None*. + +Inputs: + +* *tag* - string; Tag for the accounts. +* *accounts* - array of unsigned int; Tag this list of accounts. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"tag_accounts","params":{"tag":"myTag","accounts":[0,1]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **untag_accounts** + +Remove filtering tag from a list of accounts. + +Alias: *None*. + +Inputs: + +* *accounts* - array of unsigned int; Remove tag from this list of accounts. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"untag_accounts","params":{"accounts":[1]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **set_account_tag_description** + +Set description for an account tag. + +Alias: *None*. + +Inputs: + +* *tag* - string; Set a description for this tag. +* *description* - string; Description for the tag. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_account_tag_description","params":{"tag":"myTag","description":"Test tag"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **get_height** + +Returns the wallet's current block height. + +Alias: *getheight*. + +Inputs: *None*. + +Outputs: + +* *height* - unsigned int; The current monero-wallet-rpc's blockchain height. If the wallet has been offline for a long time, it may need to catch up with the daemon. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "height": 145545 + } +} +``` + + +### **transfer** + +Send monero to a number of recipients. + +Alias: *None*. + +Inputs: + +* *destinations* - array of destinations to receive XMR: + * *amount* - unsigned int; Amount to send to each destination, in @atomic-units. + * *address* - string; Destination public address. +* *account_index* - unsigned int; (Optional) Transfer from this account index. (Defaults to 0) +* *subaddr_indices* - array of unsigned int; (Optional) Transfer from this set of subaddresses. (Defaults to 0) +* *priority* - unsigned int; Set a priority for the transaction. Accepted Values are: 0-3 for: default, unimportant, normal, elevated, priority. +* *mixin* - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing). +* *ring_size* - unsigned int; Number of outputs to mix in the transaction (this output + N decoys from the blockchain). +* *unlock_time* - unsigned int; Number of blocks before the monero can be spent (0 to not add a lock). +* *payment_id* - string; (Optional) Random 32-byte/64-character hex string to identify a transaction. +* *get_tx_key* - boolean; (Optional) Return the transaction key after sending. +* *do_not_relay* - boolean; (Optional) If true, the newly created transaction will not be relayed to the monero network. (Defaults to false) +* *get_tx_hex* - boolean; Return the transaction as hex string after sending (Defaults to false) +* *get_tx_metadata* - boolean; Return the metadata needed to relay the transaction. (Defaults to false) + + +Outputs: + +* *amount* - Amount transferred for the transaction. +* *fee* - Integer value of the fee charged for the txn. +* *multisig_txset* - Set of multisig transactions in the process of being signed (empty for non-multisig). +* *tx_blob* - Raw transaction represented as hex string, if get_tx_hex is true. +* *tx_hash* - String for the publically searchable transaction hash. +* *tx_key* - String for the transaction key if get_tx_key is true, otherwise, blank string. +* *tx_metadata* - Set of transaction metadata needed to relay this transfer later, if get_tx_metadata is true. +* *unsigned_txset* - String. Set of unsigned tx for cold-signing purposes. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params":{"destinations":[{"amount":100000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"},{"amount":200000000000,"address":"75sNpRwUtekcJGejMuLSGA71QFuK1qcCVLZnYRTfQLgFU5nJ7xiAHtR5ihioS53KMe8pBhH61moraZHyLoG4G7fMER8xkNv"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"get_tx_key": true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "amount": 300000000000, + "fee": 86897600000, + "multisig_txset": "", + "tx_blob": "", + "tx_hash": "7663438de4f72b25a0e395b770ea9ecf7108cd2f0c4b75be0b14a103d3362be9", + "tx_key": "25c9d8ec20045c80c93d665c9d3684aab7335f8b2cd02e1ba2638485afd1c70e236c4bdd7a2f1cb511dbf466f13421bdf8df988b7b969c448ca6239d7251490e4bf1bbf9f6ffacffdcdc93b9d1648ec499eada4d6b4e02ce92d4a1c0452e5d009fbbbf15b549df8856205a4c7bda6338d82c823f911acd00cb75850b198c5803", + "tx_metadata": "", + "unsigned_txset": "" + } +} +``` + + +### **transfer_split** + +Same as transfer, but can split into more than one tx if necessary. + +Alias: *None*. + +Inputs: + +* *destinations* - array of destinations to receive XMR: + * *amount* - unsigned int; Amount to send to each destination, in @atomic-units. + * *address* - string; Destination public address. +* *account_index* - unsigned int; (Optional) Transfer from this account index. (Defaults to 0) +* *subaddr_indices* - array of unsigned int; (Optional) Transfer from this set of subaddresses. (Defaults to 0) +* *mixin* - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing). +* *ring_size* - unsigned int; Sets ringsize to n (mixin + 1). +* *unlock_time* - unsigned int; Number of blocks before the monero can be spent (0 to not add a lock). +* *payment_id* - string; (Optional) Random 32-byte/64-character hex string to identify a transaction. +* *get_tx_keys* - boolean; (Optional) Return the transaction keys after sending. +* *priority* - unsigned int; Set a priority for the transactions. Accepted Values are: 0-3 for: default, unimportant, normal, elevated, priority. +* *do_not_relay* - boolean; (Optional) If true, the newly created transaction will not be relayed to the monero network. (Defaults to false) +* *get_tx_hex* - boolean; Return the transactions as hex string after sending +* *new_algorithm* - boolean; True to use the new transaction construction algorithm, defaults to false. +* *get_tx_metadata* - boolean; Return list of transaction metadata needed to relay the transfer later. + +Outputs: + +* *tx_hash_list* - array of: string. The tx hashes of every transaction. +* *tx_key_list* - array of: string. The transaction keys for every transaction. +* *amount_list* - array of: integer. The amount transferred for every transaction. +* *fee_list* - array of: integer. The amount of fees paid for every transaction. +* *tx_blob_list* - array of: string. The tx as hex string for every transaction. +* *tx_metadata_list* - array of: string. List of transaction metadata needed to relay the transactions later. +* *multisig_txset* - string. The set of signing keys used in a multisig transaction (empty for non-multisig). +* *unsigned_txset* - string. Set of unsigned tx for cold-signing purposes. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer_split","params":{"destinations":[{"amount":1000000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"},{"amount":2000000000000,"address":"75sNpRwUtekcJGejMuLSGA71QFuK1qcCVLZnYRTfQLgFU5nJ7xiAHtR5ihioS53KMe8pBhH61moraZHyLoG4G7fMER8xkNv"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"get_tx_key": true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "amount_list": [3000000000000], + "fee_list": [85106400000], + "multisig_txset": "", + "tx_hash_list": ["c8d815f48f27d53fdaf198a74b292a91bfaf87529a9a9a9ee66079a890b3b58b"], + "unsigned_txset": "" + } +} +``` + + +### **sign_transfer** + +Sign a transaction created on a read-only wallet (in cold-signing process) + +Alias: *None*. + +Inputs: + +* *unsigned_txset* - string. Set of unsigned tx returned by "transfer" or "transfer_split" methods. +* *export_raw* - boolean; (Optional) If true, return the raw transaction data. (Defaults to false) + +Outputs: + +* *signed_txset* - string. Set of signed tx to be used for submitting transfer. +* *tx_hash_list* - array of: string. The tx hashes of every transaction. +* *tx_raw_list* - array of: string. The tx raw data of every transaction. + +In the example below, we first generate an unsigned_txset on a read only wallet before signing it: + +Generate unsigned_txset using the above "transfer" method on read-only wallet: +``` +curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params":{"destinations":[{"amount":1000000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"do_not_relay":true,"get_tx_hex":true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "amount": 1000000000000, + "fee": 15202740000, + "multisig_txset": "", + "tx_blob": "...long_hex...", + "tx_hash": "c648ba0a049e5ce4ec21361dbf6e4b21eac0f828eea9090215de86c76b31d0a4", + "tx_key": "", + "tx_metadata": "", + "unsigned_txset": "...long_hex..." + } +} +``` + +Sign tx using the previously generated unsigned_txset +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign_transfer","params":{"unsigned_txset":...long_hex..."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "signed_txset": "...long_hex...", + "tx_hash_list": ["ff2e2d49fbfb1c9a55754f786576e171c8bf21b463a74438df604b7fa6cebc6d"] + } +} +``` + + +### **submit_transfer** + +Submit a previously signed transaction on a read-only wallet (in cold-signing process). + +Alias: *None*. + +Inputs: + +* *tx_data_hex* - string; Set of signed tx returned by "sign_transfer" + +Outputs: + +* *tx_hash_list* - array of: string. The tx hashes of every transaction. + +In the example below, we submit the transfer using the signed_txset generated above: +``` +curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"submit_transfer","params":{"tx_data_hex":...long_hex..."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "tx_hash_list": ["40fad7c828bb383ac02648732f7afce9adc520ba5629e1f5d9c03f584ac53d74"] + } +} +``` + +### **sweep_dust** + +Send all dust outputs back to the wallet's, to make them easier to spend (and mix). + +Alias: *sweep_unmixable*. + +Inputs: + +* *get_tx_keys* - boolean; (Optional) Return the transaction keys after sending. +* *do_not_relay* - boolean; (Optional) If true, the newly created transaction will not be relayed to the monero network. (Defaults to false) +* *get_tx_hex* - boolean; (Optional) Return the transactions as hex string after sending. (Defaults to false) +* *get_tx_metadata* - boolean; (Optional) Return list of transaction metadata needed to relay the transfer later. (Defaults to false) + +Outputs: + +* *tx_hash_list* - array of: string. The tx hashes of every transaction. +* *tx_key_list* - array of: string. The transaction keys for every transaction. +* *amount_list* - array of: integer. The amount transferred for every transaction. +* *fee_list* - array of: integer. The amount of fees paid for every transaction. +* *tx_blob_list* - array of: string. The tx as hex string for every transaction. +* *tx_metadata_list* - array of: string. List of transaction metadata needed to relay the transactions later. +* *multisig_txset* - string. The set of signing keys used in a multisig transaction (empty for non-multisig). +* *unsigned_txset* - string. Set of unsigned tx for cold-signing purposes. + +Example (In this example, `sweep_dust` returns nothing because there are no funds to sweep): + + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_dust","params":{"get_tx_keys":true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "multisig_txset": "", + "unsigned_txset": "" + } +} +``` + + +### **sweep_all** + +Send all unlocked balance to an address. + +Alias: *None*. + +Inputs: + +* *address* - string; Destination public address. +* *account_index* - unsigned int; Sweep transactions from this account. +* *subaddr_indices* - array of unsigned int; (Optional) Sweep from this set of subaddresses in the account. +* *priority* - unsigned int; (Optional) Priority for sending the sweep transfer, partially determines fee. +* *mixin* - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing). +* *ring_size* - unsigned int; Sets ringsize to n (mixin + 1). +* *unlock_time* - unsigned int; Number of blocks before the monero can be spent (0 to not add a lock). +* *payment_id* - string; (Optional) Random 32-byte/64-character hex string to identify a transaction. +* *get_tx_keys* - boolean; (Optional) Return the transaction keys after sending. +* *below_amount* - unsigned int; (Optional) Include outputs below this amount. +* *do_not_relay* - boolean; (Optional) If true, do not relay this sweep transfer. (Defaults to false) +* *get_tx_hex* - boolean; (Optional) return the transactions as hex encoded string. (Defaults to false) +* *get_tx_metadata* - boolean; (Optional) return the transaction metadata as a string. (Defaults to false) + +Outputs: + +* *tx_hash_list* - array of: string. The tx hashes of every transaction. +* *tx_key_list* - array of: string. The transaction keys for every transaction. +* *amount_list* - array of: integer. The amount transferred for every transaction. +* *fee_list* - array of: integer. The amount of fees paid for every transaction. +* *tx_blob_list* - array of: string. The tx as hex string for every transaction. +* *tx_metadata_list* - array of: string. List of transaction metadata needed to relay the transactions later. +* *multisig_txset* - string. The set of signing keys used in a multisig transaction (empty for non-multisig). +* *unsigned_txset* - string. Set of unsigned tx for cold-signing purposes. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_all","params":{"address":"55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt","subaddr_indices":[4],"ring_size":7,"unlock_time":0,"get_tx_keys":true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "amount_list": [9985885770000], + "fee_list": [14114230000], + "multisig_txset": "", + "tx_hash_list": ["ab4b6b65cc8cd8c9dd317d0b90d97582d68d0aa1637b0065b05b61f9a66ea5c5"], + "tx_key_list": ["b9b4b39d3bb3062ddb85ec0266d4df39058f4c86077d99309f218ce4d76af607"], + "unsigned_txset": "" + } +} +``` + + +### **sweep_single** + +Send all of a specific unlocked output to an address. + +Alias: *None*. + +Inputs: + +* *address* - string; Destination public address. +* *account_index* - unsigned int; Sweep transactions from this account. +* *subaddr_indices* - array of unsigned int; (Optional) Sweep from this set of subaddresses in the account. +* *priority* - unsigned int; (Optional) Priority for sending the sweep transfer, partially determines fee. +* *mixin* - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing). +* *ring_size* - unsigned int; Sets ringsize to n (mixin + 1). +* *unlock_time* - unsigned int; Number of blocks before the monero can be spent (0 to not add a lock). +* *payment_id* - string; (Optional) Random 32-byte/64-character hex string to identify a transaction. +* *get_tx_keys* - boolean; (Optional) Return the transaction keys after sending. +* *key_image* - string; Key image of specific output to sweep. +* *below_amount* - unsigned int; (Optional) Include outputs below this amount. +* *do_not_relay* - boolean; (Optional) If true, do not relay this sweep transfer. (Defaults to false) +* *get_tx_hex* - boolean; (Optional) return the transactions as hex encoded string. (Defaults to false) +* *get_tx_metadata* - boolean; (Optional) return the transaction metadata as a string. (Defaults to false) + +Outputs: + +* *tx_hash_list* - array of: string. The tx hashes of every transaction. +* *tx_key_list* - array of: string. The transaction keys for every transaction. +* *amount_list* - array of: integer. The amount transferred for every transaction. +* *fee_list* - array of: integer. The amount of fees paid for every transaction. +* *tx_blob_list* - array of: string. The tx as hex string for every transaction. +* *tx_metadata_list* - array of: string. List of transaction metadata needed to relay the transactions later. +* *multisig_txset* - string. The set of signing keys used in a multisig transaction (empty for non-multisig). +* *unsigned_txset* - string. Set of unsigned tx for cold-signing purposes. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_single","params":{"address":"74Jsocx8xbpTBEjm3ncKE5LBQbiJouyCDaGhgSiebpvNDXZnTAbW2CmUR5SsBeae2pNk9WMVuz6jegkC4krUyqRjA6VjoLD","ring_size":7,"unlock_time":0,"key_image":"a7834459ef795d2efb6f665d2fd758c8d9288989d8d4c712a68f8023f7804a5e","get_tx_keys":true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "amount": 27126892247503, + "fee": 14111630000, + "multisig_txset": "", + "tx_blob": "", + "tx_hash": "106d4391a031e5b735ded555862fec63233e34e5fa4fc7edcfdbe461c275ae5b", + "tx_key": "", + "tx_metadata": "", + "unsigned_txset": "" + } +} +``` + + +### **relay_tx** + +Relay a transaction previously created with `"do_not_relay":true`. + +Alias: *None*. + +Inputs: + +* *hex* - string; transaction metadata returned from a `transfer` method with `get_tx_metadata` set to `true`. + +Outputs: + +* *tx_hash* - String for the publically searchable transaction hash. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"relay_tx","params":{"hex":"...tx_metadata..."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "tx_hash": "1c42dcc5672bb09bccf33fb1e9ab4a498af59a6dbd33b3d0cfb289b9e0e25fa5" + } +} +``` + + +### **store** + +Save the wallet file. + +Alias: *None*. + +Inputs: *None*. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"store"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **get_payments** + +Get a list of incoming payments using a given payment id. + +Alias: *None*. + +Inputs: + +* *payment_id* - string; Payment ID used to find the payments (16 characters hex). + +Outputs: + +* *payments* - list of: + * *payment_id* - string; Payment ID matching the input parameter. + * *tx_hash* - string; Transaction hash used as the transaction ID. + * *amount* - unsigned int; Amount for this payment. + * *block_height* - unsigned int; Height of the block that first confirmed this payment. + * *unlock_time* - unsigned int; Time (in block height) until this payment is safe to spend. + * *subaddr_index* - subaddress index: + * *major* - unsigned int; Account index for the subaddress. + * *minor* - unsigned int; Index of the subaddress in the account. + * *address* - string; Address receiving the payment; Base58 representation of the public keys. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_payments","params":{"payment_id":"60900e5603bf96e3"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "payments": [{ + "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "amount": 1000000000000, + "block_height": 127606, + "payment_id": "60900e5603bf96e3", + "subaddr_index": { + "major": 0, + "minor": 0 + }, + "tx_hash": "3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f", + "unlock_time": 0 + }] + } +} +``` + + +### **get_bulk_payments** + +Get a list of incoming payments using a given payment id, or a list of payments ids, from a given height. This method is the preferred method over `get_payments` because it has the same functionality but is more extendable. Either is fine for looking up transactions by a single payment ID. + +Alias: *None*. + +Inputs: + +* *payment_ids* - array of: string; Payment IDs used to find the payments (16 characters hex). +* *min_block_height* - unsigned int; The block height at which to start looking for payments. + +Outputs: + +* *payments* - list of: + * *payment_id* - string; Payment ID matching one of the input IDs. + * *tx_hash* - string; Transaction hash used as the transaction ID. + * *amount* - unsigned int; Amount for this payment. + * *block_height* - unsigned int; Height of the block that first confirmed this payment. + * *unlock_time* - unsigned int; Time (in block height) until this payment is safe to spend. + * *subaddr_index* - subaddress index: + * *major* - unsigned int; Account index for the subaddress. + * *minor* - unsigned int; Index of the subaddress in the account. + * *address* - string; Address receiving the payment; Base58 representation of the public keys. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_bulk_payments","params":{"payment_ids":["60900e5603bf96e3"],"min_block_height":"120000"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "payments": [{ + "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "amount": 1000000000000, + "block_height": 127606, + "payment_id": "60900e5603bf96e3", + "subaddr_index": { + "major": 0, + "minor": 0 + }, + "tx_hash": "3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f", + "unlock_time": 0 + }] + } +} +``` + + +### **incoming_transfers** + +Return a list of incoming transfers to the wallet. + +Inputs: + +* *transfer_type* - string; "all": all the transfers, "available": only transfers which are not yet spent, OR "unavailable": only transfers which are already spent. +* *account_index* - unsigned int; (Optional) Return transfers for this account. (defaults to 0) +* *subaddr_indices* - array of unsigned int; (Optional) Return transfers sent to these subaddresses. +* *verbose* - boolean; (Optional) Enable verbose output, return key image if true. + +Outputs: + +* *transfers* - list of: + * *amount* - unsigned int; Amount of this transfer. + * *global_index* - unsigned int; Mostly internal use, can be ignored by most users. + * *key_image* - string; Key image for the incoming transfer's unspent output (empty unless verbose is true). + * *spent* - boolean; Indicates if this transfer has been spent. + * *subaddr_index* - unsigned int; Subaddress index for incoming transfer. + * *tx_hash* - string; Several incoming transfers may share the same hash if they were in the same transaction. + * *tx_size* - unsigned int; Size of transaction in bytes. + +Example, get all transfers: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"all","account_index":0,"subaddr_indices":[3],"verbose":true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "transfers": [{ + "amount": 60000000000000, + "global_index": 122405, + "key_image": "768f5144777eb23477ab7acf83562581d690abaf98ca897c03a9d2b900eb479b", + "spent": true, + "subaddr_index": 3, + "tx_hash": "f53401f21c6a43e44d5dd7a90eba5cf580012ad0e15d050059136f8a0da34f6b", + "tx_size": 159 + },{ + "amount": 27126892247503, + "global_index": 594994, + "key_image": "7e561394806afd1be61980cc3431f6ef3569fa9151cd8d234f8ec13aa145695e", + "spent": false, + "subaddr_index": 3, + "tx_hash": "106d4391a031e5b735ded555862fec63233e34e5fa4fc7edcfdbe461c275ae5b", + "tx_size": 157 + },{ + "amount": 27169374733655, + "global_index": 594997, + "key_image": "e76c0a3bfeaae35e4173712f782eb34011198e26b990225b71aa787c8ba8a157", + "spent": false, + "subaddr_index": 3, + "tx_hash": "0bd959b59117ee1254bd8e5aa8e77ec04ef744144a1ffb2d5c1eb9380a719621", + "tx_size": 158 + }] + } +} +``` + +Example, get available transfers: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"available","account_index":0,"subaddr_indices":[3],"verbose":true}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "transfers": [{ + "amount": 27126892247503, + "global_index": 594994, + "key_image": "7e561394806afd1be61980cc3431f6ef3569fa9151cd8d234f8ec13aa145695e", + "spent": false, + "subaddr_index": 3, + "tx_hash": "106d4391a031e5b735ded555862fec63233e34e5fa4fc7edcfdbe461c275ae5b", + "tx_size": 157 + },{ + "amount": 27169374733655, + "global_index": 594997, + "key_image": "e76c0a3bfeaae35e4173712f782eb34011198e26b990225b71aa787c8ba8a157", + "spent": false, + "subaddr_index": 3, + "tx_hash": "0bd959b59117ee1254bd8e5aa8e77ec04ef744144a1ffb2d5c1eb9380a719621", + "tx_size": 158 + }] + } +} +``` + +Example, get unavailable transfers: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"unavailable","account_index":0,"subaddr_indices":[3],"verbose":true}}' -H 'Content-Type: application/json' +{ +"id": "0", +"jsonrpc": "2.0", +"result": { + "transfers": [{ + "amount": 60000000000000, + "global_index": 122405, + "key_image": "768f5144777eb23477ab7acf83562581d690abaf98ca897c03a9d2b900eb479b", + "spent": true, + "subaddr_index": 3, + "tx_hash": "f53401f21c6a43e44d5dd7a90eba5cf580012ad0e15d050059136f8a0da34f6b", + "tx_size": 159 + }] +} +} +``` + + +### **query_key** + +Return the spend or view private key. + +Alias: *None*. + +Inputs: + +* *key_type* - string; Which key to retrieve: "mnemonic" - the mnemonic seed (older wallets do not have one) OR "view_key" - the view key + +Outputs: + +* *key* - string; The view key will be hex encoded, while the mnemonic will be a string of words. + +Example (Query view key): + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"query_key","params":{"key_type":"view_key"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "key": "0a1a38f6d246e894600a3e27238a064bf5e8d91801df47a17107596b1378e501" + } +} +``` + +Example (Query mnemonic key): + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"query_key","params":{"key_type":"mnemonic"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "key": "vocal either anvil films dolphin zeal bacon cuisine quote syndrome rejoices envy okay pancakes tulips lair greater petals organs enmity dedicated oust thwart tomorrow tomorrow" + } +} +``` + + +### **make_integrated_address** + +Make an integrated address from the wallet address and a payment id. + +Alias: *None*. + +Inputs: + +* *standard_address* - string; (Optional, defaults to primary address) Destination public address. +* *payment_id* - string; (Optional, defaults to a random ID) 16 characters hex encoded. + +Outputs: + +* *integrated_address* - string +* *payment_id* - string; hex encoded; + +Example (Payment ID is empty, use a random ID): + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_integrated_address","params":{"standard_address":"55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "integrated_address": "5F38Rw9HKeaLQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZXCkbHUXdPHyiUeRyokn", + "payment_id": "420fa29b2d9a49f5" + } +} +``` + + +### **split_integrated_address** + +Retrieve the standard address and payment id corresponding to an integrated address. + +Alias: *None*. + +Inputs: + +* *integrated_address* - string + +Outputs: + +* *is_subaddress* - boolean; States if the address is a subaddress +* *payment* - string; hex encoded +* *standard_address* - string + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"split_integrated_address","params":{"integrated_address": "5F38Rw9HKeaLQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZXCkbHUXdPHyiUeRyokn"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "is_subaddress": false, + "payment_id": "420fa29b2d9a49f5", + "standard_address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt" + } +} +``` + + +### **stop_wallet** + +Stops the wallet, storing the current state. + +Alias: *None*. + +Inputs: *None*. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"stop_wallet"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **rescan_blockchain** + +Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself. +This includes destination addresses, tx secret keys, tx notes, etc. + +Alias: *None*. + +Inputs: *None*. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"rescan_blockchain"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **set_tx_notes** + +Set arbitrary string notes for transactions. + +Alias: *None*. + +Inputs: + +* *txids* - array of string; transaction ids +* *notes* - array of string; notes for the transactions + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_tx_notes","params":{"txids":["3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f"],"notes":["This is an example"]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **get_tx_notes** + +Get string notes for transactions. + +Alias: *None*. + +Inputs: + +* *txids* - array of string; transaction ids + +Outputs: + +* *notes* - array of string; notes for the transactions + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_tx_notes","params":{"txids":["3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f"]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "notes": ["This is an example"] + } +} +``` + + +### **set_attribute** + +Set arbitrary attribute. + +Alias: *None*. + +Inputs: + +* *key* - string; attribute name +* *value* - string; attribute value + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_attribute","params":{"key":"my_attribute","value":"my_value"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **get_attribute** + +Get attribute value by name. + +Alias: *None*. + +Inputs: + +* *key* - string; attribute name + +Outputs: + +* *value* - string; attribute value + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_attribute","params":{"key":"my_attribute"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "value": "my_value" + } +} +``` + + +### **get_tx_key** + +Get transaction secret key from transaction id. + +Alias: *None*. + +Inputs: + +* *txid* - string; transaction id. + +Outputs: + +* *tx_key* - string; transaction secret key. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_tx_key","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "tx_key": "feba662cf8fb6d0d0da18fc9b70ab28e01cc76311278fdd7fe7ab16360762b06" + } +} +``` + + +### **check_tx_key** + +Check a transaction in the blockchain with its secret key. + +Alias: *None*. + +Inputs: + +* *txid* - string; transaction id. +* *tx_key* - string; transaction secret key. +* *address* - string; destination public address of the transaction. + +Outputs: + +* *confirmations* - unsigned int; Number of block mined after the one with the transaction. +* *in_pool* - boolean; States if the transaction is still in pool or has been added to a block. +* *received* - unsigned int; Amount of the transaction. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_tx_key","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","tx_key":"feba662cf8fb6d0d0da18fc9b70ab28e01cc76311278fdd7fe7ab16360762b06","address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "confirmations": 0, + "in_pool": false, + "received": 1000000000000 + } +} +``` + + +### **get_tx_proof** + +Get transaction signature to prove it. + +Alias: *None*. + +Inputs: + +* *txid* - string; transaction id. +* *address* - string; destination public address of the transaction. +* *message* - string; (Optional) add a message to the signature to further authenticate the prooving process. + +Outputs: + +* *signature* - string; transaction signature. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_tx_proof","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o","message":"this is my transaction"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "signature": "InProofV13vqBCT6dpSAXkypZmSEMPGVnNRFDX2vscUYeVS4WnSVnV5BwLs31T9q6Etfj9Wts6tAxSAS4gkMeSYzzLS7Gt4vvCSQRh9niGJMUDJsB5hTzb2XJiCkUzWkkcjLFBBRVD5QZ" + } +} +``` + + +### **check_tx_proof** + +Prove a transaction by checking its signature. + +Alias: *None*. + +Inputs: + +* *txid* - string; transaction id. +* *address* - string; destination public address of the transaction. +* *message* - string; (Optional) Should be the same message used in `get_tx_proof`. +* *signature* - string; transaction signature to confirm. + +Outputs: + +* *confirmations* - unsigned int; Number of block mined after the one with the transaction. +* *good* - boolean; States if the inputs proves the transaction. +* *in_pool* - boolean; States if the transaction is still in pool or has been added to a block. +* *received* - unsigned int; Amount of the transaction. + +In the example below, the transaction has been proven: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_tx_proof","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o","message":"this is my transaction","signature":"InProofV13vqBCT6dpSAXkypZmSEMPGVnNRFDX2vscUYeVS4WnSVnV5BwLs31T9q6Etfj9Wts6tAxSAS4gkMeSYzzLS7Gt4vvCSQRh9niGJMUDJsB5hTzb2XJiCkUzWkkcjLFBBRVD5QZ"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "confirmations": 482, + "good": true, + "in_pool": false, + "received": 1000000000000 + } +} +``` + +In the example below, the wrong message is used, avoiding the transaction to be proved: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_tx_proof","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o","message":"wrong message","signature":"InProofV13vqBCT6dpSAXkypZmSEMPGVnNRFDX2vscUYeVS4WnSVnV5BwLs31T9q6Etfj9Wts6tAxSAS4gkMeSYzzLS7Gt4vvCSQRh9niGJMUDJsB5hTzb2XJiCkUzWkkcjLFBBRVD5QZ"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "confirmations": 0, + "good": false, + "in_pool": false, + "received": 0 + } +} +``` + + +### **get_spend_proof** + +Generate a signature to prove a spend. Unlike proving a transaction, it does not requires the destination public address. + +Alias: *None*. + +Inputs: + +* *txid* - string; transaction id. +* *message* - string; (Optional) add a message to the signature to further authenticate the prooving process. + +Outputs: + +* *signature* - string; spend signature. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_spend_proof","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","message":"this is my transaction"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "signature": "SpendProofV1aSh8Todhk54736iXgV6vJAFP7egxByuMWZeyNDaN2JY737S95X5zz5mNMQSuCNSLjjhi5HJCsndpNWSNVsuThxwv285qy1KkUrLFRkxMSCjfL6bbycYN33ScZ5UB4Fzseceo1ndpL393T1q638VmcU3a56dhNHF1RPZFiGPS61FA78nXFSqE9uoKCCoHkEz83M1dQVhxZV5CEPF2P6VioGTKgprLCH9vvj9k1ivd4SX19L2VSMc3zD1u3mkR24ioETvxBoLeBSpxMoikyZ6inhuPm8yYo9YWyFtQK4XYfAV9mJ9knz5fUPXR8vvh7KJCAg4dqeJXTVb4mbMzYtsSZXHd6ouWoyCd6qMALdW8pKhgMCHcVYMWp9X9WHZuCo9rsRjRpg15sJUw7oJg1JoGiVgj8P4JeGDjnZHnmLVa5bpJhVCbMhyM7JLXNQJzFWTGC27TQBbthxCfQaKdusYnvZnKPDJWSeceYEFzepUnsWhQtyhbb73FzqgWC4eKEFKAZJqT2LuuSoxmihJ9acnFK7Ze23KTVYgDyMKY61VXADxmSrBvwUtxCaW4nQtnbMxiPMNnDMzeixqsFMBtN72j5UqhiLRY99k6SE7Qf5f29haNSBNSXCFFHChPKNTwJrehkofBdKUhh2VGPqZDNoefWUwfudeu83t85bmjv8Q3LrQSkFgFjRT5tLo8TMawNXoZCrQpyZrEvnodMDDUUNf3NL7rxyv3gM1KrTWjYaWXFU2RAsFee2Q2MTwUW7hR25cJvSFuB1BX2bfkoCbiMk923tHZGU2g7rSKF1GDDkXAc1EvFFD4iGbh1Q5t6hPRhBV8PEncdcCWGq5uAL5D4Bjr6VXG8uNeCy5oYWNgbZ5JRSfm7QEhPv8Fy9AKMgmCxDGMF9dVEaU6tw2BAnJavQdfrxChbDBeQXzCbCfep6oei6n2LZdE5Q84wp7eoQFE5Cwuo23tHkbJCaw2njFi3WGBbA7uGZaGHJPyB2rofTWBiSUXZnP2hiE9bjJghAcDm1M4LVLfWvhZmFEnyeru3VWMETnetz1BYLUC5MJGFXuhnHwWh7F6r74FDyhdswYop4eWPbyrXMXmUQEccTGd2NaT8g2VHADZ76gMC6BjWESvcnz2D4n8XwdmM7ZQ1jFwhuXrBfrb1dwRasyXxxHMGAC2onatNiExyeQ9G1W5LwqNLAh9hvcaNTGaYKYXoceVzLkgm6e5WMkLsCwuZXvB" + } +} +``` + + +### **check_spend_proof** + +Prove a spend using a signature. Unlike proving a transaction, it does not requires the destination public address. + +Alias: *None*. + +Inputs: + +* *txid* - string; transaction id. +* *message* - string; (Optional) Should be the same message used in `get_spend_proof`. +* *signature* - string; spend signature to confirm. + +Outputs: + +* *good* - boolean; States if the inputs proves the spend. + +In the example below, the spend has been proven: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_spend_proof","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","message":"this is my transaction","signature":"SpendProofV1aSh8Todhk54736iXgV6vJAFP7egxByuMWZeyNDaN2JY737S95X5zz5mNMQSuCNSLjjhi5HJCsndpNWSNVsuThxwv285qy1KkUrLFRkxMSCjfL6bbycYN33ScZ5UB4Fzseceo1ndpL393T1q638VmcU3a56dhNHF1RPZFiGPS61FA78nXFSqE9uoKCCoHkEz83M1dQVhxZV5CEPF2P6VioGTKgprLCH9vvj9k1ivd4SX19L2VSMc3zD1u3mkR24ioETvxBoLeBSpxMoikyZ6inhuPm8yYo9YWyFtQK4XYfAV9mJ9knz5fUPXR8vvh7KJCAg4dqeJXTVb4mbMzYtsSZXHd6ouWoyCd6qMALdW8pKhgMCHcVYMWp9X9WHZuCo9rsRjRpg15sJUw7oJg1JoGiVgj8P4JeGDjnZHnmLVa5bpJhVCbMhyM7JLXNQJzFWTGC27TQBbthxCfQaKdusYnvZnKPDJWSeceYEFzepUnsWhQtyhbb73FzqgWC4eKEFKAZJqT2LuuSoxmihJ9acnFK7Ze23KTVYgDyMKY61VXADxmSrBvwUtxCaW4nQtnbMxiPMNnDMzeixqsFMBtN72j5UqhiLRY99k6SE7Qf5f29haNSBNSXCFFHChPKNTwJrehkofBdKUhh2VGPqZDNoefWUwfudeu83t85bmjv8Q3LrQSkFgFjRT5tLo8TMawNXoZCrQpyZrEvnodMDDUUNf3NL7rxyv3gM1KrTWjYaWXFU2RAsFee2Q2MTwUW7hR25cJvSFuB1BX2bfkoCbiMk923tHZGU2g7rSKF1GDDkXAc1EvFFD4iGbh1Q5t6hPRhBV8PEncdcCWGq5uAL5D4Bjr6VXG8uNeCy5oYWNgbZ5JRSfm7QEhPv8Fy9AKMgmCxDGMF9dVEaU6tw2BAnJavQdfrxChbDBeQXzCbCfep6oei6n2LZdE5Q84wp7eoQFE5Cwuo23tHkbJCaw2njFi3WGBbA7uGZaGHJPyB2rofTWBiSUXZnP2hiE9bjJghAcDm1M4LVLfWvhZmFEnyeru3VWMETnetz1BYLUC5MJGFXuhnHwWh7F6r74FDyhdswYop4eWPbyrXMXmUQEccTGd2NaT8g2VHADZ76gMC6BjWESvcnz2D4n8XwdmM7ZQ1jFwhuXrBfrb1dwRasyXxxHMGAC2onatNiExyeQ9G1W5LwqNLAh9hvcaNTGaYKYXoceVzLkgm6e5WMkLsCwuZXvB"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "good": true + } +} +``` + +In the example below, the wrong message is used, avoiding the spend to be proved: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_spend_proof","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","message":"wrong message","signature":"SpendProofV1aSh8Todhk54736iXgV6vJAFP7egxByuMWZeyNDaN2JY737S95X5zz5mNMQSuCNSLjjhi5HJCsndpNWSNVsuThxwv285qy1KkUrLFRkxMSCjfL6bbycYN33ScZ5UB4Fzseceo1ndpL393T1q638VmcU3a56dhNHF1RPZFiGPS61FA78nXFSqE9uoKCCoHkEz83M1dQVhxZV5CEPF2P6VioGTKgprLCH9vvj9k1ivd4SX19L2VSMc3zD1u3mkR24ioETvxBoLeBSpxMoikyZ6inhuPm8yYo9YWyFtQK4XYfAV9mJ9knz5fUPXR8vvh7KJCAg4dqeJXTVb4mbMzYtsSZXHd6ouWoyCd6qMALdW8pKhgMCHcVYMWp9X9WHZuCo9rsRjRpg15sJUw7oJg1JoGiVgj8P4JeGDjnZHnmLVa5bpJhVCbMhyM7JLXNQJzFWTGC27TQBbthxCfQaKdusYnvZnKPDJWSeceYEFzepUnsWhQtyhbb73FzqgWC4eKEFKAZJqT2LuuSoxmihJ9acnFK7Ze23KTVYgDyMKY61VXADxmSrBvwUtxCaW4nQtnbMxiPMNnDMzeixqsFMBtN72j5UqhiLRY99k6SE7Qf5f29haNSBNSXCFFHChPKNTwJrehkofBdKUhh2VGPqZDNoefWUwfudeu83t85bmjv8Q3LrQSkFgFjRT5tLo8TMawNXoZCrQpyZrEvnodMDDUUNf3NL7rxyv3gM1KrTWjYaWXFU2RAsFee2Q2MTwUW7hR25cJvSFuB1BX2bfkoCbiMk923tHZGU2g7rSKF1GDDkXAc1EvFFD4iGbh1Q5t6hPRhBV8PEncdcCWGq5uAL5D4Bjr6VXG8uNeCy5oYWNgbZ5JRSfm7QEhPv8Fy9AKMgmCxDGMF9dVEaU6tw2BAnJavQdfrxChbDBeQXzCbCfep6oei6n2LZdE5Q84wp7eoQFE5Cwuo23tHkbJCaw2njFi3WGBbA7uGZaGHJPyB2rofTWBiSUXZnP2hiE9bjJghAcDm1M4LVLfWvhZmFEnyeru3VWMETnetz1BYLUC5MJGFXuhnHwWh7F6r74FDyhdswYop4eWPbyrXMXmUQEccTGd2NaT8g2VHADZ76gMC6BjWESvcnz2D4n8XwdmM7ZQ1jFwhuXrBfrb1dwRasyXxxHMGAC2onatNiExyeQ9G1W5LwqNLAh9hvcaNTGaYKYXoceVzLkgm6e5WMkLsCwuZXvB"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "good": false + } +} +``` + + +### **get_reserve_proof** + +Generate a signature to prove of an available amount in a wallet. + +Alias: *None*. + +Inputs: + +* *all* - boolean; Proves all wallet balance to be disposable. +* *account_index* - unsigned int; Specify the account from witch to prove reserve. (ignored if `all` is set to true) +* *amount* - unsigned int; Amount (in @atomic-units) to prove the account has for reserve. (ignored if `all` is set to true) +* *message* - string; (Optional) add a message to the signature to further authenticate the prooving process. + +Outputs: + +* *signature* - string; reserve signature. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_reserve_proof","params":{"all":false,"account_index":0,"amount":100000000000}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "signature": "ReserveProofV11BZ23sBt9sZJeGccf84mzyAmNCP3KzYbE1111112VKmH111118NfCYJQjZ6c46gT2kXgcHCaSSZeL8sRdzqjqx7i1e7FQfQGu2o113UYFVdwzHQi3iENDPa76Kn1BvywbKz3bMkXdZkBEEhBSF4kjjGaiMJ1ucKb6wvMVC4A8sA4nZEdL2Mk3wBucJCYTZwKqA8i1M113kqakDkG25FrjiDqdQTCYz2wDBmfKxF3eQiV5FWzZ6HmAyxnqTWUiMWukP9A3Edy3ZXqjP1b23dhz7Mbj39bBxe3ZeDNu9HnTSqYvHNRyqCkeUMJpHyQweqjGUJ1DSfFYr33J1E7MkhMnEi1o7trqWjVix32XLetYfePG73yvHbS24837L7Q64i5n1LSpd9yMiQZ3Dyaysi5y6jPx7TpAvnSqBFtuCciKoNzaXoA3dqt9cuVFZTXzdXKqdt3cXcVJMNxY8RvKPVQHhUur94Lpo1nSpxf7BN5a5rHrbZFqoZszsZmiWikYPkLX72XUdw6NWjLrTBxSy7KuPYH86c6udPEXLo2xgN6XHMBMBJzt8FqqK7EcpNUBkuHm2AtpGkf9CABY3oSjDQoRF5n4vNLd3qUaxNsG4XJ12L9gJ7GrK273BxkfEA8fDdxPrb1gpespbgEnCTuZHqj1A" + } +} +``` + + +### **check_reserve_proof** + +Proves a wallet has a disposable reserve using a signature. + +Alias: *None*. + +Inputs: + +* *address* - string; Public address of the wallet. +* *message* - string; (Optional) Should be the same message used in `get_reserve_proof`. +* *signature* - string; reserve signature to confirm. + +Outputs: + +* *good* - boolean; States if the inputs proves the reserve. + +In the example below, the reserve has been proven: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_reserve_proof","params":{"address":"55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt","signature":"ReserveProofV11BZ23sBt9sZJeGccf84mzyAmNCP3KzYbE1111112VKmH111118NfCYJQjZ6c46gT2kXgcHCaSSZeL8sRdzqjqx7i1e7FQfQGu2o113UYFVdwzHQi3iENDPa76Kn1BvywbKz3bMkXdZkBEEhBSF4kjjGaiMJ1ucKb6wvMVC4A8sA4nZEdL2Mk3wBucJCYTZwKqA8i1M113kqakDkG25FrjiDqdQTCYz2wDBmfKxF3eQiV5FWzZ6HmAyxnqTWUiMWukP9A3Edy3ZXqjP1b23dhz7Mbj39bBxe3ZeDNu9HnTSqYvHNRyqCkeUMJpHyQweqjGUJ1DSfFYr33J1E7MkhMnEi1o7trqWjVix32XLetYfePG73yvHbS24837L7Q64i5n1LSpd9yMiQZ3Dyaysi5y6jPx7TpAvnSqBFtuCciKoNzaXoA3dqt9cuVFZTXzdXKqdt3cXcVJMNxY8RvKPVQHhUur94Lpo1nSpxf7BN5a5rHrbZFqoZszsZmiWikYPkLX72XUdw6NWjLrTBxSy7KuPYH86c6udPEXLo2xgN6XHMBMBJzt8FqqK7EcpNUBkuHm2AtpGkf9CABY3oSjDQoRF5n4vNLd3qUaxNsG4XJ12L9gJ7GrK273BxkfEA8fDdxPrb1gpespbgEnCTuZHqj1A"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "good": true, + "spent": 0, + "total": 100000000000 + } +} +``` + +In the example below, all wallet reserve has been proven: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_reserve_proof","params":{"address":"55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt","message":"I have 10 at least","signature":"...signature..."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "good": true, + "spent": 0, + "total": 164113855714662789 + } +} +``` + +In the example below, the wrong message is used, avoiding the reserve to be proved: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_spend_proof","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","message":"wrong message","signature":"SpendProofV1aSh8Todhk54736iXgV6vJAFP7egxByuMWZeyNDaN2JY737S95X5zz5mNMQSuCNSLjjhi5HJCsndpNWSNVsuThxwv285qy1KkUrLFRkxMSCjfL6bbycYN33ScZ5UB4Fzseceo1ndpL393T1q638VmcU3a56dhNHF1RPZFiGPS61FA78nXFSqE9uoKCCoHkEz83M1dQVhxZV5CEPF2P6VioGTKgprLCH9vvj9k1ivd4SX19L2VSMc3zD1u3mkR24ioETvxBoLeBSpxMoikyZ6inhuPm8yYo9YWyFtQK4XYfAV9mJ9knz5fUPXR8vvh7KJCAg4dqeJXTVb4mbMzYtsSZXHd6ouWoyCd6qMALdW8pKhgMCHcVYMWp9X9WHZuCo9rsRjRpg15sJUw7oJg1JoGiVgj8P4JeGDjnZHnmLVa5bpJhVCbMhyM7JLXNQJzFWTGC27TQBbthxCfQaKdusYnvZnKPDJWSeceYEFzepUnsWhQtyhbb73FzqgWC4eKEFKAZJqT2LuuSoxmihJ9acnFK7Ze23KTVYgDyMKY61VXADxmSrBvwUtxCaW4nQtnbMxiPMNnDMzeixqsFMBtN72j5UqhiLRY99k6SE7Qf5f29haNSBNSXCFFHChPKNTwJrehkofBdKUhh2VGPqZDNoefWUwfudeu83t85bmjv8Q3LrQSkFgFjRT5tLo8TMawNXoZCrQpyZrEvnodMDDUUNf3NL7rxyv3gM1KrTWjYaWXFU2RAsFee2Q2MTwUW7hR25cJvSFuB1BX2bfkoCbiMk923tHZGU2g7rSKF1GDDkXAc1EvFFD4iGbh1Q5t6hPRhBV8PEncdcCWGq5uAL5D4Bjr6VXG8uNeCy5oYWNgbZ5JRSfm7QEhPv8Fy9AKMgmCxDGMF9dVEaU6tw2BAnJavQdfrxChbDBeQXzCbCfep6oei6n2LZdE5Q84wp7eoQFE5Cwuo23tHkbJCaw2njFi3WGBbA7uGZaGHJPyB2rofTWBiSUXZnP2hiE9bjJghAcDm1M4LVLfWvhZmFEnyeru3VWMETnetz1BYLUC5MJGFXuhnHwWh7F6r74FDyhdswYop4eWPbyrXMXmUQEccTGd2NaT8g2VHADZ76gMC6BjWESvcnz2D4n8XwdmM7ZQ1jFwhuXrBfrb1dwRasyXxxHMGAC2onatNiExyeQ9G1W5LwqNLAh9hvcaNTGaYKYXoceVzLkgm6e5WMkLsCwuZXvB"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "good": false + } +} +``` + + +### **get_transfers** + +Returns a list of transfers. + +Alias: *None*. + +Inputs: + +* *in* - boolean; (Optional) Include incoming transfers. +* *out* - boolean; (Optional) Include outgoing transfers. +* *pending* - boolean; (Optional) Include pending transfers. +* *failed* - boolean; (Optional) Include failed transfers. +* *pool* - boolean; (Optional) Include transfers from the daemon's transaction pool. +* *filter_by_height* - boolean; (Optional) Filter transfers by block height. +* *min_height* - unsigned int; (Optional) Minimum block height to scan for transfers, if filtering by height is enabled. +* *max_height* - unsigned int; (Opional) Maximum block height to scan for transfers, if filtering by height is enabled (defaults to max block height). +* *account_index* - unsigned int; (Optional) Index of the account to query for transfers. (defaults to 0) +* *subaddr_indices* - array of unsigned int; (Optional) List of subaddress indices to query for transfers. (defaults to 0) + +Outputs: + +* *in* array of transfers: + * *address* - string; Public address of the transfer. + * *amount* - unsigned int; Amount transferred. + * *confirmations* - unsigned int; Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed). + * *double_spend_seen* - boolean; True if the key image(s) for the transfer have been seen before. + * *fee* - unsigned int; Transaction fee for this transfer. + * *height* - unsigned int; Height of the first block that confirmed this transfer (0 if not mined yet). + * *note* - string; Note about this transfer. + * *payment_id* - string; Payment ID for this transfer. + * *subaddr_index* - JSON object containing the major & minor subaddress index: + * *major* - unsigned int; Account index for the subaddress. + * *minor* - unsigned int; Index of the subaddress under the account. + * *suggested_confirmations_threshold* - unsigned int; Estimation of the confirmations needed for the transaction to be included in a block. + * *timestamp* - unsigned int; POSIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet). + * *txid* - string; Transaction ID for this transfer. + * *type* - string; Transfer type: "in" + * *unlock_time* - unsigned int; Number of blocks until transfer is safely spendable. +* *out* array of transfers (see above). +* *pending* array of transfers (see above). +* *failed* array of transfers (see above). +* *pool* array of transfers (see above). + + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_transfers","params":{"in":true,"account_index":1}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "in": [{ + "address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp", + "amount": 200000000000, + "confirmations": 1, + "double_spend_seen": false, + "fee": 21650200000, + "height": 153624, + "note": "", + "payment_id": "0000000000000000", + "subaddr_index": { + "major": 1, + "minor": 0 + }, + "suggested_confirmations_threshold": 1, + "timestamp": 1535918400, + "txid": "c36258a276018c3a4bc1f195a7fb530f50cd63a4fa765fb7c6f7f49fc051762a", + "type": "in", + "unlock_time": 0 + }] + } +} +``` + +### **get_transfer_by_txid** + +Show information about a transfer to/from this address. + +Alias: *None*. + +Inputs: + +* *txid* - string; Transaction ID used to find the transfer. +* *account_index* - unsigned int; (Optional) Index of the account to query for the transfer. + +Outputs: + +* *transfer* - JSON object containing payment information: + * *address* - string; Address that transferred the funds. Base58 representation of the public keys. + * *amount* - unsigned int; Amount of this transfer. + * *confirmations* - unsigned int; Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed). + * *destinations* - array of JSON objects containing transfer destinations: + * *amount* - unsigned int; Amount transferred to this destination. + * *address* - string; Address for this destination. Base58 representation of the public keys. + * *double_spend_seen* - boolean; True if the key image(s) for the transfer have been seen before. + * *fee* - unsigned int; Transaction fee for this transfer. + * *height* - unsigned int; Height of the first block that confirmed this transfer. + * *note* - string; Note about this transfer. + * *payment_id* - string; Payment ID for this transfer. + * *subaddr_index* - JSON object containing the major & minor subaddress index: + * *major* - unsigned int; Account index for the subaddress. + * *minor* - unsigned int; Index of the subaddress under the account. + * *suggested_confirmations_threshold* - unsigned int; Estimation of the confirmations needed for the transaction to be included in a block. + * *timestamp* - unsigned int; POSIX timestamp for the block that confirmed this transfer (or timestamp submission if not mined yet). + * *txid* - string; Transaction ID of this transfer (same as input TXID). + * *type* - string; Type of transfer, one of the following: "in", "out", "pending", "failed", "pool" + * *unlock_time* - unsigned int; Number of blocks until transfer is safely spendable. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_transfer_by_txid","params":{"txid":"c36258a276018c3a4bc1f195a7fb530f50cd63a4fa765fb7c6f7f49fc051762a"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "transfer": { + "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "amount": 300000000000, + "confirmations": 1, + "destinations": [{ + "address": "7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o", + "amount": 100000000000 + },{ + "address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp", + "amount": 200000000000 + }], + "double_spend_seen": false, + "fee": 21650200000, + "height": 153624, + "note": "", + "payment_id": "0000000000000000", + "subaddr_index": { + "major": 0, + "minor": 0 + }, + "suggested_confirmations_threshold": 1, + "timestamp": 1535918400, + "txid": "c36258a276018c3a4bc1f195a7fb530f50cd63a4fa765fb7c6f7f49fc051762a", + "type": "out", + "unlock_time": 0 + } + } +} +``` + + +### **sign** + +Sign a string. + +Alias: *None*. + +Inputs: + +* *data* - string; Anything you need to sign. + +Outputs: + +* *signature* - string; Signature generated against the "data" and the account public address. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign","params":{"data":"This is sample data to be signed"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "signature": "SigV14K6G151gycjiGxjQ74tKX6A2LwwghvuHjcDeuRFQio5LS6Gb27BNxjYQY1dPuUvXkEbGQUkiHSVLPj4nJAHRrrw3" + } +} +``` + + +### **verify** + +Verify a signature on a string. + +Alias: *None*. + +Inputs: + +* *data* - string; What should have been signed. +* *address* - string; Public address of the wallet used to `sign` the data. +* *signature* - string; signature generated by `sign` method. + +Outputs: + +* *good* - boolean; + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"verify","params":{"data":"This is sample data to be signed","address":"55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt","signature":"SigV14K6G151gycjiGxjQ74tKX6A2LwwghvuHjcDeuRFQio5LS6Gb27BNxjYQY1dPuUvXkEbGQUkiHSVLPj4nJAHRrrw3"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "good": true + } +} +``` + + +### **export_outputs** + +Export all outputs in hex format. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *outputs_data_hex* - string; wallet outputs in hex format. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"export_outputs"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "outputs_data_hex": "...outputs..." + } +} +``` + + +### **import_outputs** + +Import outputs in hex format. + +Alias: *None*. + +Inputs: + +* *outputs_data_hex* - string; wallet outputs in hex format. + +Outputs: + +* *num_imported* - unsigned int; number of outputs imported. + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"import_outputs","params":{"outputs_data_hex":"...outputs..."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "num_imported": 6400 + } +} +``` + + +### **export_key_images** + +Export a signed set of key images. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *signed_key_images* - array of signed key images: + * *key_image* - string; + * *signature* - string; + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"export_key_images"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "signed_key_images": [{ + "key_image": "cd35239b72a35e26a57ed17400c0b66944a55de9d5bda0f21190fed17f8ea876", + "signature": "c9d736869355da2538ab4af188279f84138c958edbae3c5caf388a63cd8e780b8c5a1aed850bd79657df659422c463608ea4e0c730ba9b662c906ae933816d00" + },{ + "key_image": "65158a8ee5a3b32009b85a307d85b375175870e560e08de313531c7dbbe6fc19", + "signature": "c96e40d09dfc45cfc5ed0b76bfd7ca793469588bb0cf2b4d7b45ef23d40fd4036057b397828062e31700dc0c2da364f50cd142295a8405b9fe97418b4b745d0c" + },...] + } +} +``` + + +### **import_key_images** + +Import signed key images list and verify their spent status. + +Alias: *None*. + +Inputs: + +* *signed_key_images* - array of signed key images: + * *key_image* - string; + * *signature* - string; + +Outputs: + +* *height* - unsigned int; +* *spent* - unsigned int; Amount (in @atomic-units) spent from those key images. +* *unspent* - unsigned int; Amount (in @atomic-units) still available from those key images. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"import_key_images", "params":{"signed_key_images":[{"key_image":"cd35239b72a35e26a57ed17400c0b66944a55de9d5bda0f21190fed17f8ea876","signature":"c9d736869355da2538ab4af188279f84138c958edbae3c5caf388a63cd8e780b8c5a1aed850bd79657df659422c463608ea4e0c730ba9b662c906ae933816d00"},{"key_image":"65158a8ee5a3b32009b85a307d85b375175870e560e08de313531c7dbbe6fc19","signature":"c96e40d09dfc45cfc5ed0b76bfd7ca793469588bb0cf2b4d7b45ef23d40fd4036057b397828062e31700dc0c2da364f50cd142295a8405b9fe97418b4b745d0c"}]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "height": 76428, + "spent": 62708953408711, + "unspent": 0 + } +} +``` + + +### **make_uri** + +Create a payment URI using the official URI spec. + +Alias: *None*. + +Inputs: + +* *address* - string; Wallet address +* *amount* - unsigned int; (optional) the integer amount to receive, in **atomic** units +* *payment_id* - string; (optional) 16 or 64 character hexadecimal payment id +* *recipient_name* - string; (optional) name of the payment recipient +* *tx_description* - string; (optional) Description of the reason for the tx + +Outputs: + +* *uri* - string; This contains all the payment input information as a properly formatted payment URI + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_uri","params":{"address":"55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt","amount":10,"payment_id":"420fa29b2d9a49f5","tx_description":"Testing out the make_uri function.","recipient_name":"el00ruobuob Stagenet wallet"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "uri": "monero:55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt?tx_payment_id=420fa29b2d9a49f5&tx_amount=0.000000000010&recipient_name=el00ruobuob%20Stagenet%20wallet&tx_description=Testing%20out%20the%20make_uri%20function." + } +} +``` + + +### **parse_uri** + +Parse a payment URI to get payment information. + +Alias: *None*. + +Inputs: + +* *uri* - string; This contains all the payment input information as a properly formatted payment URI + +Outputs: + +* *uri* - JSON object containing payment information: + * *address* - string; Wallet address + * *amount* - unsigned int; Decimal amount to receive, in **coin** units (0 if not provided) + * *payment_id* - string; 16 or 64 character hexadecimal payment id (empty if not provided) + * *recipient_name* - string; Name of the payment recipient (empty if not provided) + * *tx_description* - string; Description of the reason for the tx (empty if not provided) + +Example: + +``` +$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"parse_uri","params":{"uri":"monero:55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt?tx_payment_id=420fa29b2d9a49f5&tx_amount=0.000000000010&recipient_name=el00ruobuob%20Stagenet%20wallet&tx_description=Testing%20out%20the%20make_uri%20function."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "uri": { + "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt", + "amount": 10, + "payment_id": "420fa29b2d9a49f5", + "recipient_name": "el00ruobuob Stagenet wallet", + "tx_description": "Testing out the make_uri function." + } + } +} +``` + + +### **get_address_book** + +Retrieves entries from the address book. + +Alias: *None*. + +Inputs: + +* *entries* - array of unsigned int; indices of the requested address book entries + +Outputs: + +* *entries* - array of entries: + * *address* - string; Public address of the entry + * *description* - string; Description of this address entry + * *index* - unsigned int; + * *payment_id* - string; + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address_book","params":{"entries":[0,1]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "entries": [{ + "address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp", + "description": "Second account", + "index": 0, + "payment_id": "0000000000000000000000000000000000000000000000000000000000000000" + },{ + "address": "78P16M3XmFRGcWFCcsgt1WcTntA1jzcq31seQX1Eg92j8VQ99NPivmdKam4J5CKNAD7KuNWcq5xUPgoWczChzdba5WLwQ4j", + "description": "Third account", + "index": 1, + "payment_id": "0000000000000000000000000000000000000000000000000000000000000000" + }] + } +} +``` + + +### **add_address_book** + +Add an entry to the address book. + +Alias: *None*. + +Inputs: + +* *address* - string; +* *payment_id* - (optional) string, defaults to "0000000000000000000000000000000000000000000000000000000000000000"; +* *description* - (optional) string, defaults to ""; + +Outputs: + +* *index* - unsigned int; The index of the address book entry. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"add_address_book","params":{"address":"78P16M3XmFRGcWFCcsgt1WcTntA1jzcq31seQX1Eg92j8VQ99NPivmdKam4J5CKNAD7KuNWcq5xUPgoWczChzdba5WLwQ4j","description":"Third account"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "index": 1 + } +} +``` + + +### **delete_address_book** + +Delete an entry from the address book. + +Alias: *None*. + +Inputs: + +* *index* - unsigned int; The index of the address book entry. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"delete_address_book","params":{"index":1}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **refresh** + +Refresh a wallet after openning. + +Alias: *None*. + +Inputs: + +* *start_height* - unsigned int; (Optional) The block height from which to start refreshing. + +Outputs: + +* *blocks_fetched* - unsigned int; Number of new blocks scanned. +* *received_money* - boolean; States if transactions to the wallet have been found in the blocks. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"refresh","params":{"start_height":100000}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "blocks_fetched": 24, + "received_money": true + } +} +``` + + +### **rescan_spent** + +Rescan the blockchain for spent outputs. + +Alias: *None*. + +Inputs: *None*. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"rescan_spent"}' -H 'Content-Type: application/json' + +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **start_mining** + +Start mining in the Monero daemon. + +Alias: *None*. + +Inputs: + +* *threads_count* - unsigned int; Number of threads created for mining. +* *do_background_mining* - boolean; Allow to start the miner in @smart-mining mode. +* *ignore_battery* - boolean; Ignore battery status (for @smart-mining only) + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"start_mining","params":{"threads_count":1,"do_background_mining":true,"ignore_battery":false}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **stop_mining** + +Stop mining in the Monero daemon. + +Alias: *None*. + +Inputs: *None*. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"stop_mining"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **get_languages** + +Get a list of available languages for your wallet's seed. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *languages* - array of string; List of available languages + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_languages"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "languages": ["Deutsch","English","Español","Français","Italiano","Nederlands","Português","русский язык","日本語","简体中文 (中国)","Esperanto","Lojban"] + } +} +``` + + +### **create_wallet** + +Create a new wallet. You need to have set the argument "--wallet-dir" when launching monero-wallet-rpc to make this work. + +Alias: *None*. + +Inputs: + +* *filename* - string; Wallet file name. +* *password* - string; (Optional) password to protect the wallet. +* *language* - string; Language for your wallets' seed. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_wallet","params":{"filename":"mytestwallet","password":"mytestpassword","language":"English"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **open_wallet** + +Open a wallet. You need to have set the argument "--wallet-dir" when launching monero-wallet-rpc to make this work. + +Alias: *None*. + +Inputs: + +* *filename* - string; wallet name stored in --wallet-dir. +* *password* - string; (Optional) only needed if the wallet has a password defined. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"open_wallet","params":{"filename":"mytestwallet","password":"mytestpassword"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **close_wallet** + +Close the currently opened wallet, after trying to save it. + +Alias: *None*. + +Inputs: *None*. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"close_wallet"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **change_wallet_password** + +Change a wallet password. + +Alias: *None*. + +Inputs: + +* *old_password* - string; (Optional) Current wallet password, if defined. +* *new_password* - string; (Optional) New wallet password, if not blank. + +Outputs: *None*. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"change_wallet_password","params":{"old_password":"theCurrentSecretPassPhrase","new_password":"theNewSecretPassPhrase"}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + } +} +``` + + +### **is_multisig** + +Check if a wallet is a multisig one. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *multisig* - boolean; States if the wallet is multisig +* *ready* - boolean; +* *threshold* - unsigned int; Amount of signature needed to sign a transfer. +* *total* - unsigned int; Total amount of signature in the multisig wallet. + +Example for a non-multisig wallet: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"is_multisig"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "multisig": false, + "ready": false, + "threshold": 0, + "total": 0 + } +} +``` +Example for a multisig wallet: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"is_multisig"}' -H 'Content-Type: application/json' { + "id": "0", + "jsonrpc": "2.0", + "result": { + "multisig": true, + "ready": true, + "threshold": 2, + "total": 2 + } +} +``` + + +### **prepare_multisig** + +Prepare a wallet for multisig by generating a multisig string to share with peers. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *multisig_info* - string; Multisig string to share with peers to create the multisig wallet. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"prepare_multisig"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "multisig_info": "MultisigV1BFdxQ653cQHB8wsj9WJQd2VdnjxK89g5M94dKPBNw22reJnyJYKrz6rJeXdjFwJ3Mz6n4qNQLd6eqUZKLiNzJFi3UPNVcTjtkG2aeSys9sYkvYYKMZ7chCxvoEXVgm74KKUcUu4V8xveCBFadFuZs8shnxBWHbcwFr5AziLr2mE7KHJT" + } +} +``` + + +### **make_multisig** + +Make a wallet multisig by importing peers multisig string. + +Alias: *None*. + +Inputs: + +* *multisig_info* - array of string; List of multisig string from peers. +* *threshold* - unsigned int; Amount of signatures needed to sign a transfer. Must be less or equal than the amount of signature in `multisig_info`. +* *password* - string; Wallet password + +Outputs: + +* *address* - string; multisig wallet address. +* *multisig_info* - string; Multisig string to share with peers to create the multisig wallet (extra step for N-1/N wallets). + +Example for 2/2 Multisig Wallet: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_multisig","params":{"multisig_info":["MultisigV1K4tGGe8QirZdHgTYoBZMumSug97fdDyM3Z63M3ZY5VXvAdoZvx16HJzPCP4Rp2ABMKUqLD2a74ugMdBfrVpKt4BwD8qCL5aZLrsYWoHiA7JJwDESuhsC3eF8QC9UMvxLXEMsMVh16o98GnKRYz1HCKXrAEWfcrCHyz3bLW1Pdggyowop"],"threshold":2}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "address": "55SoZTKH7D39drxfgT62k8T4adVFjmDLUXnbzEKYf1MoYwnmTNKKaqGfxm4sqeKCHXQ5up7PVxrkoeRzXu83d8xYURouMod", + "multisig_info": "" + } +} +``` + +Example for 2/3 Multisig Wallet: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_multisig","params":{"multisig_info":["MultisigV1MTVm4DZAdJw1PyVutpSy8Q4WisZBCFRAaZY7hhQnMwr5AZ4swzThyaSiVVQM5FHj1JQi3zPKhQ4k81BZkPSEaFjwRJtbfqfJcVvCqRnmBVcWVxhnihX5s8fZWBCjKrzT3CS95spG4dzNzJSUcjheAkLzCpVmSzGtgwMhAS3Vuz9Pas24","MultisigV1TEx58ycKCd6ADCfxF8hALpcdSRAkhZTi1bu4Rs6FdRC98EdB1LY7TAkMxasM55khFgcxrSXivaSr5FCMyJGHmojm1eE4HpGWPeZKv6cgCTThRzC4u6bkkSoFQdbzWN92yn1XEjuP2XQrGHk81mG2LMeyB51MWKJAVF99Pg9mX2BpmYFj"],"threshold":2}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "address": "51sLpF8fWaK1111111111111111111111111111111111ABVbHNf1JFWJyFp5YZgZRQ44RiviJi1sPHgLVMbckRsDkTRgKS", + "multisig_info": "MultisigxV18jCaYAQQvzCMUJaAWMCaAbAoHpAD6WPmYDmLtBtazD654E8RWkLaGRf29fJ3stU471MELKxwufNYeigP7LoE4tn2Sscwn5g7PyCfcBc1V4ffRHY3Kxqq6VocSCUTncpVeUskaDKuTAWtdB9VTBGW7iG1cd7Zm1dYgur3CiemkGjRUAj9bL3xTEuyaKGYSDhtpFZFp99HQX57EawhiRHk3qq4hjWX" + } +} +``` + + +### **export_multisig_info** + +Export multisig info for other participants. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *info* - string; Multisig info in hex format for other participants. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"export_multisig_info"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "info": "4d6f6e65726f206d756c7469736967206578706f72740105cf6442b09b75f5eca9d846771fe1a879c9a97ab0553ffbcec64b1148eb7832b51e7898d7944c41cee000415c5a98f4f80dc0efdae379a98805bb6eacae743446f6f421cd03e129eb5b27d6e3b73eb6929201507c1ae706c1a9ecd26ac8601932415b0b6f49cbbfd712e47d01262c59980a8f9a8be776f2bf585f1477a6df63d6364614d941ecfdcb6e958a390eb9aa7c87f056673d73bc7c5f0ab1f74a682e902e48a3322c0413bb7f6fd67404f13fb8e313f70a0ce568c853206751a334ef490068d3c8ca0e" + } +} +``` + + +### **import_multisig_info** + +Import multisig info from other participants. + +Alias: *None*. + +Inputs: + +* *info* - array of string; List of multisig info in hex format from other participants. + +Outputs: + +* *n_outputs* - unsigned int; Number of outputs signed with those multisig info. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"import_multisig_info","params":{"info":["...multisig_info..."]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "n_outputs": 35 + } +} +``` + + +### **finalize_multisig** + +Turn this wallet into a multisig wallet, extra step for N-1/N wallets. + +Alias: *None*. + +Inputs: + +* *multisig_info* - array of string; List of multisig string from peers. +* *password* - string; Wallet password + +Outputs: + +* *address* - string; multisig wallet address. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"finalize_multisig","params":{"multisig_info":["MultisigxV1JNC6Ja2oBt5Sqea9LN2YEF7WYZCpHqr2EKvPG89Trf3X4E8RWkLaGRf29fJ3stU471MELKxwufNYeigP7LoE4tn2McPr4SbL9q15xNvZT5uwC9YRr7UwjXqSZHmTWN9PBuZEKVAQ4HPPyQciSCdNjgwsuFRBzrskMdMUwNMgKst1debYfm37i6PSzDoS2tk4kYTYj83kkAdR7kdshet1axQPd6HQ","MultisigxV1Unma7Ko4zdd8Ps3Af4oZwtj2JdWKzwNfP6s2G9ZvXhMoSscwn5g7PyCfcBc1V4ffRHY3Kxqq6VocSCUTncpVeUskMcPr4SbL9q15xNvZT5uwC9YRr7UwjXqSZHmTWN9PBuZE1LTpWxLoC3vPMSrqVVcjnmL9LYfdCZz3fECjNZbCEDq3PHDiUuY5jurQTcNoGhDTio5WM9xaAdim9YByiS5KyqF4"]}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "address": "5B9gZUTDuHTcGGuY3nL3t8K2tDnEHeRVHSBQgLZUTQxtFYVLnho5JJjWJyFp5YZgZRQ44RiviJi1sPHgLVMbckRsDqDx1gV" + } +} +``` + + +### **sign_multisig** + +Sign a transaction in multisig. + +Alias: *None*. + +Inputs: + +* *tx_data_hex* - string; Multisig transaction in hex format, as returned by `transfer` under `multisig_txset`. + +Outputs: + +* *tx_data_hex* - string; Multisig transaction in hex format. +* *tx_hash_list* - array of string; List of transaction Hash. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign_multisig","params":{"tx_data_hex":"...multisig_txset..."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "tx_data_hex": "...multisig_txset...", + "tx_hash_list": ["4996091b61c1be112c1097fd5e97d8ff8b28f0e5e62e1137a8c831bacf034f2d"] + } +} +``` + + +### **submit_multisig** + +Submit a signed multisig transaction. + +Alias: *None*. + +Inputs: + +* *tx_data_hex* - string; Multisig transaction in hex format, as returned by `sign_multisig` under `tx_data_hex`. + +Outputs: + +* *tx_hash_list* - array of string; List of transaction Hash. + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"submit_multisig","params":{"tx_data_hex":"...tx_data_hex..."}}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "tx_hash_list": ["4996091b61c1be112c1097fd5e97d8ff8b28f0e5e62e1137a8c831bacf034f2d"] + } +} +``` + + +### **get_version** + +Get RPC version Major & Minor integer-format, where Major is the first 16 bits and Minor the last 16 bits. + +Alias: *None*. + +Inputs: *None*. + +Outputs: + +* *version* - unsigned int; RPC version, formatted with `Major * 2^16 + Minor` (Major encoded over the first 16 bits, and Minor over the last 16 bits). + +Example: + +``` +$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_version"}' -H 'Content-Type: application/json' +{ + "id": "0", + "jsonrpc": "2.0", + "result": { + "version": 65539 + } +} +``` \ No newline at end of file diff --git a/_i18n/de/resources/moneropedia/00-base-00 b/_i18n/de/resources/moneropedia/00-base-00 new file mode 100644 index 00000000..d5d83a2b --- /dev/null +++ b/_i18n/de/resources/moneropedia/00-base-00 @@ -0,0 +1,9 @@ +--- +terms: ["", ""] +summary: "" +--- + +{% include untranslated.html %} +### The Basics + + \ No newline at end of file diff --git a/_i18n/de/resources/moneropedia/account.md b/_i18n/de/resources/moneropedia/account.md new file mode 100644 index 00000000..ae1f8e53 --- /dev/null +++ b/_i18n/de/resources/moneropedia/account.md @@ -0,0 +1,81 @@ +--- +terms: ["account", "accounts", "wallet", "wallets", "Account", "Accounts"] +summary: "similar in function to a bank account, contains all of your sent and received transactions" +--- + +{% include untranslated.html %} +### The Basics + +Those familiar with Monero's predecessors will be more familiar with the term *wallet* to describe this. In Monero we call this an account, and it is a private account owned and operated by a Monero user. + +Your account contains all of the Monero @transactions you have sent and received. Your account balance is a sum of all the Monero you've received, less the Monero you've sent. When using Monero you may notice that your account has two balances, a locked and an unlocked balance. The unlocked balance contains funds that can be spent immediately, and the locked balance contains funds that you can't spend right now. You may receive a transaction that has an @unlock-time set, or you may have sent some Monero and are waiting for the @change to come back to your wallet, both situations that could lead to those funds being locked for a time. + +A key difference between traditional electronic currency and Monero is that your account resides only under your control, normally on your computer, and cannot be accessed by anyone else if you [practice good security](#practicing-good-security). + +### Multiple Accounts + +There are no costs attached to creating a Monero account, and there are no fees charged except for individual @transaction fees that go to @miners. + +This means that individuals can easily create a Monero account for themselves as well as a joint account to share with their partner, and individual accounts for their children. Similarly, a business could create separate accounts for each division or group. Since Monero's @transaction fees are quite low, moving funds between accounts is not an expensive exercise. + +### Cryptographic Keys + +Monero relies heavily on a cryptography principle known as *public/private key cryptography* or *asymmetric cryptography*, which is thoroughly detailed in [this Wikipedia article](https://en.wikipedia.org/wiki/Public-key_cryptography). + +Your account is based on two keys, a @spend-key and a @view-key. The @spend-key is special in that it is the single key required to spend your Monero funds, whereas the @view-key allows you to reveal your @transactions to a third party, for example for auditing or accounting purposes. These keys in your account also play an important role in Monero's @transaction's privacy. + +The private keys for both of these must be protected by you in order to retain your account privacy. On the other hand, the public keys are obviously public (they are part of your Monero account address). For normal public/private key cryptography someone could send you a private message by encrypting it with either of your public keys, and you would then be the only one able to decrypt it with your private keys. + +### Backing Up Your Account + +When you manage your own Monero Account with the private @spend-key, you are solely responsible for the security of your funds. Thankfully, Monero makes it very easy to backup your account. When creating a Monero account for the first time you will be given a unique @mnemonic-seed for your account that consists of 13 or 25 words in the language of your choosing. **This seed is the only thing you need to backup for your account**, and so it is imperative that it is written down and stored securely. Never store this seed in a form or location that would allow someone else to see it! + +``` +List of available languages for your wallet's seed: +0 : Deutsch +1 : English +2 : Español +3 : Français +4 : Italiano +5 : Nederlands +6 : Português +7 : русский язык +8 : 日本語 +9 : 简体中文 (中国) +10 : Esperanto +Enter the number corresponding to the language of your choice: 1 +Generated new wallet: 4B15ZjveuttEaTmfZjLVioPVw7bfSmRLpSgB33CJbuC6BoGtZrug9TDAmhZEWD6XoFDGz55bgzisT9Dnv61sbsA6Sa47TYu +view key: 4130fa26463d9451781771a8baa5d0b8085c47c4500cefe4746bab48f1d15903 +********************************************************************** +Your wallet has been generated. +To start synchronizing with the daemon, use "refresh" command. +Use "help" command to see the list of available commands. +Always use "exit" command when closing monero-wallet-cli to save your +current session's state. Otherwise, you might need to synchronize +your wallet again (your wallet keys are NOT at risk in any case). + +PLEASE NOTE: the following 25 words can be used to recover access to your wallet. Please write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. + +aunt knuckle italics moisture hawk thorn iris abort +chlorine smog uphill glass aptitude nowhere sewage plywood +dual relic fierce divers anvil nodes bubble cabin abort +********************************************************************** +Starting refresh... +Refresh done, blocks received: 21939 +Balance: 0.000000000000, unlocked balance: 0.000000000000 +Background refresh thread started +[wallet 4B15Zj]: █ + +``` + +As the example above indicates, it is incredibly important to store these words in safe locations. If you are concerned about the risk of critical loss at your home, for instance, you may want to store a second copy of your seed with your attorney or in a safety deposit box. It is also recommended that it is stored in a way that does not make it obvious that it is your seed, so writing it into a letter or as part of other notes is advisable. + +### Practicing Good Security + +Over and above backing up your @mnemonic-seed so that you have access to your account in the event of critical data loss, it is also important to practice good security. Use a secure password when creating a local Monero account (not used on [MyMonero](https://mymonero.com) or other web-based account systems). + +Don't ever give your Monero account password to anyone, as this can be used to access the Monero on your computer without knowing your @mnemonic-seed. Similarly, make sure you have running and up-to-date antivirus, especially on Windows computers. Finally, be careful when clicking links in emails or on unknown and untrusted websites, as malware installed on your computer can sit and wait for you to access your Monero account before taking the funds from it. + +### Leaving Your Account to Next of Kin + +Providing access to your Monero account to your next of kin is just as easy as it is to backup your Monero account. Simply leave your @mnemonic-seed to them in your will, or store it somewhere safe where it will be given to them upon the execution of your will. A key advantage to this is that your next of kin won't have to wait for months for a third party to release the funds to them. diff --git a/_i18n/de/resources/moneropedia/address-book.md b/_i18n/de/resources/moneropedia/address-book.md new file mode 100644 index 00000000..06f7df91 --- /dev/null +++ b/_i18n/de/resources/moneropedia/address-book.md @@ -0,0 +1,34 @@ +--- +tags: ["kovri"] +terms: ["Address-Book"] +summary: "Allows you to visit I2P websites/services that have the .i2p domain" +--- + +{% include untranslated.html %} +### The Basics + +In order to browse @I2P sites or services with @Kovri, you'll need an address book. An address book will allow you to translate @I2P websites/services that use the `.i2p` [top-level domain](https://en.wikipedia.org/wiki/Top_level_domain) into an address that @I2P network will understand. + +Without an address book, you would be stuck using a @base32-address every time you visit an @I2P website/service - and that's not fun! + +### In-depth information + +Since [DNS](https://en.wikipedia.org/wiki/DNS) does not exist on the @I2P network, @Kovri also does **not** use DNS or any sort of @canonically-unique-host resolution. Instead, Kovri pairs a @locally-unique-host to a @base64-address @destination in a @subscription. Once your address book is filled with a @subscription, you can resolve your favorite `.i2p` domain site into a usable @I2P destination. + +### Creating an Address Book + +By default, your installation will come with a default public @subscription called `hosts.txt` in your @data-directory. When @Kovri starts, it loads this subscription and fetches any other subscriptions you've specified. Once loaded, your address book will be appropriately filled. For details on how to manage subscriptions, see @subscription. + +### Updating the Address Book + +Currently, there are several ways to update your address book: + +1. Use a @jump-service to insert I2P addresses into your address book +2. Use a @jump-service to copy/paste an address into your private @subscription +3. Manually add or subtract from a private @subscription + +**Note: Kovri is in heavy development. In the future there *will* be easier ways to update the address book** + +### Address Book / Naming specification + +For specification details and more, visit the [Address Book and Naming Specification](https://geti2p.net/en/docs/naming) diff --git a/_i18n/de/resources/moneropedia/address.md b/_i18n/de/resources/moneropedia/address.md new file mode 100644 index 00000000..af909a26 --- /dev/null +++ b/_i18n/de/resources/moneropedia/address.md @@ -0,0 +1,21 @@ +--- +terms: ["address", "addresses", "Adresse" , "Adressen"] +summary: "either an alias, such as donate.getmonero.org, or a set of 95 characters starting with a 4" +--- + +{% include untranslated.html %} +### The Basics + +When you send Monero to someone you only need one piece of information, and that is their Monero address. A *raw* Monero address is a set of 95 characters starting with a '4'. The Monero donation address, for instance, is 44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A. + +Because those addresses are long and complex, you will often encounter an @OpenAlias address instead. For example, Monero donations can be sent to donate@getmonero.org or donate.getmonero.org. + +If you would like to get an @OpenAlias address of your own then there is some information on the [OpenAlias page](/resources/openalias). + +### Integrated address + +An integrated address is an address combined with an encrypted 64-bit @payment-ID. A raw integrated address is 106 characters long. + +### In-depth Information + +The address is actually the concatenation, in Base58 format, of the *public* @spend-key and the *public* @view-key, prefixed with the network byte (the number 18 for Monero) and suffixed with the first four bytes of the Keccac-256 hash of the whole string (used as a checksum). diff --git a/_i18n/de/resources/moneropedia/airgap.md b/_i18n/de/resources/moneropedia/airgap.md new file mode 100644 index 00000000..4f9de2a4 --- /dev/null +++ b/_i18n/de/resources/moneropedia/airgap.md @@ -0,0 +1,11 @@ +--- +terms: ["airgap"] +summary: "An airgap is a security measure to physically separate a computer or device from all other networks, such as the Internet." +--- + +{% include untranslated.html %} +### The Basics + +"An air gap, air wall or air gapping is a network security measure employed on one or more computers to ensure that a secure computer network is physically isolated from unsecured networks, such as the public Internet or an unsecured local area network.[2] The name arises from the technique of creating a network that is physically separated (with a conceptual air gap) from all other networks. The air gap may not be completely literal, as networks employing the use of dedicated cryptographic devices that can tunnel packets over untrusted networks while avoiding packet rate or size variation can be considered air gapped, as there is no ability for computers on opposite sides of the gap to communicate." + +Taken from https://en.wikipedia.org/wiki/Air_gap_(networking) diff --git a/_i18n/de/resources/moneropedia/atomic-units.md b/_i18n/de/resources/moneropedia/atomic-units.md new file mode 100644 index 00000000..93b66834 --- /dev/null +++ b/_i18n/de/resources/moneropedia/atomic-units.md @@ -0,0 +1,11 @@ +--- +terms: ["atomic-units", "atomic-unit"] +summary: "Atomic Units refer to the smallest fraction of 1 XMR." +--- + +{% include untranslated.html %} +### The Basics + +Atomic Units refer to the smallest fraction of 1 XMR. +One atomic unit is currently 1e-12 XMR (0.000000000001 XMR, or one @piconero). +It may be changed in the future. diff --git a/_i18n/de/resources/moneropedia/base32-address.md b/_i18n/de/resources/moneropedia/base32-address.md new file mode 100644 index 00000000..0e3a88e2 --- /dev/null +++ b/_i18n/de/resources/moneropedia/base32-address.md @@ -0,0 +1,26 @@ +--- +tags: ["kovri"] +terms: ["Base32-address", "Base32-addresses"] +summary: "Base32 encoded hash of a Base64 address" +--- + +{% include untranslated.html %} +### The Basics + +A Base32 address is a shortened, encoded version of an @I2P address. The Base32 address is the first part in a `.b32.i2p` hostname. + +Example: + +`i35yftyyb22xhcvghmev46t5knefur5v66qzekkajatwfwhyklvq.b32.i2p` + +where + +`i35yftyyb22xhcvghmev46t5knefur5v66qzekkajatwfwhyklvq` is the Base32 address. + +### In-depth Information + +Ultimately, a Base32 address is a 52 character [Base32 encoded representation](https://en.wikipedia.org/wiki/Base32) of the full SHA-256 hash of an @I2P @base64-address. + +### Notes + +**Note: `.b32` is not a sub-domain of `.i2p`** diff --git a/_i18n/de/resources/moneropedia/base64-address.md b/_i18n/de/resources/moneropedia/base64-address.md new file mode 100644 index 00000000..b9985658 --- /dev/null +++ b/_i18n/de/resources/moneropedia/base64-address.md @@ -0,0 +1,21 @@ +--- +tags: ["kovri"] +terms: ["Base64-address", "Base64-addresses"] +summary: "Base64 encoded I2P destination" +--- + +{% include untranslated.html %} +### The Basics + +A @base64-address is a 516-character [Base64 encoded](https://en.wikipedia.org/wiki/Base64) @I2P @destination. @base64-addresses are primarily used for @address-book, @jump-service, and also internally. + +Example: + +``` +AQZGLAMpI9Q0l0kmMj1vpJJYK3CjLp~fE3MfvE-e7KMKjI5cPOH6EN8m794uHJ6b09qM8mb9VEv1lVLEov~usVliTSXCSHuRBOCIwIOuDNU0AbVa4BpIx~2sU4TxKhoaA3zQ6VzINoduTdR2IJhPvI5xzezp7dR21CEQGGTbenDslXeQ4iLHFA2~bzp1f7etSl9T2W9RID-KH78sRQmzWnv7dbhNodMbpO6xsf1vENf6bMRzqD5vgHEHZu2aSoNuPyYxDU1eM6--61b2xp9mt1k3ud-5WvPVg89RaU9ugU5cxaHgR927lHMCAEU2Ax~zUb3DbrvgQBOTHnJEx2Fp7pOK~PnP6ylkYKQMfLROosLDXinxOoSKP0UYCh2WgIUPwE7WzJH3PiJVF0~WZ1dZ9mg00c~gzLgmkOxe1NpFRNg6XzoARivNVB5NuWqNxr5WKWMLBGQ9YHvHO1OHhUJTowb9X90BhtHnLK2AHwO6fV-iHWxRJyDabhSMj1kuYpVUBQAEAAcAAA== +``` + + +### In-depth Information + +See @destination for details behind @base64-address diff --git a/_i18n/de/resources/moneropedia/block.md b/_i18n/de/resources/moneropedia/block.md new file mode 100644 index 00000000..8a18461d --- /dev/null +++ b/_i18n/de/resources/moneropedia/block.md @@ -0,0 +1,15 @@ +--- +terms: ["block", "blocks"] +summary: "a container of transactions, a sequence of which forms a blockchain" +--- + +{% include untranslated.html %} +### The Basics + +A block is a container of @transactions, with a new block being added to the @blockchain once every 2 minutes (see constant `DIFFICULTY_TARGET_V2` defined as 120 seconds), on average. + +Blocks also contain a special type of transaction, the @coinbase-transaction, which add newly created Monero to the network. + +Blocks are created through the process of @mining, and the @node that successfully mines the block then broadcasts it to each of the @nodes connected to it, who subsequently re-broadcast the block until the entire Monero network has received it. + +Fake or bad blocks generally cannot be created, as @nodes that receive blocks always verify the @transactions they contain against a set of consensus rules that all nodes adhere to, including validating the cryptographic @signatures on each transaction. diff --git a/_i18n/de/resources/moneropedia/blockchain.md b/_i18n/de/resources/moneropedia/blockchain.md new file mode 100644 index 00000000..688c028e --- /dev/null +++ b/_i18n/de/resources/moneropedia/blockchain.md @@ -0,0 +1,12 @@ +--- +terms: ["blockchain", "blockchains"] +summary: "a distributed ledger of all transactions both past and present, without revealing who the funds came from or went to" + +--- + +{% include untranslated.html %} +### The Basics +A @blockchain is a distributed database that continuously grows with a record of all of the transactions that have occurred with a given cryptocurrency. This database is often referred to as a ledger because the data contains a large list of transactions that have taken place. In Monero, these transactions are packaged together into 'blocks' every 2 minutes (on average), and all miners and nodes on the network have copies of these blocks. + +### Monero's @Blockchain +Unlike Bitcoin and other cryptocurrencies, transactions in the Monero @blockchain do not reveal where funds came from or went to, providing anonymity and making the currency completely @fungible. Additionally, the amounts of all transactions are hidden by @RingCT, a feature of Monero. For auditing or other transparency purposes a user can share a @view-key to prove they control certain amounts of Moneroj. diff --git a/_i18n/de/resources/moneropedia/bootstrap-node.md b/_i18n/de/resources/moneropedia/bootstrap-node.md new file mode 100644 index 00000000..ca61af22 --- /dev/null +++ b/_i18n/de/resources/moneropedia/bootstrap-node.md @@ -0,0 +1,13 @@ +--- +terms: ["bootstrap-node", "bootstrap-nodes"] +summary: "A node to which a daemon connects to give immediate usability to wallets while syncing" +--- + +{% include untranslated.html %} +### The Basics + +The daemon running on a local @node has to sync with other (remote) @nodes. While it is not fully synced, @wallet may still be connected to the local node. Therefore, the @wallet cannot access the @blocks that are bot yet synced on the local @node. + +To allow the @wallet to be immediately usable, the daemon on the local @node uses a bootstrap node to which the RPC request are proxying to, giving access to the missing @blocks. + +Note: the replies from the bootstrap node may be untrustworthy. diff --git a/_i18n/de/resources/moneropedia/canonically-unique-host.md b/_i18n/de/resources/moneropedia/canonically-unique-host.md new file mode 100644 index 00000000..f8c8c7bc --- /dev/null +++ b/_i18n/de/resources/moneropedia/canonically-unique-host.md @@ -0,0 +1,22 @@ +--- +tags: ["kovri"] +terms: ["Canonically-unique-host"] +summary: "A host that is canonically resolved to an address or set of addresses" +--- + +{% include untranslated.html %} +### The Basics + +A Canonically-unique host is a [FQDN](https://en.wikipedia.org/wiki/FQDN) that will canonically resolve to a designated address or set of addresses. Not to be confused with a @locally-unique-host. + +### In-depth information + +A Canonically-unique host is defined by remote authoritative sources; usually through [DNS](https://en.wikipedia.org/wiki/DNS). When resolving a peer's hostname, you will most likely use an external source for resolution unless you have the following implemented: + +- a database file similar to a [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) +- an internal-network resolver (which eventually pulls from external sources) + +### Notes + +- Monero primarily uses @canonically-unique-host resolution while @I2P only uses @locally-unique-host resolution. +- @I2P's and @Kovri's self-assigned top-level domain is currently `.i2p` and @Kovri intends to only process/use the `.i2p` [top-level domain](https://en.wikipedia.org/wiki/Top_level_domain) diff --git a/_i18n/de/resources/moneropedia/change.md b/_i18n/de/resources/moneropedia/change.md new file mode 100644 index 00000000..c870d1ef --- /dev/null +++ b/_i18n/de/resources/moneropedia/change.md @@ -0,0 +1,15 @@ +--- +terms: ["change"] +summary: "Monero sent as part of a transaction, that returns to your account instead of going to another recipient" +--- + +{% include untranslated.html %} +### The Basics + +Monero sent as part of a transaction, that returns to your account instead of going to another recipient. + +### More Information + +The @wallet in the Monero software makes change automatically, but when you send a transaction, you are taking an input that you control and telling the Monero network what to do with it. The input is a "deposit" to your account that you are able to spend. Outputs are the part of the transaction that tells the Monero network where to send the funds. + +You might have multiple inputs in your account, in many different denominations (For example: you deposited 0.5 XMR on Friday, and 0.75 XMR on Saturday). So, when have a transaction with an input of 0.5 XMR, but you only want to send 0.1 XMR, your transaction will include a fee to pay the @miner, an output for 0.1 XMR to send to the recipient, and the rest that you want to send back to yourself will be an output back to you (this is called "change"). Once the transaction is completed, the change becomes available to you as an input that you can again split and send with a new transaction. diff --git a/_i18n/de/resources/moneropedia/clearnet.md b/_i18n/de/resources/moneropedia/clearnet.md new file mode 100644 index 00000000..34f20eaa --- /dev/null +++ b/_i18n/de/resources/moneropedia/clearnet.md @@ -0,0 +1,32 @@ +--- +tags: ["kovri"] +terms: ["Clearnet"] +summary: "The Internet in which anonymous overlay networks are built upon" +--- + +{% include untranslated.html %} +### The Basics + +When you use the Internet for things like news, email, social media, and even Monero, you are most likely using a clearnet connection. This means that *all* of your connections can be tracked, traced, and monitored by: + +- your [ISP](https://en.wikipedia.org/wiki/ISP) +- the website/service/person you're communicating with +- possibly a [Five Eyes](https://en.wikipedia.org/wiki/5_Eyes) capable entity + +and even if you use [HTTPS](https://en.wikipedia.org/wiki/HTTPS) or similar (which *encrypts* your transmission), your route is not hidden nor is it anonymous, thus; it is in the *clear*. + +### In-depth information + +Since a traditional [VPN](https://en.wikipedia.org/wiki/VPN) cannot save you from clearnet (as you are still using *clearnet* (though you are more proxied than without a VPN)), you should use an *anonymous overlay network* to avoid using clearnet directly: + +- @Kovri +- @Java-I2P +- [Tor](https://torproject.org/) + +These technologies protect you from clearnet by building an anonymous network **over** clearnet to keep your transmissions both encrypted **and** anonymous. + +Here is an accurate, [interactive diagram](https://www.eff.org/pages/tor-and-https) provided by the [EFF](https://www.eff.org/) which describes *clearnet* as it relates to **Tor**. The concept also (somewhat) applies to @Kovri and @I2P in terms of anonymity with the exception that: + +- @Kovri does not use exit nodes when connecting to an @eepsite +- Your traffic never need to leave the @I2P network +- You do not need HTTPS to use @Kovri (with the exception of @reseed) diff --git a/_i18n/de/resources/moneropedia/coinbase.md b/_i18n/de/resources/moneropedia/coinbase.md new file mode 100644 index 00000000..13674680 --- /dev/null +++ b/_i18n/de/resources/moneropedia/coinbase.md @@ -0,0 +1,9 @@ +--- +terms: ["coinbase-transaction"] +summary: "a special type of transaction included in each block, which contains a small amount of Monero sent to the miner as a reward for their mining work" +--- + +{% include untranslated.html %} +### The Basics + +A special type of transaction included in each block, which contains a small amount of Monero sent to the miner as a reward for their mining work. \ No newline at end of file diff --git a/_i18n/de/resources/moneropedia/consensus.md b/_i18n/de/resources/moneropedia/consensus.md new file mode 100644 index 00000000..3df97bc5 --- /dev/null +++ b/_i18n/de/resources/moneropedia/consensus.md @@ -0,0 +1,9 @@ +--- +terms: ["consensus", "consensus-network"] +summary: "consensus describes a property of distributed networks like Monero where most of the participants follow the rules, and thus reject bad participants" +--- + +{% include untranslated.html %} +### The Basics + +Consensus describes a property of distributed networks like Monero where most of the participants follow the rules, and thus reject bad participants. \ No newline at end of file diff --git a/_i18n/de/resources/moneropedia/cryptocurrency.md b/_i18n/de/resources/moneropedia/cryptocurrency.md new file mode 100644 index 00000000..55e3f5b3 --- /dev/null +++ b/_i18n/de/resources/moneropedia/cryptocurrency.md @@ -0,0 +1,21 @@ +--- +terms: ["cryptocurrency", "cryptocurrencies", "altcoin", "altcoins", "Kryptowährungen", "Kryptowährung"] +summary: "a digital currency in which encryption techniques are used to regulate the generation of units of currency and verify the transfer of funds, usually operating independently of a central bank" +--- + +{% include untranslated.html %} +### The Basics + +A digital currency in which encryption techniques are used to regulate the generation of units of currency and verify the transfer of funds, usually operating independently of a central bank. + +### More Information + +Cryptocurrency is the generic term for a large set of digital assets that use encryption techniques to generate units of currency, verify the transactions, and transfer value. Generally, cryptocurrencies are considered to be decentralized. Cryptocurrency should not be confused with virtual currency which is a type of digital money that is usually controlled by its creators or developers. Some examples of virtual currency are gametime in World of Warcraft, ROBUX in Roblox, reward points programs, or Ripple, all of which can be exchanged for currency or cash value, but are not considered cryptocurrency because they are centalized and controlled/issued by a single entity. + +Monero is one of many cryptocurrencies currently available. Other examples are Bitcoin, Litecoin, Dogecoin, Dash, Zcash, etc, but nearly all other cryptocurrencies lack features that make them a true money (most importantly @fungibility which is a requirement for it to be a store-of-value). + +Not all cryptocurrencies operate the same, but they usually share the properties of decentralization, encryption, and the ability to send and receive transactions. Most are irreversible, pseudonymous, global, and permissionless. Most aim to be a store-of-value or be digital cash that allows you to transact. + +Most cryptocurrencies (including Monero) use a distributed ledger (called a @blockchain) to keep track of previous transactions. The blockchain serves to tell other users on the network that transactions have happened. There are many different ways for cryptocurrencies to create their blockchain, and not all are the same. Monero uses proof-of-work to craft blocks, where other cryptocurrencies may use proof-of-stake or other consolidated methods. + +Ultimately, cryptocurrency is an attempt to create trustless value; that is free from borders, governments, and banks. Whether that be to transact or to be digital gold is up to the users of each. diff --git a/_i18n/de/resources/moneropedia/data-directory.md b/_i18n/de/resources/moneropedia/data-directory.md new file mode 100644 index 00000000..761cfd46 --- /dev/null +++ b/_i18n/de/resources/moneropedia/data-directory.md @@ -0,0 +1,21 @@ +--- +tags: ["kovri"] +terms: ["Data-Directory"] +summary: "Where essential kovri data for runtime is stored" +--- + +{% include untranslated.html %} +### The Basics + +Depending on your OS, @Kovri currently stores all run-time data in the following directory: + +- Linux/FreeBSD: + - `$HOME/.kovri` + +- OSX: + - `$HOME/Library/Application\ Support/Kovri` + +- Windows: + - `"$APPDATA"\\Kovri` + +This includes all configuration files, @address-book, certificates, and resources. diff --git a/_i18n/de/resources/moneropedia/denominations.md b/_i18n/de/resources/moneropedia/denominations.md new file mode 100644 index 00000000..e110a221 --- /dev/null +++ b/_i18n/de/resources/moneropedia/denominations.md @@ -0,0 +1,39 @@ +--- +terms: ["denominations", "subunits", "tacoshi", "piconero", "nanonero", "micronero", "millinero", "centinero", "decinero","decanero","hectonero","kilonero","meganero","giganero"] +summary: "A denomination is a proper description of a currency amount. It is oftentimes a sub-unit of the currency. For example, traditionally a cent is 1/100th of a particular unit of currency.)" +--- + +{% include untranslated.html %} +### The Basics + +A denomination is a proper description of a currency amount. It is oftentimes a sub-unit of the currency. For example, traditionally a cent is 1/100th of a particular unit of currency.). + +Monero denomination names add SI prefixes after dropping the initial "mo" for ease of use. Actually, the smallest unit of Monero is 1 piconero (0.000000000001 XMR). + +### Denominations of Monero + +|------------+----------+-------------------| +| Name | Base 10 | Amount | +|-----------:|:--------:| -----------------:| +| piconero | 10^-12 | 0.000000000001 | +| nanonero | 10^-9 | 0.000000001 | +| micronero | 10^-6 | 0.000001 | +| millinero | 10^-3 | 0.001 | +| centinero | 10^-2 | 0.01 | +| decinero | 10^-1 | 0.1 | +|============+==========+===================| +| **monero** | **10^0** | **1** | +|============+==========+===================| +| decanero | 10^1 | 10 | +| hectonero | 10^2 | 100 | +| kilonero | 10^3 | 1,000 | +| meganero | 10^6 | 1,000,000 | +|------------+----------+-------------------| + +### In-depth Information + +Support for input using SI prefixes was [added to the Monero codebase](https://github.com/monero-project/monero/pull/1826) on March 3, 2017 by [Moneromooo](https://github.com/moneromooo-monero). The smallest unit of Monero (10^-12 XMR) was originally called a tacoshi in honor of user [Tacotime](https://bitcointalk.org/index.php?action=profile;u=19270), an early Monero contributor and was later renamed for ease of use and consistancy. + +### Monerod Implementation + +The smallest fraction of Monero in the current monerod implementation is also known as the @atomic-unit, which is currently one piconero. diff --git a/_i18n/de/resources/moneropedia/destination.md b/_i18n/de/resources/moneropedia/destination.md new file mode 100644 index 00000000..7a48da2a --- /dev/null +++ b/_i18n/de/resources/moneropedia/destination.md @@ -0,0 +1,18 @@ +--- +tags: ["kovri"] +terms: ["Destination", "Destinations"] +summary: "A in-net address that serves as a final endpoint (either local or remote)" +--- + +{% include untranslated.html %} +### The Basics + +A @destination is the @I2P @in-net address of the final endpoint you are trying to connect to (example: an @I2P website, service, or Monero node). This can also include a *local destination* of which *other* peers need to connect to in order to make contact for communication (similar to how, in @clearnet, your IP address is given to a website when you connect so it knows *where* to send the information back to). + +### In-depth Information + +An @I2P destination can be encoded into a @base32-address or @base64-address. Most users will only care about @base32-addresses or a `.i2p` hostname while, internally, @Kovri / @I2P @address-book uses @base64-addresses. Ultimately, all @destinations in @I2P are 516-byte (or longer) keys: + +`256-byte public key + 128-byte signing key + a null certificate = 516 bytes in Base64 representation` + +Note: certificates are not used now but, if they were, the keys would be longer. diff --git a/_i18n/de/resources/moneropedia/eepsite.md b/_i18n/de/resources/moneropedia/eepsite.md new file mode 100644 index 00000000..cd450d97 --- /dev/null +++ b/_i18n/de/resources/moneropedia/eepsite.md @@ -0,0 +1,29 @@ +--- +tags: ["kovri"] +terms: ["Eepsite", "Hidden-Service", "Garlic-Site", "Garlic-Service"] +summary: "A website or service hosted within the I2P network" +--- + +{% include untranslated.html %} +### The Basics + +Is it [**EEP!** *(in response to the site's content)*](https://en.wikipedia.org/wiki/Onomatopoeia), or **end-to-end protocol**, or something else entirely different? + +While the original definition of eepsite has been lost with time, its use-case remains: an eepsite is a website or service that is hosted within (and only accessible by) the @I2P network. + +### In-depth Information + +Alternate names include: + +1. *Hidden Service* + - because the site/service is *hidden* within the @I2P network and can only be visited within the network +2. *Garlic Site* + - because the website utilizes @I2P's @garlic-routing technology as a means of communicating with a client + - because the service is hosted as a website and not any other type of service +3. *Garlic Service* + - because the service utilizes @I2P's @garlic-routing technology as a means of communicating with a client + - because the service is specific to services like IRC, email, or a Monero peer (but may also include websites) + +### Notes + +To learn how to setup an Eepsite (Hidden Service, Garlic Site, Garlic Service) visit the @Kovri [user-guide](https://gitlab.com/kovri-project/kovri-docs/blob/master/i18n/en/user_guide.md). diff --git a/_i18n/de/resources/moneropedia/encryption.md b/_i18n/de/resources/moneropedia/encryption.md new file mode 100644 index 00000000..f066d826 --- /dev/null +++ b/_i18n/de/resources/moneropedia/encryption.md @@ -0,0 +1,34 @@ +--- +tags: ["kovri"] +terms: ["encryption", "encrypted", "encrypting", "decryption", "decrypted", "decrypting"] +summary: "The process of encoding messages or information in a way that only authorized parties can decode and read" +--- + +{% include untranslated.html %} +### The Basics + +From [Encryption](https://en.wikipedia.org/wiki/Encryption): + +> +In cryptography, encryption is the process of encoding messages or information in such a way that only authorized parties can decode and read what is sent. Encryption does not of itself prevent interception, but denies the message content to the interceptor. + +### In-depth information + +From [Encryption](https://en.wikipedia.org/wiki/Encryption): + +> + In an encryption scheme, the intended communication information or message (referred to as *plaintext*), is encrypted using an encryption algorithm, generating ciphertext that can only be read if decrypted. For technical reasons, an encryption scheme usually uses a pseudo-random encryption key generated by an algorithm. It is in principle possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, large computational resources and skill are required. An authorized recipient can easily decrypt the message with the key provided by the originator to recipients, but not to unauthorized interceptors. + +> +The purpose of encryption is to ensure that only somebody who is authorized to access data (e.g. a text message or a file), will be able to read it, using the decryption key. Somebody who is not authorized can be excluded, because he or she does not have the required key, without which it is impossible to read the encrypted information. + +### Kovri + +@Kovri implements various types of encryption in *at least* 4 essential capacities: + +- @Reseed for bootstrapping +- @Garlic-routing: three layers of encryption (@garlic-encryption) are used to verify the secure delivery of @messages to the recipient/peer/@destination +- @Tunnel encryption: garlic messages are passed through a @tunnel and encrypted by the @tunnel gateway to the @tunnel endpoint +- @Transport layer encryption prevents the ability to decrypt @messages at the [media layer](https://en.wikipedia.org/wiki/OSI_model) + +For details on the types of encryption and cryptographic @signatures used in @Kovri and @I2P, visit @Java-I2P's [Cryptography](https://geti2p.net/spec/cryptography) diff --git a/_i18n/de/resources/moneropedia/floodfill.md b/_i18n/de/resources/moneropedia/floodfill.md new file mode 100644 index 00000000..cccd9011 --- /dev/null +++ b/_i18n/de/resources/moneropedia/floodfill.md @@ -0,0 +1,14 @@ +--- +tags: ["kovri"] +terms: ["Floodfill"] +summary: "An I2P router which maintains a distributed network-database" +--- + +{% include untranslated.html %} +### The Basics + +By actively managing a distributed network-database, a router with *floodfill* capability has the ability to help maintain network stability and resiliancy while also being decentralized and trust-less. + +### In-depth information + +Though floodfill itself is a simple storage system, the technical underpinnings of floodfill as it relates to @network-database and other protocols within @I2P are much more complex. Visit the [Network Database](https://geti2p.net/en/docs/how/network-database) page for details. diff --git a/_i18n/de/resources/moneropedia/fluffyblocks.md b/_i18n/de/resources/moneropedia/fluffyblocks.md new file mode 100644 index 00000000..5bd5aaca --- /dev/null +++ b/_i18n/de/resources/moneropedia/fluffyblocks.md @@ -0,0 +1,18 @@ +--- +terms: ["fluffy blocks", "fluffyblocks"] +summary: "a way of saving bandwidth when sending new blocks around the network" +--- + +{% include untranslated.html %} +### The Basics + +A @block is made up of a header and @transactions. Fluffy Blocks only contain +a header, a list of transaction indices, and any transactions that the node +recieving the block may be missing. This saves bandwidth because nodes might +already know about most or all of the transactions in the block and they don't +need to be sent them again. + +### See Also + +* [BIP152 "Compact Block Relay"](https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki) +* [Xthin](https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/release/doc/bu-xthin-protocol.md) diff --git a/_i18n/de/resources/moneropedia/fungibility.md b/_i18n/de/resources/moneropedia/fungibility.md new file mode 100644 index 00000000..18eff751 --- /dev/null +++ b/_i18n/de/resources/moneropedia/fungibility.md @@ -0,0 +1,16 @@ +--- +terms: ["fungibility", "fungible"] +summary: "property of a currency whereby two units can be substituted in place of one another" +--- + +{% include untranslated.html %} +### The Basics + +Property of a currency whereby two units can be substituted in place of one another. + +Fungibility means that two units of a currency can be mutually substituted and the substituted currency is equal to another unit of the same size. For example, two $10 bills can be exchanged and they are functionally identical to any other $10 bill in circulation (although $10 bills have unique ID numbers and are therefore not completely fungible). Gold is probably a closer example of true fungibility, where any 1 oz. of gold of the same grade is worth the same as another 1 oz. of gold. Monero is fungible due to the nature of the currency which provides no way to link transactions together nor trace the history of any particular XMR. 1 XMR is functionally identical to any other 1 XMR. + +Fungibility is an advantage Monero has over Bitcoin and almost every other cryptocurrency, due to the privacy inherent in the Monero @blockchain and the permanently traceable nature of the Bitcoin blockchain. With Bitcoin, any BTC can be tracked by anyone back to its creation @coinbase-transaction. Therefore, if a coin has been used for an illegal purpose in the past, this history will be contained in the @blockchain in perpetuity. This lack of fungibility means that certain businesses will be obligated to avoid accepting BTC that have been previously used for purposes which are illegal, or simply run afoul of their Terms of Service. Currently some large Bitcoin companies are blocking, suspending, or closing accounts that have received Bitcoin used in online gambling or other purposes deemed unsavory by said companies. + +Monero has been built specifically to address the problem of traceability and non-fungibility inherent in other cryptocurrencies. By having completely private transactions Monero is truly fungible and there can be no blacklisting of certain XMR, while at the same time providing all the benefits of a secure, decentralized, permanent blockchain. + diff --git a/_i18n/de/resources/moneropedia/garlic-encryption.md b/_i18n/de/resources/moneropedia/garlic-encryption.md new file mode 100644 index 00000000..a0548b3c --- /dev/null +++ b/_i18n/de/resources/moneropedia/garlic-encryption.md @@ -0,0 +1,24 @@ +--- +tags: ["kovri"] +terms: ["Garlic-Encryption", "Layered-Encryption"] +summary: "Layered encryption as implemented in Kovri / I2P" +--- + +{% include untranslated.html %} +### The Basics + +@garlic-encryption is @I2P's implementation of @message based @layered-encryption (similar to flow-based [Onion-Routing](https://en.wikipedia.org/wiki/Onion_routing)). + +By @encrypting @messages in layers, this allows a @message to be routed through a sequence of proxies without allowing the proxies (or any intermediaries) to read the contents of the @message. @Layered-Encryption is a fundamental feature in @Kovri, @I2P, and [Tor](https://torproject.org) and is the cornerstone for securing anonymity within these overlay-networks. + +### In-depth information + +For @garlic-encryption, the primary difference between @Kovri/@I2P and Tor is: + +- @Kovri/@I2P bundles multiple @messages together to form garlic "cloves" + - any number of messages can be contained in a "clove" instead of *only* a single message +- @Kovri/@I2P uses [ElGamal](https://en.wikipedia.org/wiki/ElGamal)/[AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) @encryption for @messages and @transports + +### Notes + +For details, see @garlic-routing. diff --git a/_i18n/de/resources/moneropedia/garlic-routing.md b/_i18n/de/resources/moneropedia/garlic-routing.md new file mode 100644 index 00000000..4a1d26b9 --- /dev/null +++ b/_i18n/de/resources/moneropedia/garlic-routing.md @@ -0,0 +1,44 @@ +--- +tags: ["kovri"] +terms: ["Garlic-Routing"] +summary: "Routing technology as implemented in Kovri" +--- + +{% include untranslated.html %} +### The Basics + +The term *@garlic-routing* has a diverse history of varying interpretations. As it currently stands, Monero defines *@garlic-routing* as the method in which @Kovri and @I2P create a @message-based anonymous overlay network of Internet peers. + +The @Garlic-Encryption of @Garlic-Routing is similar to the @Layered-Encryption of [Onion Routing](https://en.wikipedia.org/wiki/Onion_routing) and effectively conceals the IP address of the sender and secures information sent from the sender to its @destination (and vice-versa). + +### History + +In written form, the term *@garlic-routing* can be seen as early as June of 2000 in Roger Dingledine's [Free Haven Master's thesis](http://www.freehaven.net/papers.html) (Section 8.1.1) as derived from the term Onion Routing. + +As recent as October of 2016, [#tor-dev](https://oftc.net/WebChat/) has offered insight into the creation of the term *@garlic-routing*: + +[Nick Mathewson](https://en.wikipedia.org/wiki/The_Tor_Project,_Inc): +>[I think that there was some attempt to come up with a plant whose structure resembled the 'leaky-pipe' topology of tor, but I don't believe we ever settled on one.] + +[Roger Dingledine](https://en.wikipedia.org/wiki/Roger_Dingledine): +>during the free haven brainstorming, there was a moment where we described a routing mechanism, and somebody said "garlic routing!", and everybody laughed. +so we for sure thought we had invented the name, at the time. + +*Note: permission to use the aforementioned quotes was granted by Nick Mathewson and Roger Dingledine* + +### In-depth Information + +In technical terms, for @Kovri and @I2P, *@garlic-routing* translates to any/all of the following: + +- @Layered-Encryption (similar to the @layered-encryption in Onion Routing) +- Bundling multiple @messages together (garlic cloves) +- ElGamal/AES @encryption + +*Note: though [Tor](https://torproject.org/) uses @layered-encryption, Tor does not use ElGamal and is not message-based.* + +**Read more in @garlic-encryption.** + +### Notes + +- In terms of Onion/Garlic Routing, another way to envision layered @encryption is by replacing the onion/garlic with a [Matryoshka doll](https://en.wikipedia.org/wiki/Matryoshka_doll) - with each outer/inner doll having a lock and public key to the next/previous doll +- For more technical details on Garlic Routing, read the @Java-I2P entry on [Garlic Routing](https://geti2p.net/en/docs/how/garlic-routing) diff --git a/_i18n/de/resources/moneropedia/i2np.md b/_i18n/de/resources/moneropedia/i2np.md new file mode 100644 index 00000000..1e7841ae --- /dev/null +++ b/_i18n/de/resources/moneropedia/i2np.md @@ -0,0 +1,27 @@ +--- +tags: ["kovri"] +terms: ["I2NP"] +summary: "The I2P Network Protocol: the mechanism in which I2NP messages are sent over the I2P network" +--- + +{% include untranslated.html %} +### The Basics + +From @Java-I2P: + +> +@I2NP manages the routing and mixing of messages between routers, as well as the selection of what transports to use when communicating with a peer for which there are multiple common transports supported + +### In-depth information + +From @Java-I2P: + +> +@I2NP (@I2P Network Protocol) @messages can be used for one-hop, router-to-router, point-to-point @messages. By @encrypting and wrapping @messages in other @messages, they can be sent in a secure way through multiple hops to the ultimate @destination. @I2NP does not specify nor require any particular @transport layer but does require at least one @transport in use. + +> +Whenever a @destination wants to send a message to to another @destination, it provides its local router with both the @destination structure and the raw bytes of the message to be sent. The router then determines where to send it, delivers it through outbound @tunnels, instructing the end point to pass it along to the appropriate inbound @tunnel, where it is passed along again to that @tunnel's end point and made available to the target for reception. + +### Notes + +Read more about the @I2NP [protocol](https://geti2p.net/en/docs/protocol/i2np) and [specification](https://geti2p.net/spec/i2np). diff --git a/_i18n/de/resources/moneropedia/i2p.md b/_i18n/de/resources/moneropedia/i2p.md new file mode 100644 index 00000000..7a6980c3 --- /dev/null +++ b/_i18n/de/resources/moneropedia/i2p.md @@ -0,0 +1,30 @@ +--- +tags: ["kovri"] +terms: ["I2P"] +summary: "The Invisible Internet Project: an anonymizing overlay network" +--- + +{% include untranslated.html %} +### Monero + +For Monero's implementation of @I2P, see @Kovri. For a comparison of @I2P to [Tor](https://torproject.org/), read the [Comparison](https://geti2p.net/en/comparison/tor) page. + +### The Basics + +From @Java-I2P: + +>The I2P network provides strong privacy protections for communication over the Internet. Many activities that would risk your privacy on the public Internet can be conducted anonymously inside I2P. + +### In-depth information + +From @Java-I2P: + +>I2P is an anonymous overlay network - a network within a network. It is intended to protect communication from dragnet surveillance and monitoring by third parties such as ISPs. + +>I2P is used by many people who care about their privacy: activists, oppressed people, journalists and whistleblowers, as well as the average person. + +>No network can be "perfectly anonymous". The continued goal of I2P is to make attacks more and more difficult to mount. Its anonymity will get stronger as the size of the network increases and with ongoing academic review. + +### Notes + +@I2P documentation and specifications are available [here](https://geti2p.net/docs/). diff --git a/_i18n/de/resources/moneropedia/i2pcontrol.md b/_i18n/de/resources/moneropedia/i2pcontrol.md new file mode 100644 index 00000000..b419423c --- /dev/null +++ b/_i18n/de/resources/moneropedia/i2pcontrol.md @@ -0,0 +1,16 @@ +--- +tags: ["kovri"] +terms: ["I2PControl"] +summary: "An API inteface for Kovri and Java-I2P that allows simple remote control" +--- + +{% include untranslated.html %} +### The Basics + +@I2Pcontrol is a [JSONRPC2](https://en.wikipedia.org/wiki/JSON-RPC) [API](https://en.wikipedia.org/wiki/Application_programming_interface) for @Kovri and @Java-I2P which allows an @I2PControl client to remote control/monitor a running instance. + +Two available @I2PControl clients are: [qtoopie](https://github.com/EinMByte/qtoopie) (C++ client) and [itoopie](https://github.com/i2p/i2p.itoopie) (Java client). Read `kovri.conf` to configure @I2PControl for @Kovri. + +### In-depth information + +Details and specification available on the [I2PControl](https://geti2p.net/en/docs/api/i2pcontrol) page. diff --git a/_i18n/de/resources/moneropedia/in-net.md b/_i18n/de/resources/moneropedia/in-net.md new file mode 100644 index 00000000..ec3c5c8a --- /dev/null +++ b/_i18n/de/resources/moneropedia/in-net.md @@ -0,0 +1,14 @@ +--- +tags: ["kovri"] +terms: ["In-net"] +summary: "Within the I2P network" +--- + +{% include untranslated.html %} +### The Basics + +**In-net** is a [colloquial](https://en.wikipedia.org/wiki/Colloquial) term of which describes activities, protocols, or functionality that exist *only* within the @I2P network. + +### In-depth information + +Example: *in-net download* would be defined as downloading *only* within @I2P. diff --git a/_i18n/de/resources/moneropedia/java-i2p.md b/_i18n/de/resources/moneropedia/java-i2p.md new file mode 100644 index 00000000..8a21da5d --- /dev/null +++ b/_i18n/de/resources/moneropedia/java-i2p.md @@ -0,0 +1,14 @@ +--- +tags: ["kovri"] +terms: ["Java-I2P"] +summary: "The original implementation of I2P - written in Java" +--- + +{% include untranslated.html %} +### The Basics + +The term "Java I2P" is often used to describe the original @I2P implementation currently most known and used today. There are various other @I2P implementations, including @Kovri; all of which look up to the original Java implementation. + +### Notes + +To download/learn more about the Java implementation, visit their [website](https://geti2p.net/). diff --git a/_i18n/de/resources/moneropedia/jump-service.md b/_i18n/de/resources/moneropedia/jump-service.md new file mode 100644 index 00000000..a62c5276 --- /dev/null +++ b/_i18n/de/resources/moneropedia/jump-service.md @@ -0,0 +1,33 @@ +--- +tags: ["kovri"] +terms: ["Jump-Service"] +summary: "An I2P website service that adds addresses to your address book" +--- + +{% include untranslated.html %} +### The Basics + +In your @I2P configured web browser, you can use a Jump Service to *jump* to an @I2P address that you don't have in your @address-book. Once you've *jumped* to the address, the address will be saved into your @address-book. + +### In-depth Information + +In an @I2P configured browser, visit: http://stats.i2p/i2p/lookup.html (courtesy of @Java-I2P's lead developer *zzz*) + +Then, you'll have two options: + +1. *Hostname lookup* the address you wish to visit and then manually copy/paste the result +2. *Jump* to the @I2P website by entering the @I2P hostname (**recommended**) + +### Using hostname lookup + +For example, entering `pinkpaste.i2p` into the *Hostname lookup* box (and then submitting) will return: + +``` +pinkpaste.i2p=m-HrPrIAsdxts0WM~P4mE8mt9P7g-QTaBvu7Gc6Nl0UX7Vwck-i~RvOPfK6W~kfdRvwhNTqevkBL2UF5l36We02Aiywu7kB2xOHRkze68h-Tg2ewvRVwokohguCD2G3wwAEz~7FVda2avYDCb9-N6TfuzxKLnmhPMvbNSjGL7ZsD2p-h207R3-2kvuMV9bfu-K~w9NI9XJhIyufvUnFYc2jnTVg8PbaR4UP57cNaOO2YIMPkbr6~yTcIu9B1sUfHK6-N~6virQDOxW4M-62rjnZkLpaCtkOsXslmCwZI--TkZ6hKi1kXZvNmJRE1rYfffYRFn38zhaqszeETX8HiIvahZhXF5fNumBziYdmLdw8hkuN1A~emU6Xz9g~a1Ixfsq1Qr~guYoOtaw-0rOFxNRS9yMehE-2LCb8c-cAg6z5OdlN4qJDl~ZHgru4d~EHp~BpAK3v7u2Gi-8l1ygVW-1CHVna~fwnbOPN3ANPwh6~~yUit0Cx1f54XiNRn6-nPBQAEAAcAAA== +``` + +Copy/paste this host=@base64-address pairing into your **private** @subscription. + +### Directly jumping + +For example, entering `pinkpaste.i2p` into the *Jump* box (and then submitting) will automatically redirect you to the website **and** insert the @locally-unique-host into @address-book. diff --git a/_i18n/de/resources/moneropedia/kovri.md b/_i18n/de/resources/moneropedia/kovri.md new file mode 100644 index 00000000..53bb08d3 --- /dev/null +++ b/_i18n/de/resources/moneropedia/kovri.md @@ -0,0 +1,61 @@ +--- +tags: ["kovri"] +terms: ["Kovri"] +summary: "Monero's C++ router implementation of the I2P network" +--- + +{% include untranslated.html %} +### The Basics + +[Kovri](https://gitlab.com/kovri-project/kovri/) is a C++ implementation of the @I2P network. @Kovri is currently in heavy, active development and not yet integrated with Monero. When Kovri is integrated into your Monero @node, your transactions will be more secure than ever before. + +### In-depth information + +Kovri will protect you and Monero from: + +- @Node partitioning attacks +- Associations between a particular txid and your IP address +- Mining and/or running a node in highly adversarial environments +- Metadata leakage (e.g., @OpenAlias lookups) + +...and much more. + +Read [anonimal's FFS proposal](https://forum.getmonero.org/9/work-in-progress/86967/anonimal-s-kovri-full-time-development-funding-thread) for more details and for reasoning behind the project. Also read the FAQ and User Guide in the [Kovri repository](https://gitlab.com/kovri-project/kovri/). + +### @Kovri / @I2P Terminology + +#### Client + API + +- @Address-Book +- @Base32-address +- @Base64-address +- @Canonically-unique-host +- @Eepsite (@Hidden-Service, @Garlic-Site, @Garlic-Service) +- @I2PControl +- @Jump-Service +- @Locally-unique-host +- @Reseed +- @Subscription + +#### Core + Router + +- @Clearnet +- @Data-Directory +- @Destination +- @Encryption +- @Floodfill +- @Garlic-Encryption +- @Garlic-Routing +- @I2NP +- @In-net +- @Java-I2P +- @Layered-Encryption +- @Lease +- @LeaseSet +- @Message @Messages +- @NTCP +- @Network-Database +- @Router-Info +- @SSU +- @Transports +- @Tunnel diff --git a/_i18n/de/resources/moneropedia/lease-set.md b/_i18n/de/resources/moneropedia/lease-set.md new file mode 100644 index 00000000..412f2005 --- /dev/null +++ b/_i18n/de/resources/moneropedia/lease-set.md @@ -0,0 +1,24 @@ +--- +tags: ["kovri"] +terms: ["LeaseSet", "LeaseSets"] +summary: "Contains all currently authorized Leases for a particular I2P Destination" +--- + +{% include untranslated.html %} +### The Basics + +A Lease-Set contains a set of authorized @leases (and other related information) for a particular @destination. + +### In-depth information + +A Lease-Set contains: + +- all of the currently authorized @leases for a particular @destination +- the public key to which garlic messages can be encrypted (see @garlic-routing) +- the signing public key that can be used to revoke this particular version of the structure + +The Lease-Set is one of the two structures stored in the @network-database (the other being @router-info), and is keyed under the SHA256 of the contained @destination. + +### Notes + +For further details, read @Java-I2P's [LeaseSet](https://geti2p.net/en/docs/how/network-database#leaseSet) diff --git a/_i18n/de/resources/moneropedia/lease.md b/_i18n/de/resources/moneropedia/lease.md new file mode 100644 index 00000000..cfb13659 --- /dev/null +++ b/_i18n/de/resources/moneropedia/lease.md @@ -0,0 +1,14 @@ +--- +tags: ["kovri"] +terms: ["Lease", "Leases"] +summary: "Authorizes an I2P tunnel to receive messages targeting a destination" +--- + +{% include untranslated.html %} +### The Basics + +A lease defines the authorization for a particular @I2P @tunnel to receive a @messages targeting a @destination. + +### In-depth information + +For further details, read @Java-I2P's [Lease](https://geti2p.net/spec/common-structures#lease) diff --git a/_i18n/de/resources/moneropedia/locally-unique-host.md b/_i18n/de/resources/moneropedia/locally-unique-host.md new file mode 100644 index 00000000..55b3226a --- /dev/null +++ b/_i18n/de/resources/moneropedia/locally-unique-host.md @@ -0,0 +1,21 @@ +--- +tags: ["kovri"] +terms: ["Locally-unique-host"] +summary: "A host defined by you and resolved only by you" +--- + +{% include untranslated.html %} +### The Basics + +A locally-unique host is a [FQDN](https://en.wikipedia.org/wiki/FQDN) defined by **you** and resolved only by you; similar to how a [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) is implemented. Not to be confused with @canonically-unique-host. + +### In-depth information + +You have the option to share your interpretation of how the host is resolved (e.g., `localhost` always resolves to `127.0.0.1`) but the resolution is not canonically enforced (e.g., someone else can map `localhost` to any arbitrary IP address). + +Hosts in a public subscription can be considered @canonically-unique-host's within the @I2P network but, ultimately, you are free to re-define them as you wish. + +### Notes + +- Monero primarily uses @canonically-unique-host resolution while @I2P only uses @locally-unique-host resolution. +- @I2P's and @Kovri's assigned top-level domain is currently `.i2p` and @Kovri intends to only process/use the `.i2p` [top-level domain](https://en.wikipedia.org/wiki/Top_level_domain) diff --git a/_i18n/de/resources/moneropedia/message.md b/_i18n/de/resources/moneropedia/message.md new file mode 100644 index 00000000..975277a3 --- /dev/null +++ b/_i18n/de/resources/moneropedia/message.md @@ -0,0 +1,32 @@ +--- +tags: ["kovri"] +terms: ["Message", "Messages"] +summary: "The mechanisms in which information travels within I2P" +--- + +{% include untranslated.html %} +### The Basics + +*Messages* (which exist on top of the @transports layer), contain varying types of information that are needed for the network but, most importantly, everything you see, do, send, or receive, will come and go in the form of *messages*. + +There are 2 essential types of *messages* in @I2P: + +- @Tunnel messages +- @I2NP messages + +Essentially: *@tunnel messages* **contain** @I2NP **message fragments** which are then [reassembled](https://geti2p.net/en/docs/tunnels/implementation) at certain points within a @tunnel's path. + +### In-depth information + +@I2NP messages have a close relationship with @tunnel @messages so it is easy to get the term *messages* confused when reading @Java-I2P specifications: + +> +1. First, the tunnel gateway accumulates a number of I2NP messages and preprocesses them into tunnel messages for delivery. +2. Next, that gateway encrypts that preprocessed data, then forwards it to the first hop. +3. That peer, and subsequent tunnel participants, unwrap a layer of the encryption, verifying that it isn't a duplicate, then forward it on to the next peer. +4. Eventually, the tunnel messages arrive at the endpoint where the I2NP messages originally bundled by the gateway are reassembled and forwarded on as requested. + +### Notes + +- @I2NP @messages need to be fragmented because they are variable in size (from 0 to almost 64 KB) and @tunnel @messages are fixed-size (approximately 1 KB). +- For details and specifications, visit the [I2NP spec](https://geti2p.net/spec/i2np) and [Tunnel Message spec](https://geti2p.net/spec/tunnel-message) diff --git a/_i18n/de/resources/moneropedia/mining.md b/_i18n/de/resources/moneropedia/mining.md new file mode 100644 index 00000000..1a097bfb --- /dev/null +++ b/_i18n/de/resources/moneropedia/mining.md @@ -0,0 +1,15 @@ +--- +terms: ["mining", "miner", "miners"] +summary: "the process of cryptographically computing a mathematical proof for a block, containing a number of transactions, which is then added to the blockchain" +--- + +{% include untranslated.html %} +### The Basics + +The process of cryptographically computing a mathematical proof for a block, containing a number of transactions, which is then added to the blockchain. + +Mining is the distributed process of confirming transactions on the public ledger of all transactions, aka @blockchain. Monero nodes use the blockchain to distinguish legitimate transactions from attempts to re-spend coins that have already been spent elsewhere. + +Monero is powered strictly by Proof of Work. It employs a mining algorithm that has the potential to be efficiently tasked to billions of existing devices (any modern x86 CPU and many GPUs). Monero uses a variant of CryptoNight Proof of Work (PoW) algorithm, which is designed for use in ordinary CPUs and GPUs. + +The smart mining feature allows transparent CPU mining on the user's computer, far from the de facto centralization of mining farms and pool mining, pursuing Satoshi Nakamoto's original vision of a true P2P currency. diff --git a/_i18n/de/resources/moneropedia/mnemonicseed.md b/_i18n/de/resources/moneropedia/mnemonicseed.md new file mode 100644 index 00000000..62796e6d --- /dev/null +++ b/_i18n/de/resources/moneropedia/mnemonicseed.md @@ -0,0 +1,19 @@ +--- +terms: ["mnemonic-seed", "mnemonic"] +summary: "a 13 or 25 word phrase used to backup a Monero account, available in a number of languages" +--- + +{% include untranslated.html %} +### The Basics + +A 13 or 25 word phrase used to backup a Monero account, available in a number of languages. This 25-word phrase (13 words in the case of MyMonero) has all the information needed to view and spend funds from a Monero @account. + +### In-depth Information + +In the official wallet, the mnemonic seed comprises 25 words with the last word being used as a checksum. Those words correspond to a 256-bit integer, which is the account's *private* @spend-key. The *private* @view-key is derived by hashing the private spend key with Keccak-256, producing a second 256-bit integer. The corresponding *public* keys are then derived from the private keys. + +By storing the 25 word mnemonic key in a secure location, you have a backup of your private keys and hence all of your Moneroj. Sharing this 25 word key is the equivalent of allowing another person complete access to your funds. + +It's not a good idea to store more than you want to lose in a "hot wallet" aka a wallet which is currently or has ever been connected to the internet or loaded onto any device that has or may in the future be connected to the internet or any untrusted source! + +By creating a cold, or @paper-wallet you can safely store Moneroj. diff --git a/_i18n/de/resources/moneropedia/network-database.md b/_i18n/de/resources/moneropedia/network-database.md new file mode 100644 index 00000000..ac94231a --- /dev/null +++ b/_i18n/de/resources/moneropedia/network-database.md @@ -0,0 +1,24 @@ +--- +tags: ["kovri"] +terms: ["Network-Database"] +summary: "A distributed database which contains needed router information so the network can stay intact" +--- + +{% include untranslated.html %} +### The Basics + +@network-database is a [distributed database](https://en.wikipedia.org/wiki/Distributed_database) which contains router information that peers must use so the network can stay intact. + +### In-depth information + +From @Java-I2P: + +> +@I2P's @network-database is a specialized distributed database, containing just two types of data - router contact information (@Router-Infos) and @destination contact information (@LeaseSets). Each piece of data is signed by the appropriate party and verified by anyone who uses or stores it. In addition, the data has liveliness information within it, allowing irrelevant entries to be dropped, newer entries to replace older ones, and protection against certain classes of attack. + +> +The @network-database is distributed with a simple technique called "@floodfill", where a subset of all routers, called "@floodfill routers", maintains the distributed database. + +### Notes + +Read [Network-Database](https://geti2p.net/en/docs/how/network-database) for details. diff --git a/_i18n/de/resources/moneropedia/node.md b/_i18n/de/resources/moneropedia/node.md new file mode 100644 index 00000000..c94ec80a --- /dev/null +++ b/_i18n/de/resources/moneropedia/node.md @@ -0,0 +1,24 @@ +--- +terms: ["node", "nodes", "full-node", "full-nodes"] +summary: "a device on the Internet running the Monero software, with a full copy of the Monero blockchain, actively assisting the Monero network" +--- + +{% include untranslated.html %} +### The Basics + +A device on the Internet running the Monero software, with a full copy of the Monero blockchain, actively assisting the Monero network. + +### More Information + +Nodes participate in the Monero network and secure @transactions by enforcing the rules of the network. Nodes download the entire @blockchain to know what transactions have taken place. Nodes assist the network by relaying transactions to other nodes on the network. Nodes may also choose to contribute to the Monero network by participating in crafting @blocks (this is called @mining). + +Mining is the process by which nodes create a block from the previously accepted block, transactions that are waiting to be processed in the transaction pool, and the @coinbase-transaction. When a node believes it has crafted a valid block it will transmit the completed block to other nodes on the network and those nodes signal agreement by working on the next block in the chain. + +The rules that nodes follow are built into the Monero software; When all nodes agree about the rules to follow this is called @consensus. Consensus is necessary for a cryptocurrency because it is how the blockchain is built; If nodes don't agree about which blocks are valid, for example people who have not updated their Monero software, those nodes that don't agree will no longer be able to participate in the Monero network. + +The Monero Core Team plans for a network upgrade every 6 months, to occur in October and April of each year. At that time, if you are running a node it must be updated to the most recent version of the Monero software or it will no longer be able to participate in the network. + +--- + +##### Other Resources +1. *Fluffypony gives a great explanation of why mandatory network upgrades are good for Monero.* ([Monero Missives for the Week of 2016-06-20](https://getmonero.org/2016/06/20/monero-missive-for-the-week-of-2016-06-20.html)) diff --git a/_i18n/de/resources/moneropedia/ntcp.md b/_i18n/de/resources/moneropedia/ntcp.md new file mode 100644 index 00000000..4c3f68b2 --- /dev/null +++ b/_i18n/de/resources/moneropedia/ntcp.md @@ -0,0 +1,33 @@ +--- +tags: ["kovri"] +terms: ["NTCP"] +summary: "NIO-Based TCP (Non-blocking I/O based TCP): one of two Kovri transports" +--- + +{% include untranslated.html %} +### The Basics + +*NIO-Based TCP (Non-blocking I/O based TCP)* is one of two encrypted @transports for @Kovri. + +Similar to @SSU, @NTCP's *primary* purpose is to securely transmit @in-net @I2NP messages through @tunnels but, unlike @SSU, @NTCP functions solely over encrypted [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol). + +### In-depth information + + - Passes along individual @I2NP messages (both Standard and Time Sync) after: + - TCP has been established + - Establishment Sequence has been completed + - Uses the following @encryption: + - 2048-bit [Diffie-Hellman](https://en.wikipedia.org/wiki/Diffie-hellman) + - [AES-256](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)/[CBC](https://en.wikipedia.org/wiki/Block_cipher_modes_of_operation) + - Establishment Sequence has the following *states*: + - Pre-establishment + - Establishment + - Post-establishment or "Established" + - Uses the following from the @network-database: + - Transport name: NTCP + - Host: IP (IPv4 or IPv6) or host name (shortened IPv6 address (with "::") is allowed) + - Port: 1024 - 65535 + +### Notes + +For further details, read @Java-I2P's [NTCP](https://geti2p.net/en/docs/transport/ntcp) diff --git a/_i18n/de/resources/moneropedia/openalias.md b/_i18n/de/resources/moneropedia/openalias.md new file mode 100644 index 00000000..2f8542fa --- /dev/null +++ b/_i18n/de/resources/moneropedia/openalias.md @@ -0,0 +1,19 @@ +--- +terms: ["OpenAlias"] +summary: "a standard that allows you to use an email or domain syntax to pay someone instead of an address, eg. donate@getmonero.org or donate.getmonero.org" +--- + +{% include untranslated.html %} +### The Basics + +The Monero Core Team released a standard called OpenAlias which permits much more human-readable addresses and "squares" the Zooko's triangle. OpenAlias can be used for any cryptocurrency and is already implemented in Monero, Bitcoin (in latest Electrum versions) and HyperStake. + +OpenAlias seeks to provide a way to simplify aliasing amidst a rapidly shifting technology climate. Users are trying to cross the bridge to private and cryptographically secure infrastructure and systems, but many of them have just barely started remembering the email addresses of their friends and family. + +As part of the ongoing development of the Monero cryptocurrency project, we asked ourselves: how can we simplify payments for users unfamiliar with cryptocurrency? Monero stealth addresses are at least 95 characters long - memorizing them is not an option, and asking someone to send a payment to <95-character-string> is only going to lead to confusion. + +At its most basic, OpenAlias is a TXT DNS record on a FQDN (fully qualified domain name). By combining this with DNS-related technologies we have created an aliasing standard that is extensible for developers, intuitive and familiar for users, and can interoperate with both centralized and decentralized domain systems. + +A standard that allows you to use an email or domain syntax to pay someone instead of an address, eg. donate@getmonero.org or donate.getmonero.org. + +More information can be found on the [OpenAlias page](/resources/openalias) or on the [OpenAlias website](https://openalias.org) diff --git a/_i18n/de/resources/moneropedia/paperwallet.md b/_i18n/de/resources/moneropedia/paperwallet.md new file mode 100644 index 00000000..76de7f5d --- /dev/null +++ b/_i18n/de/resources/moneropedia/paperwallet.md @@ -0,0 +1,9 @@ +--- +terms: ["paperwallet", "paperwallets", "paper-wallet", "paper-wallets"] +summary: "A paper wallet stores the information necessary to send and receive Monero" +--- + +{% include untranslated.html %} +### The Basics + +A paper wallet stores the information necessary to send and receive Monero. diff --git a/_i18n/de/resources/moneropedia/paymentid.md b/_i18n/de/resources/moneropedia/paymentid.md new file mode 100644 index 00000000..e920a073 --- /dev/null +++ b/_i18n/de/resources/moneropedia/paymentid.md @@ -0,0 +1,26 @@ +--- +terms: ["payment-ID", "payment-IDs"] +summary: "an optional flag that is added to identify transactions to merchants, consisting of 64 hexadecimal characters" +--- + +{% include untranslated.html %} +### The Basics + +Payment ID is an **arbitrary** and **optional** transaction attachment that consists of 32 bytes (64 hexadecimal characters) or 8 bytes (in the case of integrated addresses). + +The Payment ID is usually used to identify transactions to merchants and exchanges: Given the intrinsic privacy features built into Monero, where a single public address is usually used for incoming transactions, the Payment ID is especially useful to tie incoming payments with user accounts. + +### Compact Payment IDs and Integrated Addresses + +Since the 0.9 Hydrogen Helix version, Payment IDs can be encrypted and embedded in a payment address. The Payment IDs of this type should be 64-bits and are encrypted with a random one-time key known only to the sender and receiver. + +### Creating a Payment ID +It is recommended to use the official wallet's `integrated_address` command to automatically generate Integrated Addresses that contain Compact Payment IDs. If you want to use the command line, you can generate Payment IDs as follows: + +Creating a compact Payment ID for an Integrated Address: + +```# openssl rand -hex 8``` + +Creating an old-style Payment ID: + +```# openssl rand -hex 32``` diff --git a/_i18n/de/resources/moneropedia/pedersen-commitment.md b/_i18n/de/resources/moneropedia/pedersen-commitment.md new file mode 100644 index 00000000..d91570fb --- /dev/null +++ b/_i18n/de/resources/moneropedia/pedersen-commitment.md @@ -0,0 +1,23 @@ +--- +terms: ["commitments", "commitment", "pedersen", "pedersen-commitment", "pedersen-commitments"] +summary: "Pedersen commitments are cryptographic algorythms that allow a prover to commit to a certain value without revealing it or being able to change it" +--- + +{% include untranslated.html %} +### The Basics + +Pedersen commitments are cryptographic algorythms that allow a prover to commit to a certain value without revealing it or being able to change it. + +When you spend Monero, the value of the inputs that you are spending and the value of the outputs you are sending are encrypted and opaque to everyone except the recipient of each of those outputs. Pedersen commitments allow you to send Monero without revealing the value of the transactions. Pedersen commitments also make it possible for people to verify that transactions on the blockchain are valid and not creating Monero out of thin air. + +### What It Means + +As long as the encrypted output amounts created, which include an output for the recipient and a change output back to the sender, and the unencrypted transaction fee is equal to the sum of the inputs that are being spent, it is a legitimate transaction and can be confirmed to not be creating Monero out of thin air. + +Pedersen commitments mean that the sums can be verified as being equal, but the Monero value of each of the sums and the Monero value of the inputs and outputs individually are undeterminable. Pedersen commitments also mean that even the ratio of one input to another, or one output to another is undeterminable. + +It is unclear which inputs are really being spent as the ring signature lists both the real inputs being spent and decoy inputs, therefore you don't actually know which input Pedersen commitments need to be summed. That's okay, because the @RingCT ring signature only has to prove that for one combination of the inputs the outputs are equal to the sum of the inputs. For mathematical reasons, this is impossible to forge. + +### In-depth Information + +See information in [Ring Confidential Transactions paper](https://eprint.iacr.org/2015/1098.pdf) by Shen Noether of the Monero Research Lab. diff --git a/_i18n/de/resources/moneropedia/reseed.md b/_i18n/de/resources/moneropedia/reseed.md new file mode 100644 index 00000000..179f34c5 --- /dev/null +++ b/_i18n/de/resources/moneropedia/reseed.md @@ -0,0 +1,16 @@ +--- +tags: ["kovri"] +terms: ["Reseed"] +summary: "The method of which Kovri uses to bootstrap into the I2P network" +--- + +{% include untranslated.html %} +### The Basics + +When you start @Kovri for the first time (or if it's been offline for a long time), @Kovri will need a list of peers to connect to so it can [bootstrap](https://en.wikipedia.org/wiki/Bootstrap) into the @I2P network. @Kovri gets these peers from a special file stored on a reseed server. On this file are all the various pieces of information @Kovri needs in order to connect with @I2P peers. + +### In-depth information + +@Kovri has a list of [hard-coded](https://en.wikipedia.org/wiki/Hard-coded) reseed servers available to fetch from. These servers securely serve an [SU3](https://geti2p.net/spec/updates#su3) file (signed with a cryptographic @signature) over @clearnet with [HTTPS](https://en.wikipedia.org/wiki/HTTPS). This SU3 file contains information that's used to verify both the integrity of the file and its content. + +Aside from the technical elements needed to verify and process the file, the file's main contents consist of a series of @router-info files which @Kovri and @I2P routers use to locate and communicate with other @I2P peers. These peers are then stored into a @network-database. diff --git a/_i18n/de/resources/moneropedia/ring-size.md b/_i18n/de/resources/moneropedia/ring-size.md new file mode 100644 index 00000000..5c94016f --- /dev/null +++ b/_i18n/de/resources/moneropedia/ring-size.md @@ -0,0 +1,10 @@ +--- +terms: ["ring-size"] +summary: "total number of possible signers in a ring signature" +--- + +{% include untranslated.html %} +### The Basics +Ring size refers to the total number of possible signers in a @ring-signature. If a ring size of 4 is selected for a given @transaction, this means that there are 3 foreign outputs in addition to your “real” output. A higher ring size number will typically provide more privacy than a lower number. However, reusing an odd, recognizable ring size number for transactions could possibly make transactions stand out. + +`Ring size = foreign outputs + 1 (your output)` \ No newline at end of file diff --git a/_i18n/de/resources/moneropedia/ringCT.md b/_i18n/de/resources/moneropedia/ringCT.md new file mode 100644 index 00000000..03e19097 --- /dev/null +++ b/_i18n/de/resources/moneropedia/ringCT.md @@ -0,0 +1,14 @@ +--- +terms: ["ringCT", "ring-CT"] +summary: "a way to hide the amount sent in a Monero transaction" +--- + +{% include untranslated.html %} +### The Basics +RingCT, short for Ring Confidential Transactions, is how transaction amounts are hidden in Monero. + +Ring CT was implemented in block #1220516 in January 2017. After September 2017, this feature became mandatory for all transactions on the network. + +RingCT introduces an improved version of @ring-signatures called "A Multi-layered Linkable Spontaneous Anonymous Group signature", which allows for hidden amounts, origins and destinations of transactions with reasonable efficiency and verifiable, trustless coin generation. + +For more information, please read the creator Shen Noether's paper [here](https://eprint.iacr.org/2015/1098). diff --git a/_i18n/de/resources/moneropedia/ringsignatures.md b/_i18n/de/resources/moneropedia/ringsignatures.md new file mode 100644 index 00000000..fd0a3bcf --- /dev/null +++ b/_i18n/de/resources/moneropedia/ringsignatures.md @@ -0,0 +1,17 @@ +--- +terms: ["ring-signature", "ring-signatures"] +summary: "a group of cryptographic signatures with at least one real participant, but no way to tell which in the group is the real one as they all appear valid" +--- + +{% include untranslated.html %} +### The Basics + +In cryptography, a ring signature is a type of digital signature that can be performed by any member of a group of users that each have keys. Therefore, a message signed with a ring signature is endorsed by someone in a particular group of people. One of the security properties of a ring signature is that it should be computationally infeasible to determine *which* of the group members' keys was used to produce the signature. + +For instance, a ring signature could be used to provide an anonymous signature from "a high-ranking White House official", without revealing which official signed the message. Ring signatures are right for this application because the anonymity of a ring signature cannot be revoked, and because the group for a ring signature can be improvised (requires no prior setup). + +### Application to Monero + +A ring signature makes use of your @account keys and a number of public keys (also known as outputs) pulled from the @blockchain using a triangular distribution method. Over the course of time, past outputs could be used multiple times to form possible signer participants. In a "ring" of possible signers, all ring members are equal and valid. There is no way an outside observer can tell which of the possible signers in a signature group belongs to your @account. So, ring signatures ensure that transaction outputs are untraceable. Moreover, there are no @fungibility issues with Monero given that every transaction output has plausible deniability (e.g. the network can not tell which outputs are spent or unspent). + +To read how Monero gives you privacy by default (unlinkability), see @stealth-addresses. \ No newline at end of file diff --git a/_i18n/de/resources/moneropedia/router-info.md b/_i18n/de/resources/moneropedia/router-info.md new file mode 100644 index 00000000..cb190f9d --- /dev/null +++ b/_i18n/de/resources/moneropedia/router-info.md @@ -0,0 +1,67 @@ +--- +tags: ["kovri"] +terms: ["Router-Info", "Router-infos"] +summary: "A data structure or file which contains an I2P peer's needed network information" +--- + +{% include untranslated.html %} +### The Basics + +@Router-Info is a data structure (periodically written to a [binary file](https://en.wikipedia.org/wiki/Binary_file)) which contains all needed information to locate, identify, and communicate with an @I2P peer. @Router-Info includes IP address, router identity, other misc. technical details; is needed for @network-database and is published to @floodfill routers. + +### In-depth information + +In human-readable form, Router-Info may look like this: + +``` +Identity: [RouterIdentity: +Hash: nYZ5Qe7gQ-~QgfgJVRUG4c0JnVeVqzM~duUX1EGT1ek= +Certificate: [Certificate: type: Key certificate +Crypto type: 0 +Sig type: 7 (EdDSA_SHA512_Ed25519)] +PublicKey: [PublicKey: size: 256] +SigningPublicKey: [SigningPublicKey EdDSA_SHA512_Ed25519: size: 32] +Padding: 96 bytes] +Signature: [Signature EdDSA_SHA512_Ed25519: size: 64] +Published: Sun Oct 09 01:34:59 UTC 2016 +Options (5): + [caps] = [LfR] + [netId] = [2] + [netdb.knownLeaseSets] = [37] + [netdb.knownRouters] = [2435] + [router.version] = [0.9.26] +Addresses (4): +[RouterAddress: +Type: SSU +Cost: 4 +Options (5): + [caps] = [BC] + [host] = [2a01:e35:8b5c:b240:71a2:6750:8d4:47fa] + [key] = [nYZ5Qe7gQ-~QgfgJVRUG4c0JnVeVqzM~duUX1EGT1ek=] + [mtu] = [1472] + [port] = [22244]] +[RouterAddress: +Type: NTCP +Cost: 9 +Options (2): + [host] = [2a01:e35:8b5c:b240:71a2:6750:8d4:47fa] + [port] = [22244]] +[RouterAddress: +Type: SSU +Cost: 6 +Options (4): + [caps] = [BC] + [host] = [88.181.203.36] + [key] = [nYZ5Qe7gQ-~QgfgJVRUG4c0JnVeVqzM~duUX1EGT1ek=] + [port] = [22244]] +[RouterAddress: +Type: NTCP +Cost: 11 +Options (2): + [host] = [88.181.203.36] + [port] = [22244]]] +``` + +### Notes + +For details and specification, visit @Java-I2P [Network Database](https://geti2p.net/en/docs/how/network-database) page. diff --git a/_i18n/de/resources/moneropedia/scalability.md b/_i18n/de/resources/moneropedia/scalability.md new file mode 100644 index 00000000..54c2b4c3 --- /dev/null +++ b/_i18n/de/resources/moneropedia/scalability.md @@ -0,0 +1,9 @@ +--- +terms: ["scalability"] +summary: "Growth potential of Monero, resources required, and methods of increasing efficiency" +--- + +{% include untranslated.html %} +### The Basics + +Monero has no hardcoded maximum block size, which means that unlike Bitcoin it does not have a 1 MB block size limit preventing scaling. However, a block reward penalty mechanism is built into the protocol to avoid a too excessive block size increase: The new block's size (NBS) is compared to the median size M100 of the last 100 blocks. If NBS>M100, the block reward gets reduced in quadratic dependency of how much NBS exceeds M100. E.g. if NBS is [10%, 50%, 80%, 100%] greater than M100, the nominal block reward gets reduced by [1%, 25%, 64%, 100%]. Generally, blocks greater than 2*M100 are not allowed, and blocks <= 60kB are always free of any block reward penalties. diff --git a/_i18n/de/resources/moneropedia/signature.md b/_i18n/de/resources/moneropedia/signature.md new file mode 100644 index 00000000..fefbf024 --- /dev/null +++ b/_i18n/de/resources/moneropedia/signature.md @@ -0,0 +1,9 @@ +--- +terms: ["signature", "signatures"] +summary: "a cryptographic method for proving ownership of a piece of information, as well as proving that the information has not been modified after being signed" +--- + +{% include untranslated.html %} +### The Basics + +A cryptographic method for proving ownership of a piece of information, as well as proving that the information has not been modified after being signed. \ No newline at end of file diff --git a/_i18n/de/resources/moneropedia/smartmining.md b/_i18n/de/resources/moneropedia/smartmining.md new file mode 100644 index 00000000..0c25a96b --- /dev/null +++ b/_i18n/de/resources/moneropedia/smartmining.md @@ -0,0 +1,14 @@ +--- +terms: ["smart-mining"] +summary: "a process of having a throttled miner mine when it otherwise does not cause drawbacks" +--- + +{% include untranslated.html %} +### The Basics + +Smart mining is the process of having a throttled @miner mine when it otherwise does not cause drawbacks. +Drawbacks include increases heat, slower machine, depleting battery, etc. The intent of smart mining is to increase network security by allowing as many people as possible to let the smart miner on all the time. For this to work, the miner must prove unobtrusive, or it will be turned off, depriving the Monero network from a little bit of security. As such, it is likely that a smart miner will mine slower than a normal miner on the same hardware. + +Smart mining is available in the official CLI and GUI wallet, which are available in the [downloads page](https://getmonero.org/downloads/). + +It is hoped that the relative slowness of a smart miner (especially on low-power machines) will be offset by the large amount of people running a miner for a possible "lottery win", and thus increase the Monero network security by a non trivial amount. The increased hash rate from many different sources helps keep the Monero network decentralized. diff --git a/_i18n/de/resources/moneropedia/spendkey.md b/_i18n/de/resources/moneropedia/spendkey.md new file mode 100644 index 00000000..5373f13c --- /dev/null +++ b/_i18n/de/resources/moneropedia/spendkey.md @@ -0,0 +1,15 @@ +--- +terms: ["spend-key", "spend-keys"] +summary: "one of the two pairs of private and public cryptographic keys that each account has, with the *private* spend key used to spend any funds in the account" +--- + +{% include untranslated.html %} +### The Basics + +One of the two pairs of private and public cryptographic keys that each account has, with the *private* spend key used to spend any funds in the account. + +### In-depth Information + +The *private* spend key is a 256-bit integer that is used to sign Monero transactions. With the current deterministic key derivation method of the official wallet, the private spend key is also an alternate representation of the @mnemonic-seed. It can be used to derive all other account keys. + + diff --git a/_i18n/de/resources/moneropedia/ssu.md b/_i18n/de/resources/moneropedia/ssu.md new file mode 100644 index 00000000..cbdadfdc --- /dev/null +++ b/_i18n/de/resources/moneropedia/ssu.md @@ -0,0 +1,25 @@ +--- +tags: ["kovri"] +terms: ["SSU"] +summary: "Secure Semi-reliable UDP: one of two Kovri transports" +--- + +{% include untranslated.html %} +### The Basics + +*Secure Semi-reliable UDP* is one of two encrypted @transports for @Kovri. + +Similar to @NTCP, @SSU's *primary* purpose is to securely transmit @in-net @I2NP messages through @tunnels but, unlike @NTCP, @SSU functions solely over encrypted [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol). + +### In-depth information + +- Like @NTCP, @SSU is a connection-oriented, point-to-point data transport +- Termed *semi-reliable* because @SSU will repeatedly retransmit *unacknowledged* messages (up to maximum number then dropped) +- @SSU also provides several unique services (in addition to its function as a @transport layer): + - IP detection (local inspection or with [peer testing](https://geti2p.net/en/docs/transport/ssu#peerTesting)) + - [NAT](https://en.wikipedia.org/wiki/Network_address_translation) traversal (using [introducers](https://geti2p.net/en/docs/transport/ssu#introduction)) + - [Firewall](https://en.wikipedia.org/wiki/Firewall_%28computing%29) status and, if implemented, @SSU can notify @NTCP if the external address or firewall status changes + +### Notes + +For further details, read @Java-I2P's [SSU](https://geti2p.net/en/docs/transport/ssu) diff --git a/_i18n/de/resources/moneropedia/stealthaddress.md b/_i18n/de/resources/moneropedia/stealthaddress.md new file mode 100644 index 00000000..e015f2dd --- /dev/null +++ b/_i18n/de/resources/moneropedia/stealthaddress.md @@ -0,0 +1,15 @@ +--- +terms: ["stealth-address", "stealth-addresses", "Schattenadressen", "Schattenadresse"] +summary: "automatic one-time addresses for every transaction" +--- + +{% include untranslated.html %} +### The Basics + +Stealth addresses are an important part of Monero's inherent privacy. They allow and require the sender to create random one-time addresses for every @transaction on behalf of the recipient. The recipient can publish just one address, yet have all of his/her incoming payments go to unique addresses on the @blockchain, where they cannot be linked back to either the recipient's published address or any other transactions' addresses. By using stealth addresses, only the sender and receiver can determine where a payment was sent. + +When you create a Monero account you’ll have a private @view-key, a private @spend-key, and a Public Address. The @spend-key is used to send payments, the @view-key is used to display incoming transactions destined for your account, and the Public Address is for receiving payments. Both the @spend-key and @view-key are used to build your Monero address. You can have a “watch only” wallet that only uses the @view-key. This feature can be used for accounting or auditing purposes but is currently unreliable due to the inability to track outgoing transactions. You can decide who can see your Monero balance by sharing your @view-key. Monero is private by default and optionally semi-transparent! + +When using the Monero Wallet all this is handled by the software. Sending Monero is as easy as entering the destination address, the amount, and pressing Send. To recieve Monero, simply provide the sender your Public Address. + +To learn how Monero prevents tracking history (untraceability), see @ring-signatures. diff --git a/_i18n/de/resources/moneropedia/subscription.md b/_i18n/de/resources/moneropedia/subscription.md new file mode 100644 index 00000000..9396fba4 --- /dev/null +++ b/_i18n/de/resources/moneropedia/subscription.md @@ -0,0 +1,46 @@ +--- +tags: ["kovri"] +terms: ["Subscription"] +summary: "A file used by address book which contains I2P hosts paired with I2P destinations" +--- + +{% include untranslated.html %} +### The Basics + +A subscription is a file which contains a list of `.i2p` hosts paired with their respective @destination. Subscriptions are used by the @address-book. + +### In-depth information + +Similar to how a [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) can map an Internet hostname to a specified address, a subscription matches a `.i2p` address to @base64-address by using the following format (no spaces allowed): `host=address` + +More specifically, a subscription pairs a @locally-unique-host to @base64-address. + +Example: + +``` +anonimal.i2p=AQZGLAMpI9Q0l0kmMj1vpJJYK3CjLp~fE3MfvE-e7KMKjI5cPOH6EN8m794uHJ6b09qM8mb9VEv1lVLEov~usVliTSXCSHuRBOCIwIOuDNU0AbVa4BpIx~2sU4TxKhoaA3zQ6VzINoduTdR2IJhPvI5xzezp7dR21CEQGGTbenDslXeQ4iLHFA2~bzp1f7etSl9T2W9RID-KH78sRQmzWnv7dbhNodMbpO6xsf1vENf6bMRzqD5vgHEHZu2aSoNuPyYxDU1eM6--61b2xp9mt1k3ud-5WvPVg89RaU9ugU5cxaHgR927lHMCAEU2Ax~zUb3DbrvgQBOTHnJEx2Fp7pOK~PnP6ylkYKQMfLROosLDXinxOoSKP0UYCh2WgIUPwE7WzJH3PiJVF0~WZ1dZ9mg00c~gzLgmkOxe1NpFRNg6XzoARivNVB5NuWqNxr5WKWMLBGQ9YHvHO1OHhUJTowb9X90BhtHnLK2AHwO6fV-iHWxRJyDabhSMj1kuYpVUBQAEAAcAAA== +``` + +1. `anonimal.i2p` is the @locally-unique-host +2. `=` is the separator +3. Everything that remains is the @base64-address + +### Subscription types + +For @Kovri, there are two types of subscription files: *public* and *private*. + +A *public* subscription: +- is used when bootstrapping to use essential services (IRC, email, Monero, etc.) +- is static and is refreshed every 12 hours from Monero's @address-book server +- allows you to safely share the subscription with everyone as it is publically available (anyone who shares the same public subscription will also be able to resolve the same hostname to the same destination as you) + +A *private* subscription: +- is used exclusively by you and is not shared with others unless you explicitly choose to share the file +- default file is `private_hosts.txt` in your @data-directory + +### Updating a private subscription + +You can use a @jump-service to manually update your private subscription. The updated subscription will then be fed into the @address-book for you to use. + +### Notes +To learn how to subscribe to multiple subscriptions, see the [user-guide](https://gitlab.com/kovri-project/kovri-docs/blob/master/i18n/en/user_guide.md). diff --git a/_i18n/de/resources/moneropedia/tail-emission.md b/_i18n/de/resources/moneropedia/tail-emission.md new file mode 100644 index 00000000..bc24cf8e --- /dev/null +++ b/_i18n/de/resources/moneropedia/tail-emission.md @@ -0,0 +1,15 @@ +--- +terms: ["Tail-Emission"] +summary: "the block reward at the end of the emission curve" +--- + +{% include untranslated.html %} +### The Basics + +Monero block rewards will never drop to zero. Block rewards will gradually drop until tail emission commences at the end of May 2022. At this point, rewards will be fixed at 0.6 XMR per block. + +### Why + +Miners need an incentive to mine. Because of the dynamic blocksize, competition between @miners will cause fees to decrease. If mining is not profitable due to a high cost and low reward, miners lose their incentive and will stop mining, reducing the security of the network. + +Tail emission ensures that a dynamic block size and fee market can develop. diff --git a/_i18n/de/resources/moneropedia/transaction.md b/_i18n/de/resources/moneropedia/transaction.md new file mode 100644 index 00000000..4a782ac4 --- /dev/null +++ b/_i18n/de/resources/moneropedia/transaction.md @@ -0,0 +1,22 @@ +--- +terms: ["transaction", "transactions"] +summary: "a cryptographically signed container that details the transfer of Monero to a recipient (or recipients)" +--- + +{% include untranslated.html %} +### The Basics + +A cryptographically signed container that details the transfer of Monero to a recipient (or recipients). + +The parameters of a transaction contain one or more recipient addresses with corresponding amounts of funds and a @ring-size parameter that specifies the number outputs bound to the transaction. The more outputs that are used, a higher degree of obfuscation is possible, but that comes with a cost. Since a transaction gets larger with more outputs, the transaction fee will be higher. + +It is possible to form a transaction offline, which offers additional privacy benefits. + +A transaction can be uniquely identified with the use of an optional Transaction ID, which is usually represented by a 32-byte string (64 hexadecimal characters). + +### In-depth Information +Every transaction involves two keys: a public @spend-key, and a public @view-key. The destination for an output in a transaction is actually a one-time public key computed from these two keys. + +When a wallet is scanning for incoming transactions, every transaction is scanned to see if it is for "you". This only requires your private view key and your public spend key, and this check is immutable and cannot be faked. You cannot receive transactions and identify them without a corresponding private view key. + +In order to spend the funds you have to compute a one-time private spend key for that output. This is almost always done automatically by the Monero Wallet software. diff --git a/_i18n/de/resources/moneropedia/transports.md b/_i18n/de/resources/moneropedia/transports.md new file mode 100644 index 00000000..b1471cd6 --- /dev/null +++ b/_i18n/de/resources/moneropedia/transports.md @@ -0,0 +1,19 @@ +--- +tags: ["kovri"] +terms: ["Transports", "Transport"] +summary: "The two encrypted transport layers for Kovri" +--- + +{% include untranslated.html %} +### The Basics + +@I2P comes with two encrypted transport layer technologies that allow @Kovri to securely use [TCP/IP](https://en.wikipedia.org/wiki/Tcp/ip) connections. These technologies (@SSU and @NTCP) are called *@transports*. + +### In-depth information + +@SSU is encrypted [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol) and @NTCP is encrypted [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol). They provide @encryption at the [transport layer](https://en.wikipedia.org/wiki/Transport_layer) so higher level @messages can be sent through @tunnels across the @I2P network. + +### Notes + +- Read about @I2P's transports on the [Transport](https://geti2p.net/en/docs/transport) page +- Read about the transports layer within the [OSI model](https://en.wikipedia.org/wiki/OSI_model) diff --git a/_i18n/de/resources/moneropedia/tunnel.md b/_i18n/de/resources/moneropedia/tunnel.md new file mode 100644 index 00000000..a9ebfaaa --- /dev/null +++ b/_i18n/de/resources/moneropedia/tunnel.md @@ -0,0 +1,36 @@ +--- +tags: ["kovri"] +terms: ["Tunnel", "Tunnels"] +summary: "Uni-directional virtual paths that pass messages through a defined sequence of I2P routers" +--- + +{% include untranslated.html %} +### The Basics + +When you communicate over @I2P (visit an @eepsite / use a @garlic-service), you'll first need to connect to a peer by using @transports and then build virtual *tunnels*. These virtual tunnels are temporary, uni-directional paths that pass information through a defined sequence of @I2P routers to your @destination. Tunnels are built, and then used, with layered @garlic-encryption and are a general-purpose mechanism to transport all @I2NP @messages. + +Each peer builds, at a minimum, *two* uni-directional tunnels: one for **outbound traffic**, and one for **inbound traffic**. These tunnels are classified as either **inbound tunnels** (where @messages come toward the creator of the tunnel) or **outbound tunnels** (where the tunnel creator sends @messages away from the creator of the tunnel). Thus, *four* tunnels are required for a single round-trip @message and reply to your @destination (two for your, two for your destination). + +### In-depth information + +From @Java-I2P: + +> +Within I2P, @messages are passed in one direction through a virtual tunnel of peers, using whatever means are available to pass the @message on to the next hop. Messages arrive at the tunnel's gateway, get bundled up and/or fragmented into fixed-size @tunnel @messages, and are forwarded on to the next hop in the tunnel, which processes and verifies the validity of the @message and sends it on to the next hop, and so on, until it reaches the @tunnel endpoint. That endpoint takes the messages bundled up by the gateway and forwards them as instructed - either to another router, to another tunnel on another router, or locally. + +> +Tunnels all work the same, but can be segmented into two different groups - inbound tunnels and outbound tunnels. The inbound tunnels have an untrusted gateway which passes messages down towards the tunnel creator, which serves as the tunnel endpoint. For outbound tunnels, the tunnel creator serves as the gateway, passing messages out to the remote endpoint. + +> +The tunnel's creator selects exactly which peers will participate in the tunnel, and provides each with the necessary configuration data. They may have any number of hops. It is the intent to make it hard for either participants or third parties to determine the length of a tunnel, or even for colluding participants to determine whether they are a part of the same tunnel at all (barring the situation where colluding peers are next to each other in the tunnel). + +### Notes + +From @Java-I2P: + +> +@I2P is an inherently packet switched network, even with these tunnels, allowing it to take advantage of multiple tunnels running in parallel, increasing resilience and balancing load. Even though the tunnels within I2P bear a resemblance to a circuit switched network, everything within I2P is strictly message based - tunnels are merely accounting tricks to help organize the delivery of messages. No assumptions are made regarding reliability or ordering of messages, and retransmissions are left to higher levels (e.g. I2P's client layer streaming library). + +### Documentation + +For specification and detailed documentation, visit the [Tunnel-Routing](https://geti2p.net/en/docs/how/tunnel-routing) and [Tunnel-Implementation](https://geti2p.net/en/docs/tunnels/implementation) page. diff --git a/_i18n/de/resources/moneropedia/unlocktime.md b/_i18n/de/resources/moneropedia/unlocktime.md new file mode 100644 index 00000000..977952cd --- /dev/null +++ b/_i18n/de/resources/moneropedia/unlocktime.md @@ -0,0 +1,13 @@ +--- +terms: ["unlock-time"] +summary: "a special transaction where the recipient can only spend the funds after a future date, as set by the sender" +--- + +{% include untranslated.html %} +### The Basics + +A special transaction where the recipient can only spend the funds after a future date, as set by the sender. + +Unlock time allows you to send a transaction to someone, such that they can not spend it until after a certain number of blocks, or until a certain time. + +Note that this works differently than Bitcoin's [nLockTime](https://en.bitcoin.it/wiki/NLockTime), in which the transaction is not valid until the given time. diff --git a/_i18n/de/resources/moneropedia/viewkey.md b/_i18n/de/resources/moneropedia/viewkey.md new file mode 100644 index 00000000..0cb390ad --- /dev/null +++ b/_i18n/de/resources/moneropedia/viewkey.md @@ -0,0 +1,13 @@ +--- +terms: ["view-key", "view-keys"] +summary: "one of two sets of private and public cryptographic keys that each account has, with the private view key required to view all transactions related to the account" +--- + +{% include untranslated.html %} +### The Basics + +One of two sets of private and public cryptographic keys that each account has, with the private view key required to view all transactions related to the account. + +Monero features an opaque blockchain (with an explicit allowance system called the @view-key), in sharp contrast with transparent blockchains used by any other cryptocurrency not based on CryptoNote. Thus, Monero is said to be "private, optionally transparent". + +Every Monero address has a private viewkey which can be shared. By sharing a viewkey, a person is allowing access to view every incoming transaction for that address. However, outgoing transactions cannot be reliably viewed as of June 2017. Therefore, the balance of a Monero address as shown via a viewkey should not be relied upon. diff --git a/_i18n/de/resources/moneropedia/wallet.md b/_i18n/de/resources/moneropedia/wallet.md new file mode 100644 index 00000000..7b937af4 --- /dev/null +++ b/_i18n/de/resources/moneropedia/wallet.md @@ -0,0 +1,18 @@ +--- +terms: ["wallet", "wallets"] +summary: "A wallet stores the information necessary to send and receive Monero" +--- + +{% include untranslated.html %} +### The Basics + +A Monero account, or wallet, stores the information necessary to send and receive Moneroj. In addition to sending and receiving, the Monero Wallet software keeps a private history of your transactions and allows you to cryptographically sign messages. It also includes Monero mining software and an address book. + +The term "hot wallet" describes a Monero @account which is connected to the Internet. You can send funds easily but security is much lower than a cold wallet. Never store large amounts of cryptocurrency in a hot wallet! + +A cold wallet is generated on a trusted device or computer via an @airgap. If the device is to be reused, the data storage should be securely overwritten. As soon as a cold wallet is connected to the Internet or its mnemonic phrase or @spend-key is entered on an Internet-connected device, it's no longer "cold" and should be considered "hot". + +A Monero @paper-wallet can be generated by downloading the source code of https://moneroaddress.org/. Verify the signature of the code on a trusted airgapped device. Create the wallet and print or store it on the media of your choice. + +Monero accounts and paper-wallets can be stored on any media - paper, USB drive, CD/DVD, or a hardware wallet device (Ledger available since June 2018). + diff --git a/_i18n/de/resources/user-guides/How-to-mine-Monero-XMR-without-a-mining-equipment.md b/_i18n/de/resources/user-guides/How-to-mine-Monero-XMR-without-a-mining-equipment.md new file mode 100644 index 00000000..66e53708 --- /dev/null +++ b/_i18n/de/resources/user-guides/How-to-mine-Monero-XMR-without-a-mining-equipment.md @@ -0,0 +1,50 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## How to mine Monero (XMR) without a mining equipment? + +If you don’t have a profitable mining equipment, nor time or +money to invest into building it, you can still mine Monero with NiceHash. + +NiceHash is a hashing power marketplace. Sellers of hashing +power, i.e. miners, provide the hashing power for buyers (those who want to buy +a service of mining a certain coin). Hence, NiceHash can provide you a massive +hashing power in short amount of time. You won’t have to wait for years to see +if you will make a profit or not and you can control which coin, at which pool, +and for how long you want to mine. + +### **Step 1:** Create new account at NiceHash + +Visit [registration +page](https://www.nicehash.com/?p=register) and register with your e-mail address. + +### **Step 2:** Deposit some Bitcoins to your account + +You will mine Monero, but you can buy hashing power at +NiceHash only with Bitcoins. You can always withdraw unspent Bitcoins from your +account back to any Bitcoin wallet. + +Visit your [wallet +page](https://www.nicehash.com/?p=wallet) and make a deposit. Note that the minimum price for placing an order +equals 0.01 BTC. + +### **Step 3:** Find a suitable pool for mining and add it to your pool list + +Selection of the pool plays a big role in the final amount +of mined cryptocurrency. Make sure the pool you have selected can handle +massive hashing rate and loads of shares, especially from a single connection. +You can find a list of Monero pools [here](https://bitcointalk.org/index.php?topic=583449.0). + +Note that you will probably have to register an account at +selected pool as well. The pool will provide you with all the information you need. +You can save your favorite pools at [this page](https://www.nicehash.com/?p=managepools). + +### **Step 4:** Create new order and start mining + +When creating a [new order](https://www.nicehash.com/?p=orders&new), make sure you +select CryptoNightV7 algorithm for mining Monero (New algorithm variant since 2018 April the 6th). If you want to first learn more +about placing an order with NiceHash, we recommend you to read this [frequently asked question](https://www.nicehash.com/?p=faq#faqb0). + +If you want to bid on +hashing power select Standard (bidding) order type and if you want a fixed +order that cannot be outbid, select Fixed order type. The status of marketplace +and approximate prices of mining can be checked at [live marketplace](https://www.nicehash.com/index.jsp?p=orders).  \ No newline at end of file diff --git a/_i18n/de/resources/user-guides/Offline_Backup.md b/_i18n/de/resources/user-guides/Offline_Backup.md new file mode 100644 index 00000000..3438f1ef --- /dev/null +++ b/_i18n/de/resources/user-guides/Offline_Backup.md @@ -0,0 +1,38 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## Operating Systems: Various versions of Linux and Windows 7, 8 + +### Wallet Software: Simplewallet + +#### Resource for Creating Bootable Disks: [Linux](http://www.pendrivelinux.com/), [Windows](https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool) + +#### Resource for Monero Binaries: [Monero Binaries](https://getmonero.org/downloads/) + +- Take any computer you have lying around, even your normal workstation. You may find it easier to use an older computer that has no wifi or bluetooth if you're particularly paranoid + +- Create a Linux or Windows bootable disk, and make sure you have the Monero binaries on the same disk or on a second disk (for Linux make sure you have also downloaded copies of the dependencies you will need, libboost1.55 and miniupnpc for instance) + +- Disconnect the network and/or Internet cables from your computer, physically remove the wifi card or switch the wifi/bluetooth off on a laptop if possible + +- Boot into your bootable OS, install the dependencies if necessary + +- Copy the Monero binaries to a RAM disk (/dev/shm in Linux, Windows bootable ISOs normally have a Z: drive or something) + +- Don't run the Monero daemon. Instead, using the command line, use monero-wallet-cli to create a new Monero @account + +- When prompted for a name, give it any name, it doesn't really matter + +- When prompted for a password, type in like 50 - 100 random characters. Don't worry that you don't know the password, just make it LONG + +- **CRITICAL STEP**: Write down (on paper) your 25 word @mnemonic-seed +**WARNING**: If you forget to write down this information your funds may be lost forever + +- Write down (on your phone, on paper, on another computer, wherever you want) your address and view key + +- Switch off the computer, remove the battery if there is one, and leave it physically off for a few hours + +The account you've created was created in RAM, and the digital files are now inaccessible. If some adversary manages to somehow obtain the data, they will lack the long password to open it. If you need to receive payments, you have your public address, and you have the view key if needed. If you need access to it, you have your 25 word @mnemonic-seed, and you can now write out several copies of it, including an offsite copy (e.g. a bank deposit box). + +Credit: Riccardo Spagni + +Related: [Offline Account Generator](http://moneroaddress.org/) diff --git a/_i18n/de/resources/user-guides/cli_wallet_daemon_isolation_qubes_whonix.md b/_i18n/de/resources/user-guides/cli_wallet_daemon_isolation_qubes_whonix.md new file mode 100644 index 00000000..d4725e59 --- /dev/null +++ b/_i18n/de/resources/user-guides/cli_wallet_daemon_isolation_qubes_whonix.md @@ -0,0 +1,151 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# CLI Wallet/Daemon Isolation with Qubes + Whonix + +With [Qubes](https://qubes-os.org) + [Whonix](https://whonix.org) you can have a Monero wallet that is without networking and running on a virtually isolated system from the Monero daemon which has all of its traffic forced over [Tor](https://torproject.org). + +Qubes gives the flexibility to easily create separate VMs for different purposes. First you will create a Whonix workstation for the wallet with no networking. Next, another Whonix workstation for the daemon which will use your Whonix gateway as it's NetVM. For communication between the wallet and daemon you can make use of Qubes [qrexec](https://www.qubes-os.org/doc/qrexec3/). + +This is safer than other approaches which route the wallets rpc over a Tor hidden service, or that use physical isolation but still have networking to connect to the daemon. In this way you don't need any network connection on the wallet, you preserve resources of the Tor network, and there is less latency. + + +## 1. [Create Whonix AppVMs](https://www.whonix.org/wiki/Qubes/Install): + ++ Using a Whonix workstation template, create two workstations as follows: + + - The first workstation will be used for your wallet, it will referred to as `monero-wallet-ws`. You will have `NetVM` set to `none`. + + - The second workstation will be for the `monerod` daemon, it will be referred to as `monerod-ws`. You will have `NetVM` set to the Whonix gateway `sys-whonix`. + +## 2. In the AppVM `monerod-ws`: + ++ Download, verify, and install Monero software. + +``` +user@host:~$ curl -O "https://downloads.getmonero.org/cli/monero-linux-x64-v0.11.1.0.tar.bz2" -O "https://getmonero.org/downloads/hashes.txt" +user@host:~$ gpg --recv-keys BDA6BD7042B721C467A9759D7455C5E3C0CDCEB9 +user@host:~$ gpg --verify hashes.txt +gpg: Signature made Wed 01 Nov 2017 10:01:41 AM UTC +gpg: using RSA key 0x55432DF31CCD4FCD +gpg: Good signature from "Riccardo Spagni " [unknown] +gpg: WARNING: This key is not certified with a trusted signature! +gpg: There is no indication that the signature belongs to the owner. +Primary key fingerprint: BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9 + Subkey fingerprint: 94B7 38DD 3501 32F5 ACBE EA1D 5543 2DF3 1CCD 4FCD +user@host:~$ echo '6581506f8a030d8d50b38744ba7144f2765c9028d18d990beb316e13655ab248 monero-linux-x64-v0.11.1.0.tar.bz2' | shasum -c +monero-linux-x64-v0.11.1.0.tar.bz2: OK +user@host:~$ tar xf monero-linux-x64-v0.11.1.0.tar.bz2 +user@host:~$ sudo cp monero-v0.11.1.0/monerod /usr/local/bin/ +``` ++ Create a `systemd` file. + +``` +user@host:~$ sudo gedit /home/user/monerod.service +``` + +Paste the following contents: + +``` +[Unit] +Description=Monero Full Node +After=network.target + +[Service] +User=user +Group=user + +Type=forking +PIDFile=/home/user/.bitmonero/monerod.pid + +ExecStart=/usr/local/bin/monerod --detach --data-dir=/home/user/.bitmonero \ + --no-igd --pidfile=/home/user/.bitmonero/monerod.pid \ + --log-file=/home/user/.bitmonero/bitmonero.log --p2p-bind-ip=127.0.0.1 + +Restart=always +PrivateTmp=true + +[Install] +WantedBy=multi-user.target +``` + ++ Copy `monero-wallet-cli` executable to the `monero-wallet-ws` VM. + +``` +user@host:~$ qvm-copy-to-vm monero-wallet-ws monero-v0.11.1.0/monero-wallet-cli +``` + ++ Make `monerod` daemon run on startup by editing the file `/rw/config/rc.local`. + +``` +user@host:~$ sudo gedit /rw/config/rc.local +``` + +Add these lines to the bottom: + +``` +cp /home/user/monerod.service /lib/systemd/system/ +systemctl start monerod.service +``` + +Make file executable. + +``` +user@host:~$ sudo chmod +x /rw/config/rc.local +``` + ++ Create rpc action file. + +``` +user@host:~$ sudo mkdir /rw/usrlocal/etc/qubes-rpc +user@host:~$ sudo gedit /rw/usrlocal/etc/qubes-rpc/user.monerod +``` + +Add this line: + +``` +socat STDIO TCP:localhost:18081 +``` + ++ Shutdown `monerod-ws`. + +## 3. In the AppVM `monero-wallet-ws`: + ++ Move the `monero-wallet-cli` executable. + +``` +user@host:~$ sudo mv QubesIncoming/monerod-ws/monero-wallet-cli /usr/local/bin/ +``` + ++ Edit the file `/rw/config/rc.local`. + +``` +user@host:~$ sudo gedit /rw/config/rc.local +``` + +Add the following line to the bottom: + +``` +socat TCP-LISTEN:18081,fork,bind=127.0.0.1 EXEC:"qrexec-client-vm monerod-ws user.monerod" +``` + +Make file executable. + +``` +user@host:~$ sudo chmod +x /rw/config/rc.local +``` + ++ Shutdown `monero-wallet-ws`. + +## 4. In `dom0`: + ++ Create the file `/etc/qubes-rpc/policy/user.monerod`: + +``` +[user@dom0 ~]$ sudo nano /etc/qubes-rpc/policy/user.monerod +``` + +Add the following line: + +``` +monero-wallet-ws monerod-ws allow +``` diff --git a/_i18n/de/resources/user-guides/create_wallet.md b/_i18n/de/resources/user-guides/create_wallet.md new file mode 100644 index 00000000..6be08d09 --- /dev/null +++ b/_i18n/de/resources/user-guides/create_wallet.md @@ -0,0 +1,62 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +### Operating Systems: Ubuntu + +- Download the [official binaries](https://getmonero.org/downloads/) or compile the last source available on [Github](https://github.com/monero-project/bitmonero) + +![image1](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/1.png) +![image2](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/2.png) + +- Extract the files with the archive manager (same as Winzip on Windows). Note the path where the files "monerod" and "monero-wallet-cli" are + +![image3](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/3.png) +![image4](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/4.png) + +- You only need to do this step once : open a terminal (ctrl+alt+t) and install the required dependencies by typing : "*sudo apt-get install libboost-all-dev libssl-dev libevent-dev libdb++-dev*". When asked, press the Y key and then Enter to continue + +![image5](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/5.png) +![image6](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/6.png) + +- Open a terminal and load the path where your binaries are extracted (cf. step 2) by typing : "*cd yourPathFromStep2*" + +![image7](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/7.png) + +- Load monerod by typing in your terminal : "*./monerod*". Wait for the synchronization with the network (monerod is updating the blockchain you have downloaded in step 4 or is downloading it from scratch). This can take a lot of time the first time, so be patient + +![image8](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/8.png) +![image9](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/9.png) +![image10](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/10.png) +![image11](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/11.png) + +- Once monerod is synchronized with the network, open a new terminal, change the directory (cf. step 5), and launch monero-wallet-cli by typing "*./monero-wallet-cli*" + +![image12](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/12.png) + +- Enter the name you want for your portfolio and follow the instructions from the terminal + +![image13](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/13.png) +![image14](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/14.png) +![image15](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/15.png) +![image16](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/16.png) + +*This is your private key. Write it down and keep it in a safe place!* + +![image17](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/17.png) + +*This is your view key. You need it to create a view only wallet (cf. associated user guide)* + +![image18](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/18.png) + +*This is the address of your wallet* + +![image19](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/19.png) +![image20](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/20.png) +![image21](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/21.png) +![image22](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/22.png) +![image23](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/create_wallet/23.png) + +- To exit monerod or monero-wallet-cli just type "*exit*" in the associated terminal + +Now to access the portfolio you have just created you will have to launch monerod, wait for it to be synchronized with the network, launch monero-wallet-cli, and type the name of your portfolio and your password. + + diff --git a/_i18n/de/resources/user-guides/easiest_buy.md b/_i18n/de/resources/user-guides/easiest_buy.md new file mode 100644 index 00000000..51bc4f59 --- /dev/null +++ b/_i18n/de/resources/user-guides/easiest_buy.md @@ -0,0 +1,66 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## How to obtain Monero + +This is a guide to obtain your own Monero as of 20150919. This is perhaps the easiest way to purchase and hold Monero. + +####Step 1: Buy Bitcoin + +There are many ways to buy Bitcoin. Perhaps the easiest way is through circle.com. Once you have purchased some Bitcoin, you are ready to buy some Monero! Buying Bitcoin is straightforward. Please goto circle.com and just follow the instructions there. + +####Step 2: Set up a mymonero.com account + +MyMonero.com is an online wallet for Monero, maintained by Monero Core Developer Ricardo Spagni (fluffpony). It is the easiest wallet to use. Simply go to MyMonero.com and click on the "Create an Account" button. + +![image1](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/01.png) + +After clicking the button, you will see your private key. This key is what gives you access to your funds. Never share this key with anyone! + +### WRITE DOWN THIS KEY IMMEDIATELY! + +![image2](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/02.png) + +Type in your private key in the box below, and click the button. + +On the next page, you will see your address. + +![image3](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/03.png) + +Copy your address to the clipboard by highlighting the whole thing and hitting ctrl+c (or edit menu, copy), or clicking the little icon next to your address. Save your address somewhere. This is how others will send Monero to you, and what you will use to deposit Monero into your account! + +#### Step 3: Buy Monero and transfer the Monero to your new address + +Go to www.shapeshift.io . On the righthand side, of the screen, click icon under "Receive" to select Monero. + +![image5](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/05.png) +![image6](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/06.png) + +Paste your address into the field under the Monero logo. Select the "agree to terms" button, then hit "Start" + +![image7](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/07.png) + +In the new screen that pops up, copy the Deposit Address into your clipboard (select and hit ctrl+c or edit-copy) + +![image8](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/08.png) + +Go back to your circle.com page, hit the "transfer" button, and paste the Bitcoin address into the field +Enter the amount of Bitcoin you would like to spend. + +![image4](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/04.png) +![image9](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/09.png) + +You will get a text message verification code. Enter code and hit send. + +![image10](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/10.png) + +You will see the shapeshift change to "awaiting exchange" + +![image11](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/11.png) + +Then it will change to COMPLETE! + +![image12](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/12.png) + +After a while you will see it in your Monero account + +![image13](https://github.com/luuul/monero-site/blob/master/knowledge-base/user-guides/png/easiest_way/13.png) diff --git a/_i18n/de/resources/user-guides/howto_fix_stuck_funds.md b/_i18n/de/resources/user-guides/howto_fix_stuck_funds.md new file mode 100644 index 00000000..ea3b9396 --- /dev/null +++ b/_i18n/de/resources/user-guides/howto_fix_stuck_funds.md @@ -0,0 +1,32 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +Sometimes, your funds will become stuck - you will have some locked funds that never become unlocked. This is how you fix it. + +- Load your wallet in monero-wallet-cli. + +- Type + +> seed + +into the command prompt. Write down your 25 word seed, if you haven't already. This is the best way to make sure you don't loose access to your funds. + +- Close monero-wallet-cli by typing + +> exit + +- Backup all of your wallet related files. These include: + +> yourwalletname.bin +> yourwalletname.bin.keys +> yourwalletname.bin.address.txt + +This can be done by copying the files to a new folder. + +Sometimes, when creating your wallet, you might have named it something without the .bin part. In that case, the wallet file will be called yourwalletname without the .bin at the end. + +- Delete yourwallet.bin + +- Load monero-wallet-cli, type in the name of the wallet you just deleted + +- Enter password. The wallet will now refresh and hopefully your locked funds will now become unlocked. + diff --git a/_i18n/de/resources/user-guides/importing_blockchain.md b/_i18n/de/resources/user-guides/importing_blockchain.md new file mode 100644 index 00000000..92be5dda --- /dev/null +++ b/_i18n/de/resources/user-guides/importing_blockchain.md @@ -0,0 +1,58 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# Importing the Blockchain to Monero GUI wallet (Windows) + +### Step 1 + +Download the Current bootstrap from https://downloads.getmonero.org/blockchain.raw; you can skip this step if you are importing the Blockchain from another source. + +### Step 2 + +Find the path of your Monero wallet (the folder where you extracted your wallet). For example mine is: + +`D:\monero-gui-0.10.3.1` + +Your path may be different depending on where you decided to download your wallet and what version of the Monero wallet you have. + +### Step 3 + +Find the path of your downloaded Blockchain for example mine was: + +`C:\Users\KeeJef\Downloads\blockchain.raw` + +Yours might be different depending on where you downloaded the Blockchain to. + +### Step 4 + +Open a Command Prompt window. You can do this by pressing the Windows key + R, and then typing in the popup box `CMD` + +### Step 5 + +Now you need to navigate using the CMD window to the path of your Monero wallet. You can do this by typing: + +`cd C:\YOUR\MONERO\WALLET\FILE\PATH\HERE` + +It should look something like: + +`cd D:\monero-gui-0.10.3.1` + +If your Monero wallet is on another drive you can use `DriveLetter:` for example if your Monero wallet was on your D drive then before using the cd command you would do `D:` + +### Step 6 + +Now type in your command prompt window: + +`monero-blockchain-import --input-file C:\YOUR\BLOCKCHAIN\FILE\PATH\HERE` + +For example I would type : + +`monero-blockchain-import --input-file C:\Users\KeeJef\Downloads\blockchain.raw` + +If you downloaded the Blockchain from a trusted, reputable source you may set `verify 0` this will reduce the amount of time to sync the Blockchain. + +### Step 7 + +After the the Blockchain has finished syncing up you can open your Monero wallet normally. Your downloaded blockchain.raw can be deleted. + + +Author: Kee Jefferys diff --git a/_i18n/de/resources/user-guides/ledger-wallet-cli.md b/_i18n/de/resources/user-guides/ledger-wallet-cli.md new file mode 100644 index 00000000..edfec75b --- /dev/null +++ b/_i18n/de/resources/user-guides/ledger-wallet-cli.md @@ -0,0 +1,165 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## How to generate a Ledger Monero wallet with the CLI (monero-wallet-cli) + +### Table of Content + +* [1. Windows](#1-windows) +* [2. Mac OS X](#2-mac-os-x) +* [3. Linux](#3-linux) +* [4. Final notes](#4-a-few-final-notes) + +### 1. Windows + +We first have to ensure that we're sufficiently prepared. This entails the following: + +1. This guide assumes you have already initialized your Ledger wallet and thus generated a 24 word mnemonic seed. + +2. You need to run / use CLI v0.12.2.0, which can be found here. + +3. You need to install the Ledger Monero app and configure your system. Instructions can be found [here](https://github.com/LedgerHQ/blue-app-monero/blob/master/doc/user/bolos-app-monero.pdf) (sections 3.1.1 and 3.2.3 in particular). In addition, make sure to set the network to `Mainnet` + +4. Your Ledger needs to be plugged in and the Ledger Monero app should be running. + +5. Either your daemon (`monerod.exe`) should be running and preferably be fully synced or you should connect to a remote node. + +Now that we're sufficiently prepared, let's start! + +1. Go to the directory / folder monerod.exe and monero-wallet-cli.exe are located. + +2. Open a new command prompt / powershell. This is done by first making sure your cursor isn't located on any of the files and subsequently doing SHIFT + right click. It will give you an option to "Open command window here". If you're using Windows 10 in latest version, it'll give you an option to "open the PowerShell window here". + +3. Now type: + +`monero-wallet-cli.exe --generate-from-device --subaddress-lookahead 3:200` (Win 7 + 8) + +`.\monero-wallet-cli.exe --generate-from-device --subaddress-lookahead 3:200` (Win 10) + +Note that is simply a placeholder for the actual wallet name. If you, for instance, want to name your wallet `MoneroWallet`, the command would be as follows: + +`monero-wallet-cli.exe --generate-from-device MoneroWallet --subaddress-lookahead 3:200` (Win 7 + 8) + +`.\monero-wallet-cli.exe --generate-from-device MoneroWallet --subaddress-lookahead 3:200` (Win 10) + +4. The CLI will, after executing aforementioned command, prompt your for a password. Make sure to set a strong password and confirm it thereafter. + +5. The Ledger will ask whether you want to export the private view key or not. First and foremost, your funds cannot be compromised with merely the private view key. Exporting the private view key enables the client (on the computer - Monero v0.12.2.0) to scan blocks looking for transactions that belong to your wallet / address. If this option is not utilized, the device (Ledger) will scan blocks, which will be significantly slower. There is, however, one caveat. That is, if your system gets compromised, the adversary will potentially be able to compromise your private view key as well, which is detrimental to privacy. This is virtually impossible when the private view key is not exported. + +6. You may have to hit confirm twice before it proceeds. + +7. Your Ledger Monero wallet will now be generated. Note that this may take up to 5-10 minutes. Furthermore, there will be no immediate feedback in the CLI nor on the Ledger. + +8. `monero-wallet-cli` will start refreshing. Wait until it has fully refreshed. + +Congratulations, you can now use your Ledger Monero wallet in conjunction with the CLI. + +### 2. Mac OS X +We first have to ensure that we're sufficiently prepared. This entails the following: + +1. This guide assumes you have already initialized your Ledger wallet and thus generated a 24 word mnemonic seed. + +2. You need to run / use CLI v0.12.2.0, which can be found here. + +3. You need to install the Ledger Monero app and configure your system. Instructions can be found [here](https://github.com/LedgerHQ/blue-app-monero/blob/master/doc/user/bolos-app-monero.pdf) (sections 3.1.1 and 3.2.2 in particular). In addition, make sure to set the network to `Mainnet` + +4. Note that the instructions for system configuration (section 3.2.2) on Mac OS X are quite elaborate and can be perceived as slightly convoluted. Fortunately, tficharmers has created a guide [here](https://monero.stackexchange.com/questions/8438/how-do-i-make-my-macos-detect-my-ledger-nano-s-when-plugged-in) that you can use for assistance. + +5. Your Ledger needs to be plugged in and the Ledger Monero app should be running. + +6. Either your daemon (`monerod`) should be running and preferably be fully synced or you should connect to a remote node. + +Now that we're sufficiently prepared, let's start! + +1. Use Finder to browse to the directory / folder `monero-wallet-cli` (CLI v0.12.2.0) is located. + +2. Go to your desktop. + +3. Open a new terminal (if don't know how to open a terminal, see [here](https://apple.stackexchange.com/a/256263)). + +4. Drag `monero-wallet-cli` in the terminal. It should add the full path to the terminal. Do not hit enter. + +5. Now type: + +`--generate-from-device --subaddress-lookahead 3:200` + +Note that is simply a placeholder for the actual wallet name. If you, for instance, want to name your wallet `MoneroWallet`, the command would be as follows: + +`--generate-from-device MoneroWallet --subaddress-lookahead 3:200` + +Note that aforementioned text will be appended to the path of `monero-wallet-cli`. Thus, before you hit enter, your terminal should look like: + +`/full/path/to/monero-wallet-cli --generate-from-device --subaddress-lookahead 3:200` + +Where the full path is, intuitively, the actual path on your Mac OS X. + +7. The CLI will, after executing aforementioned command, prompt you for a password. Make sure to set a strong password and confirm it thereafter. + +8. The Ledger will ask whether you want to export the private view key or not. First and foremost, your funds cannot be compromised with merely the private view key. Exporting the private view key enables the client (on the computer - Monero v0.12.2.0) to scan blocks looking for transactions that belong to your wallet / address. If this option is not utilized, the device (Ledger) will scan blocks, which will be significantly slower. There is, however, one caveat. That is, if your system gets compromised, the adversary will potentially be able to compromise your private view key as well, which is detrimental to privacy. This is virtually impossible when the private view key is not exported. + +9. You may have to hit confirm twice before it proceeds. + +10. Your Ledger Monero wallet will now be generated. Note that this may take up to 5-10 minutes. Furthermore, there will be no immediate feedback in the CLI nor on the Ledger. + +11. `monero-wallet-cli` will start refreshing. Wait until it has fully refreshed. + +12. Congratulations, you can now use your Ledger Monero wallet in conjunction with the CLI. + +### 3. Linux +We first have to ensure that we're sufficiently prepared. This entails the following: + +1. This guide assumes you have already initialized your Ledger wallet and thus generated a 24 word mnemonic seed. + +2. You need to run / use CLI v0.12.2.0, which can be found here. + +3. You need to install the Ledger Monero app and configure your system. Instructions can be found [here](https://github.com/LedgerHQ/blue-app-monero/blob/master/doc/user/bolos-app-monero.pdf) (sections 3.1.1 and 3.2.1 in particular). In addition, make sure to set the network to `Mainnet` + +4. Your Ledger needs to be plugged in and the Ledger Monero app should be running. + +5. Either your daemon (`monerod`) should be running and preferably be fully synced or you should connect to a remote node. + +Now that we're sufficiently prepared, let's start! + +1. Go to the directory / folder monero-wallet-cli and monerod are located. + +2. Open a new terminal + +3. Now type: + +`./monero-wallet-cli --generate-from-device --subaddress-lookahead 3:200` + +Note that is simply a placeholder for the actual wallet name. If you, for instance, want to name your wallet `MoneroWallet`, the command would be as follows: + +`./monero-wallet-cli --generate-from-device MoneroWallet --subaddress-lookahead 3:200` + +4. The CLI will, after executing aforementioned command, prompt your for a password. Make sure to set a strong password and confirm it thereafter. + +5. The Ledger will ask whether you want to export the private view key or not. First and foremost, your funds cannot be compromised with merely the private view key. Exporting the private view key enables the client (on the computer - Monero v0.12.2.0) to scan blocks looking for transactions that belong to your wallet / address. If this option is not utilized, the device (Ledger) will scan blocks, which will be significantly slower. There is, however, one caveat. That is, if your system gets compromised, the adversary will potentially be able to compromise your private view key as well, which is detrimental to privacy. This is virtually impossible when the private view key is not exported. + +6. You may have to hit confirm twice before it proceeds. + +7. Your Ledger Monero wallet will now be generated. Note that this may take up to 5-10 minutes. Furthermore, there will be no immediate feedback in the CLI nor on the Ledger. + +8. `monero-wallet-cli` will start refreshing. Wait until it has fully refreshed. + +Congratulations, you can now use your Ledger Monero wallet in conjunction with the CLI. + +### 4. A few final notes + +1. We'd strongly advise to test the full process first. That is, send a small amount to the wallet and subsequently restore it (using aforementioned guide) to verify that you can recover the wallet. Note that, upon recreating / restoring the wallet, you ought to append the `--restore-height` flag (with a block height before the height of your first transaction to the wallet) to the command in step 3 (Windows), step 5 (Mac OS X), or step 3 (Linux). More information about the restore height and how to approximate it can be found [here](https://monero.stackexchange.com/questions/7581/what-is-the-relevance-of-the-restore-height). + +2. If you use a remote node, append the `--daemon-address host:port` flag to the command in step 3 (Windows), step 5 (Mac OS X), or step 3 (Linux). + +3. If desired, you can manually tweak the `--subaddress-lookahead` value. The first value is the number of accounts and the second value is the number of subaddresses per account. Thus, if you, for instance, want to pregenerate 5 accounts with 100 subaddresses each, use `--subaddress-lookahead 5:100`. Bear in mind that, the more subaddresses you pregenerate, the longer it takes for the Ledger to create your wallet. + +4. You only have to use the `--generate-from-device` flag once (i.e. upon wallet creation). Thereafter, you'd basically use it similar to how you normally use the CLI. That is: + 1. Make sure your Ledger is plugged in and the Monero app is running. + 2. Open `monero-wallet-cli`. + 3. Enter the wallet name of your Ledger Monero wallet. + 4. Enter the password to open the wallet. + + If the Ledger wallet files are not in the same directory as `monero-wallet-cli`, you ought to open `monero-wallet-cli` with the `--wallet-file /path/to/wallet.keys/file` flag. Alternatively, you can copy the Ledger wallet files to the same directory as `monero-wallet-cli`. + +5. If you have any further questions or need assistance, please leave a comment to the original [StackExchange](https://monero.stackexchange.com/questions/8503/how-do-i-generate-a-ledger-monero-wallet-with-the-cli-monero-wallet-cli) answer. + +Author: dEBRUYNE +Secondary scribe: el00ruobuob diff --git a/_i18n/de/resources/user-guides/mine-to-pool.md b/_i18n/de/resources/user-guides/mine-to-pool.md new file mode 100644 index 00000000..708a4695 --- /dev/null +++ b/_i18n/de/resources/user-guides/mine-to-pool.md @@ -0,0 +1,115 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# Selecting a pool + +There are many pools to choose from, a list is available at +[moneropools.com](https://moneropools.com). Mining on a larger pool could mean +more frequent payouts, but mining on a smaller pool helps to keep the network +decentralized. + +# Selecting a CPU miner + +Just like pools, there are a lot of miners to choose from. The one that you +should pick depends on the hardware you want to mine on. This guide will only +use a CPU miner, and will be using +[xmr-stak-cpu](https://github.com/fireice-uk/xmr-stak-cpu). Alternatives include +[wolf's CPUMiner](https://github.com/wolf9466/cpuminer-multi) and +[sgminer-gm](https://github.com/genesismining/sgminer-gm). However, their +configuration is slightly different and will not be covered in this guide. + +## For Windows Systems + +If you are using a Windows system, the developer of xmr-stak-cpu provides +binaries to download on the +[GitHub release page](https://github.com/fireice-uk/xmr-stak-cpu/releases). + +Download `xmr-stak-cpu-win64.zip` and extract it somewhere you'll be able to +find it again. + +## For Other Operating Systems + +If you're not using Windows, you will have to compile xmr-stak-cpu for yourself, +luckily this isn't as hard as it sounds. Before you can compile the miner, you +will need to install some of its prerequisites. + +For Debian-based distros: + + sudo apt-get install libmicrohttpd-dev libssl-dev cmake build-essential + +For Red Hat based distros: + + sudo yum install openssl-devel cmake gcc-c++ libmicrohttpd-devel + + + +Following this, you just need to use cmake to generate the build files, run +make and copy the config file: + + mkdir build-$(gcc -dumpmachine) + cd $_ + cmake ../ + make -j$(nproc) + cp ../config.txt bin/ + cd bin + +Don't celebrate just yet, as the miner needs to be configured. Running the miner +now should give you a block of text to copy and paste: + +![image1](png/mine_to_pool/1.png) + +Open `config.txt` and *replace* the two `"cpu_threads_conf"` lines with the text +you just copied. It should look something like this afterwards: + +![image2](png/mine_to_pool/2.png) + +Scroll down in the file until you see the lines containing `"pool_address"`. +*Replace* the contents of the second set of quotes with the address and port of +the pool you chose earlier. You can find this information on the pool's website. + +Put your wallet address between the quotes on the wallet address. You may leave +the password blank unless the pool specifies otherwise. + +After this, your config should look something like this: + +![image3](png/mine_to_pool/3.png) + +# Running the miner + +**Save the config** file and run the miner! + +![image4](png/mine_to_pool/4.png) + +Some pools allow you to monitor your hashrate by pasting your address into their +website. You can also monitor your hashrate by pressing the `h` key. + +# Tuning the miner + +You might see nasty messages like this: + + [2017-07-09 12:04:02] : MEMORY ALLOC FAILED: mmap failed + +This means that you can get around a 20% hashrate boost by enabling large pages. + +## Large pages on Linux + +Firstly stop the miner (if it's running), run the following commands to enable +large pages and then start the miner as root: + + sudo sysctl -w vm.nr_hugepages=128 + sudo ./xmr-stak-cpu + +## Large pages on Windows + +Taken from `config.txt`: + +>By default we will try to allocate large pages. This means you need to "Run As Administrator" on Windows +You need to edit your system's group policies to enable locking large pages. Here are the steps from MSDN +1. On the Start menu, click Run. In the Open box, type gpedit.msc. +2. On the Local Group Policy Editor console, expand Computer Configuration, and then expand Windows Settings. +3. Expand Security Settings, and then expand Local Policies. +4. Select the User Rights Assignment folder. +5. The policies will be displayed in the details pane. +6. In the pane, double-click Lock pages in memory. +7. In the Local Security Setting – Lock pages in memory dialog box, click Add User or Group. +8. In the Select Users, Service Accounts, or Groups dialog box, add an account that you will run the miner on +9. Reboot for change to take effect. diff --git a/_i18n/de/resources/user-guides/mining_with_xmrig_and_docker.md b/_i18n/de/resources/user-guides/mining_with_xmrig_and_docker.md new file mode 100644 index 00000000..f785e308 --- /dev/null +++ b/_i18n/de/resources/user-guides/mining_with_xmrig_and_docker.md @@ -0,0 +1,38 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## Introduction + +This guide is two fold, ease of use for mining on Linux distributions and some extra security around mining as most of these miners have not had security auditing. + +At the end of this guide you will be able to sleep a little easier knowing that if the miner gets exploited it will not migrate to your OS. + +### Why Docker + +[Docker](https://www.docker.com/) is being used as it is the most well known and has the biggest chance to be already installed. + +The container I am using is [alpine-xmrig](https://hub.docker.com/r/bitnn/alpine-xmrig/) as per the name it is built on the [Alpine Linux](https://www.alpinelinux.org/) image. + +If you are interested in getting started with Docker, here are some really good starting references. +* Arch Linux Wiki [Docker Page](https://wiki.archlinux.org/index.php/Docker) +* Container Solutions [Security Cheat Sheet](http://container-solutions.com/content/uploads/2015/06/15.06.15_DockerCheatSheet_A2.pdf) +* Digital Oceans [Dockerfile Howto](https://www.digitalocean.com/community/tutorials/docker-explained-using-dockerfiles-to-automate-building-of-images). + +For distribution specific installation please refer to the [Docker Docs](https://docs.docker.com/engine/installation/) website. + +### Why XMRig + +[XMRig](https://github.com/xmrig/xmrig) is just a really solid miner to me. Nice output and statistics, no flashy web-ui's or dependencies. The XMRig container is only ~4MB what makes it extremely portable. + +#### Step 1: Mining with XMRig + +Run the following + +```bash +# docker run --restart unless-stopped --read-only -m 50M -c 512 bitnn/alpine-xmrig -o POOL01 -o POOL02 -u WALLET -p PASSWORD -k +# docker run --restart unless-stopped --read-only -m 50M -c 512 bitnn/alpine-xmrig -o pool.supportxmr.com:7777 -u 45CJVagd6WwQAQfAkS91EHiTyfVaJn12uM4Su8iz6S2SHZ3QthmFM9BSPHVZY388ASWx8G9Wbz4BA24RQZUpGczb35fnnJz -p docker:secret -k +``` + +#### Step 2: There is no Step 2 + +You have already done everything you need to do. You are now mining in a docker container with XMRig `ctrl+c` to exit the miner or add `-d` just after `docker run` to background the miner. + diff --git a/_i18n/de/resources/user-guides/monero-wallet-cli.md b/_i18n/de/resources/user-guides/monero-wallet-cli.md new file mode 100644 index 00000000..9ade7dc2 --- /dev/null +++ b/_i18n/de/resources/user-guides/monero-wallet-cli.md @@ -0,0 +1,147 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# monero-wallet-cli + +`monero-wallet-cli` is the wallet software that ships with the Monero tree. It is a console program, +and manages an account. While a bitcoin wallet manages both an account and the blockchain, +Monero separates these: `monerod` handles the blockchain, and `monero-wallet-cli` handles the account. + +This guide will show how to perform various operations from the `monero-wallet-cli` UI. The guide assumes you are using the most recent version of Monero and have already created an account according to the other guides. + + +## Checking your balance + +Since the blockchain handling and the wallet are separate programs, many uses of `monero-wallet-cli` +need to work with the daemon. This includes looking for incoming transactions to your address. +Once you are running both `monero-wallet-cli` and `monerod`, enter `balance`. + +Example: + +This will pull blocks from the daemon the wallet did not yet see, and update your balance +to match. This process will normally be done in the background every minute or so. To see the +balance without refreshing: + + balance + Balance: 64.526198850000, unlocked balance: 44.526198850000, including unlocked dust: 0.006198850000 + +In this example, `Balance` is your total balance. The `unlocked balance` is the amount currently available to spend. Newly received transactions require 10 confirmations on the blockchain before being unlocked. `unlocked dust` refers to very small amounts of unspent outputs that may have accumulated in your account. + +## Sending monero + +You will need the standard address you want to send to (a long string starting with '4'), and +possibly a payment ID, if the receiving party requires one. In that latter case, that party +may instead give you an integrated address, which is both of these packed into a single address. + +### Sending to a standard address: + + transfer ADDRESS AMOUNT PAYMENTID + +Replace `ADDRESS` with the address you want to send to, `AMOUNT` with how many monero you want to send, +and `PAYMENTID` with the payment ID you were given. Payment ID's are optional. If the receiving party doesn't need one, just +omit it. + +### Sending to an integrated address: + + transfer ADDRESS AMOUNT + +The payment ID is implicit in the integrated address in that case. + +### Specify the number of outputs for a transaction: + + transfer RINGSIZE ADDRESS AMOUNT + +Replace `RINGSIZE` with the number of outputs you wish to use. **If not specified, the default is 7.** It's a good idea to use the default, but you can increase the number if you want to include more outputs. The higher the number, the larger the transaction, and higher fees are needed. + + +## Receiving monero + +If you have your own Monero address, you just need to give your standard address to someone. + +You can find out your address with: + + address + +Since Monero is anonymous, you won't see the origin address the funds you receive came from. If you +want to know, for instance to credit a particular customer, you'll have to tell the sender to use +a payment ID, which is an arbitrary optional tag which gets attached to a transaction. To make life +easier, you can generate an address that already includes a random payment ID: + + integrated_address + +This will generate a random payment ID, and give you the address that includes your own account +and that payment ID. If you want to select a particular payment ID, you can do that too: + + integrated_address 12346780abcdef00 + +Payments made to an integrated address generated from your account will go to your account, +with that payment id attached, so you can tell payments apart. + + +## Proving to a third party you paid someone + +If you pay a merchant, and the merchant claims to not have received the funds, you may need +to prove to a third party you did send the funds - or even to the merchant, if it is a honest +mistake. Monero is private, so you can't just point to your transaction in the blockchain, +as you can't tell who sent it, and who received it. However, by supplying the per-transaction +private key to a party, that party can tell whether that transaction sent monero to that +particular address. Note that storing these per-transaction keys is disabled by default, and +you will have to enable it before sending, if you think you may need it: + + set store-tx-info 1 + +You can retrieve the tx key from an earlier transaction: + + get_tx_key 1234567890123456789012345678901212345678901234567890123456789012 + +Pass in the transaction ID you want the key for. Remember that a payment might have been +split in more than one transaction, so you may need several keys. You can then send that key, +or these keys, to whoever you want to provide proof of your transaction, along with the +transaction id and the address you sent to. Note that this third party, if knowing your +own address, will be able to see how much change was returned to you as well. + +If you are the third party (that is, someone wants to prove to you that they sent monero +to an address), then you can check this way: + + check_tx_key TXID TXKEY ADDRESS + +Replace `TXID`, `TXKEY` and `ADDRESS` with the transaction ID, per-transaction key, and destination +address which were supplied to you, respectively. monero-wallet-cli will check that transaction +and let you know how much monero this transaction paid to the given address. + + +## Getting a chance to confirm/cancel payments + +If you want to get a last chance confirmation when sending a payment: + + set always-confirm-transfers 1 + + +## How to find a payment to you + +If you received a payment using a particular payment ID, you can look it up: + + payments PAYMENTID + +You can give more than one payment ID too. + +More generally, you can review incoming and outgoing payments: + + show_transfers + +You can give an optional height to list only recent transactions, and request +only incoming or outgoing transactions. For example, + + show_transfers in 650000 + +will only show incoming transfers after block 650000. You can also give a height +range. + +If you want to mine, you can do so from the wallet: + + start_mining 2 + +This will start mining on the daemon usin two threads. Note that this is solo mining, +and may take a while before you find a block. To stop mining: + + stop_mining + diff --git a/_i18n/de/resources/user-guides/monero_tools.md b/_i18n/de/resources/user-guides/monero_tools.md new file mode 100644 index 00000000..19102fc7 --- /dev/null +++ b/_i18n/de/resources/user-guides/monero_tools.md @@ -0,0 +1,19 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# Monero tools + +These tools can be used to gain information about the Monero network or your transaction data in the blockchain. + +### [Check that a recipient has received your funds](http://xmrtests.llcoins.net/checktx.html) + +### [Tools for monero address generation](https://xmr.llcoins.net/) + +### [Monero node count](http://moneronodes.i2p.xyz/) + +### [Monero node map](https://monerohash.com/nodes-distribution.html) + +### [Monero offline wallet generator](http://moneroaddress.org/) + +### [Monero network statistics](http://moneroblocks.info/stats) + +### [Monero.how statistics](https://www.monero.how/) \ No newline at end of file diff --git a/_i18n/de/resources/user-guides/png/create_wallet/1.png b/_i18n/de/resources/user-guides/png/create_wallet/1.png new file mode 100644 index 00000000..44acf51b Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/1.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/10.png b/_i18n/de/resources/user-guides/png/create_wallet/10.png new file mode 100644 index 00000000..2f248c9d Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/10.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/11.png b/_i18n/de/resources/user-guides/png/create_wallet/11.png new file mode 100644 index 00000000..f8bb9989 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/11.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/12.png b/_i18n/de/resources/user-guides/png/create_wallet/12.png new file mode 100644 index 00000000..2e1f69d6 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/12.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/13.png b/_i18n/de/resources/user-guides/png/create_wallet/13.png new file mode 100644 index 00000000..2db5d603 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/13.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/14.png b/_i18n/de/resources/user-guides/png/create_wallet/14.png new file mode 100644 index 00000000..bf2906e2 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/14.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/15.png b/_i18n/de/resources/user-guides/png/create_wallet/15.png new file mode 100644 index 00000000..7c675edf Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/15.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/16.png b/_i18n/de/resources/user-guides/png/create_wallet/16.png new file mode 100644 index 00000000..ab23b572 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/16.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/17.png b/_i18n/de/resources/user-guides/png/create_wallet/17.png new file mode 100644 index 00000000..97ea15bc Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/17.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/18.png b/_i18n/de/resources/user-guides/png/create_wallet/18.png new file mode 100644 index 00000000..20546a9a Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/18.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/19.png b/_i18n/de/resources/user-guides/png/create_wallet/19.png new file mode 100644 index 00000000..5a7088e2 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/19.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/2.png b/_i18n/de/resources/user-guides/png/create_wallet/2.png new file mode 100644 index 00000000..164aa6b6 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/2.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/20.png b/_i18n/de/resources/user-guides/png/create_wallet/20.png new file mode 100644 index 00000000..c5169249 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/20.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/21.png b/_i18n/de/resources/user-guides/png/create_wallet/21.png new file mode 100644 index 00000000..090ff767 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/21.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/22.png b/_i18n/de/resources/user-guides/png/create_wallet/22.png new file mode 100644 index 00000000..8c7a7669 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/22.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/23.png b/_i18n/de/resources/user-guides/png/create_wallet/23.png new file mode 100644 index 00000000..e2dfc0c4 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/23.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/3.png b/_i18n/de/resources/user-guides/png/create_wallet/3.png new file mode 100644 index 00000000..f4f4436e Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/3.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/4.png b/_i18n/de/resources/user-guides/png/create_wallet/4.png new file mode 100644 index 00000000..36be1be0 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/4.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/5.png b/_i18n/de/resources/user-guides/png/create_wallet/5.png new file mode 100644 index 00000000..56c6733a Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/5.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/6.png b/_i18n/de/resources/user-guides/png/create_wallet/6.png new file mode 100644 index 00000000..8e0d7950 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/6.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/7.png b/_i18n/de/resources/user-guides/png/create_wallet/7.png new file mode 100644 index 00000000..c1852782 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/7.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/8.png b/_i18n/de/resources/user-guides/png/create_wallet/8.png new file mode 100644 index 00000000..ce02508b Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/8.png differ diff --git a/_i18n/de/resources/user-guides/png/create_wallet/9.png b/_i18n/de/resources/user-guides/png/create_wallet/9.png new file mode 100644 index 00000000..cac31479 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/create_wallet/9.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/01.png b/_i18n/de/resources/user-guides/png/easiest_way/01.png new file mode 100644 index 00000000..17c55b2d Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/01.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/02.png b/_i18n/de/resources/user-guides/png/easiest_way/02.png new file mode 100644 index 00000000..91e1bfd1 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/02.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/03.png b/_i18n/de/resources/user-guides/png/easiest_way/03.png new file mode 100644 index 00000000..dded71ad Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/03.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/04.png b/_i18n/de/resources/user-guides/png/easiest_way/04.png new file mode 100644 index 00000000..e657d431 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/04.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/05.png b/_i18n/de/resources/user-guides/png/easiest_way/05.png new file mode 100644 index 00000000..00d2b26a Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/05.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/06.png b/_i18n/de/resources/user-guides/png/easiest_way/06.png new file mode 100644 index 00000000..4d55286c Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/06.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/07.png b/_i18n/de/resources/user-guides/png/easiest_way/07.png new file mode 100644 index 00000000..715245b2 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/07.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/08.png b/_i18n/de/resources/user-guides/png/easiest_way/08.png new file mode 100644 index 00000000..bfc459a8 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/08.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/09.png b/_i18n/de/resources/user-guides/png/easiest_way/09.png new file mode 100644 index 00000000..e632bbb8 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/09.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/10.png b/_i18n/de/resources/user-guides/png/easiest_way/10.png new file mode 100644 index 00000000..3a933733 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/10.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/11.png b/_i18n/de/resources/user-guides/png/easiest_way/11.png new file mode 100644 index 00000000..eaa4a5b9 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/11.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/12.png b/_i18n/de/resources/user-guides/png/easiest_way/12.png new file mode 100644 index 00000000..e38159ec Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/12.png differ diff --git a/_i18n/de/resources/user-guides/png/easiest_way/13.png b/_i18n/de/resources/user-guides/png/easiest_way/13.png new file mode 100644 index 00000000..ed3b707d Binary files /dev/null and b/_i18n/de/resources/user-guides/png/easiest_way/13.png differ diff --git a/_i18n/de/resources/user-guides/png/mine_to_pool/1.png b/_i18n/de/resources/user-guides/png/mine_to_pool/1.png new file mode 100644 index 00000000..a6e76528 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/mine_to_pool/1.png differ diff --git a/_i18n/de/resources/user-guides/png/mine_to_pool/2.png b/_i18n/de/resources/user-guides/png/mine_to_pool/2.png new file mode 100644 index 00000000..83a7dd16 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/mine_to_pool/2.png differ diff --git a/_i18n/de/resources/user-guides/png/mine_to_pool/3.png b/_i18n/de/resources/user-guides/png/mine_to_pool/3.png new file mode 100644 index 00000000..70aeea2a Binary files /dev/null and b/_i18n/de/resources/user-guides/png/mine_to_pool/3.png differ diff --git a/_i18n/de/resources/user-guides/png/mine_to_pool/4.png b/_i18n/de/resources/user-guides/png/mine_to_pool/4.png new file mode 100644 index 00000000..13361a0e Binary files /dev/null and b/_i18n/de/resources/user-guides/png/mine_to_pool/4.png differ diff --git a/_i18n/de/resources/user-guides/png/prove-payment/check-payment.png b/_i18n/de/resources/user-guides/png/prove-payment/check-payment.png new file mode 100644 index 00000000..48bc49a9 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/prove-payment/check-payment.png differ diff --git a/_i18n/de/resources/user-guides/png/prove-payment/history.png b/_i18n/de/resources/user-guides/png/prove-payment/history.png new file mode 100644 index 00000000..bad5adde Binary files /dev/null and b/_i18n/de/resources/user-guides/png/prove-payment/history.png differ diff --git a/_i18n/de/resources/user-guides/png/prove-payment/payment-checked.png b/_i18n/de/resources/user-guides/png/prove-payment/payment-checked.png new file mode 100644 index 00000000..e858ea01 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/prove-payment/payment-checked.png differ diff --git a/_i18n/de/resources/user-guides/png/prove-payment/payment-proof.png b/_i18n/de/resources/user-guides/png/prove-payment/payment-proof.png new file mode 100644 index 00000000..76f626ea Binary files /dev/null and b/_i18n/de/resources/user-guides/png/prove-payment/payment-proof.png differ diff --git a/_i18n/de/resources/user-guides/png/remote_node/remote-node-screenshot.png b/_i18n/de/resources/user-guides/png/remote_node/remote-node-screenshot.png new file mode 100644 index 00000000..fe34784f Binary files /dev/null and b/_i18n/de/resources/user-guides/png/remote_node/remote-node-screenshot.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_account/all-set-up.png b/_i18n/de/resources/user-guides/png/restore_account/all-set-up.png new file mode 100644 index 00000000..aebc5e4c Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_account/all-set-up.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_account/cancel-opening.png b/_i18n/de/resources/user-guides/png/restore_account/cancel-opening.png new file mode 100644 index 00000000..1d987435 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_account/cancel-opening.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_account/choose-language.png b/_i18n/de/resources/user-guides/png/restore_account/choose-language.png new file mode 100644 index 00000000..d49f8ffa Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_account/choose-language.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_account/choose-restore.png b/_i18n/de/resources/user-guides/png/restore_account/choose-restore.png new file mode 100644 index 00000000..fbba0bb0 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_account/choose-restore.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_account/daemon-settings.png b/_i18n/de/resources/user-guides/png/restore_account/daemon-settings.png new file mode 100644 index 00000000..0f70dee0 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_account/daemon-settings.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_account/restore-wallet.png b/_i18n/de/resources/user-guides/png/restore_account/restore-wallet.png new file mode 100644 index 00000000..690b363e Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_account/restore-wallet.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_account/wallet-password.png b/_i18n/de/resources/user-guides/png/restore_account/wallet-password.png new file mode 100644 index 00000000..110a1fb3 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_account/wallet-password.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_from_keys/all-set-up.png b/_i18n/de/resources/user-guides/png/restore_from_keys/all-set-up.png new file mode 100644 index 00000000..aebc5e4c Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_from_keys/all-set-up.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_from_keys/cancel-opening.png b/_i18n/de/resources/user-guides/png/restore_from_keys/cancel-opening.png new file mode 100644 index 00000000..1d987435 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_from_keys/cancel-opening.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_from_keys/choose-language.png b/_i18n/de/resources/user-guides/png/restore_from_keys/choose-language.png new file mode 100644 index 00000000..d49f8ffa Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_from_keys/choose-language.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_from_keys/choose-restore.png b/_i18n/de/resources/user-guides/png/restore_from_keys/choose-restore.png new file mode 100644 index 00000000..fbba0bb0 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_from_keys/choose-restore.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_from_keys/daemon-settings.png b/_i18n/de/resources/user-guides/png/restore_from_keys/daemon-settings.png new file mode 100644 index 00000000..0f70dee0 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_from_keys/daemon-settings.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_from_keys/restore-wallet.png b/_i18n/de/resources/user-guides/png/restore_from_keys/restore-wallet.png new file mode 100644 index 00000000..20b4c3b7 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_from_keys/restore-wallet.png differ diff --git a/_i18n/de/resources/user-guides/png/restore_from_keys/wallet-password.png b/_i18n/de/resources/user-guides/png/restore_from_keys/wallet-password.png new file mode 100644 index 00000000..bed1c313 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/restore_from_keys/wallet-password.png differ diff --git a/_i18n/de/resources/user-guides/png/solo_mine_GUI/01.PNG b/_i18n/de/resources/user-guides/png/solo_mine_GUI/01.PNG new file mode 100644 index 00000000..37493162 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/solo_mine_GUI/01.PNG differ diff --git a/_i18n/de/resources/user-guides/png/solo_mine_GUI/02.PNG b/_i18n/de/resources/user-guides/png/solo_mine_GUI/02.PNG new file mode 100644 index 00000000..1f576566 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/solo_mine_GUI/02.PNG differ diff --git a/_i18n/de/resources/user-guides/png/solo_mine_GUI/03.PNG b/_i18n/de/resources/user-guides/png/solo_mine_GUI/03.PNG new file mode 100644 index 00000000..ac259e59 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/solo_mine_GUI/03.PNG differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-cd.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-cd.png new file mode 100644 index 00000000..8fb3b91e Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-cd.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-certutil.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-certutil.png new file mode 100644 index 00000000..935446eb Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-certutil.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-launch.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-launch.png new file mode 100644 index 00000000..8c2919f1 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-cmd-launch.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-file.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-file.png new file mode 100644 index 00000000..2b84180c Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-file.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-location.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-location.png new file mode 100644 index 00000000..fc02f962 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-location.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-windowsfiles.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-windowsfiles.png new file mode 100644 index 00000000..36adfc6e Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-getmonero-windowsfiles.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-word-cmd-compare.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-word-cmd-compare.png new file mode 100644 index 00000000..057d9c5c Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-word-cmd-compare.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-word-hashfile.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-word-hashfile.png new file mode 100644 index 00000000..06917e0a Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_binary-word-hashfile.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getkey-rightclick.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getkey-rightclick.png new file mode 100644 index 00000000..58a8d1f7 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getkey-rightclick.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getkey-savefilename.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getkey-savefilename.png new file mode 100644 index 00000000..64be96cf Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getkey-savefilename.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hashes-savefilename.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hashes-savefilename.png new file mode 100644 index 00000000..d47c404c Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hashes-savefilename.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hasheslink.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hasheslink.png new file mode 100644 index 00000000..90100511 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hasheslink.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hashespage-rightclick.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hashespage-rightclick.png new file mode 100644 index 00000000..6b8d86c9 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_getmonero-hashespage-rightclick.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-components.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-components.png new file mode 100644 index 00000000..2217caef Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-components.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-complete.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-complete.png new file mode 100644 index 00000000..49f23de2 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-complete.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-finish.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-finish.png new file mode 100644 index 00000000..6f1b5bea Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-finish.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-language.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-language.png new file mode 100644 index 00000000..94796396 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-language.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-security.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-security.png new file mode 100644 index 00000000..0a056dfb Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-security.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-welcome.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-welcome.png new file mode 100644 index 00000000..da4313b5 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install-welcome.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install.png new file mode 100644 index 00000000..21466e18 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-install.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-launch.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-launch.png new file mode 100644 index 00000000..ac58bea6 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-launch.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-donation.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-donation.png new file mode 100644 index 00000000..1748fb71 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-donation.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-downloadbutton.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-downloadbutton.png new file mode 100644 index 00000000..64525563 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-downloadbutton.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-location.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-location.png new file mode 100644 index 00000000..31a3924d Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-location.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-openfolder.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-openfolder.png new file mode 100644 index 00000000..a51893db Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-openfolder.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile.png new file mode 100644 index 00000000..75bd79d7 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-getmonero-rightclick.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-getmonero-rightclick.png new file mode 100644 index 00000000..1452776b Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-getmonero-rightclick.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-getmonero-savename.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-getmonero-savename.png new file mode 100644 index 00000000..8bbd7995 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-getmonero-savename.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-badsig.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-badsig.png new file mode 100644 index 00000000..8a89f0ab Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-badsig.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-goodsig.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-goodsig.png new file mode 100644 index 00000000..ea92fef4 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-goodsig.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button-filename.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button-filename.png new file mode 100644 index 00000000..0a021ca8 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button-filename.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button.png new file mode 100644 index 00000000..852a2948 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-fingerprint.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-fingerprint.png new file mode 100644 index 00000000..713cc08b Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-fingerprint.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-finish.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-finish.png new file mode 100644 index 00000000..aa760389 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-finish.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-forself.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-forself.png new file mode 100644 index 00000000..5ad6ae59 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-forself.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-pinentry.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-pinentry.png new file mode 100644 index 00000000..6184e406 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-certify-pinentry.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-decryptverifybutton.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-decryptverifybutton.png new file mode 100644 index 00000000..3a5e0c6d Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-decryptverifybutton.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeydetails.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeydetails.png new file mode 100644 index 00000000..6bc04035 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeydetails.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeys-pinentry.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeys-pinentry.png new file mode 100644 index 00000000..3d29e1d2 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeys-pinentry.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeysnow.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeysnow.png new file mode 100644 index 00000000..c9509ee6 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeysnow.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-import-location.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-import-location.png new file mode 100644 index 00000000..1ecb720b Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-import-location.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-importkey.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-importkey.png new file mode 100644 index 00000000..dfc56298 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-importkey.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-keycreate-success.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-keycreate-success.png new file mode 100644 index 00000000..31292975 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-keycreate-success.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-startverifyprocess.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-startverifyprocess.png new file mode 100644 index 00000000..dfe905bc Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-startverifyprocess.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-verifykeydetails.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-verifykeydetails.png new file mode 100644 index 00000000..63b300d1 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-verifykeydetails.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-launch.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-launch.png new file mode 100644 index 00000000..fd12e487 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_kleopatra-launch.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_verify-selecthashesfile-rightclick.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_verify-selecthashesfile-rightclick.png new file mode 100644 index 00000000..4e3e7aa8 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_verify-selecthashesfile-rightclick.png differ diff --git a/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_verify-successfulverify.png b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_verify-successfulverify.png new file mode 100644 index 00000000..1320ca7a Binary files /dev/null and b/_i18n/de/resources/user-guides/png/verify_binary_windows_beginner/verify-win_verify-successfulverify.png differ diff --git a/_i18n/de/resources/user-guides/png/view-only/Success.png b/_i18n/de/resources/user-guides/png/view-only/Success.png new file mode 100644 index 00000000..4aedb694 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/view-only/Success.png differ diff --git a/_i18n/de/resources/user-guides/png/view-only/create-view-only.png b/_i18n/de/resources/user-guides/png/view-only/create-view-only.png new file mode 100644 index 00000000..f63adccd Binary files /dev/null and b/_i18n/de/resources/user-guides/png/view-only/create-view-only.png differ diff --git a/_i18n/de/resources/user-guides/png/view-only/settings.png b/_i18n/de/resources/user-guides/png/view-only/settings.png new file mode 100644 index 00000000..4d820969 Binary files /dev/null and b/_i18n/de/resources/user-guides/png/view-only/settings.png differ diff --git a/_i18n/de/resources/user-guides/png/view-only/wallet-password.png b/_i18n/de/resources/user-guides/png/view-only/wallet-password.png new file mode 100644 index 00000000..27c9a45f Binary files /dev/null and b/_i18n/de/resources/user-guides/png/view-only/wallet-password.png differ diff --git a/_i18n/de/resources/user-guides/prove-payment.md b/_i18n/de/resources/user-guides/prove-payment.md new file mode 100644 index 00000000..77154bee --- /dev/null +++ b/_i18n/de/resources/user-guides/prove-payment.md @@ -0,0 +1,86 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +### Prove payments + +When you send money to a party who then disputes the payment was made, you need to be able to prove the payment was made. + +With Bitcoin, this is typically done by looking up the transaction ID, where the origin and destination addresses are +shown, along with the amount transacted. + +Monero, however, is private: that information is not available publicly on the blockchain. The steps are therefore a bit +more involved. + +To prove to Charlie that she made a payment to Bob, Alice must supply Charlie three pieces of information: + +- the transaction ID, as is done in Bitcoin +- Bob's address, as is done with Bitcoin +- the transaction's key, which is new with Monero and other CryptoNote currencies + +When Alice made the transaction, a one time key was automatically generated just for this transaction. + +#### CLI + +Alice can query it thus in monero-wallet-cli (new name for the old simplewallet): + +> get_tx_key TXID + +Alice would plug in her actual transaction ID instead of this TXID placeholder. All being well, the one time transaction key +will be displayed. + +Note that this will only work if monero-wallet-cli is set to save transaction keys. To double check: + +> set + +If it's set to 0, set it to 1: + +> set store-tx-info 1 + +#### GUI + +Alice can open her monero-wallet-gui and go to the history page to see her transaction detail: + +![History](png/prove-payment/history.png) + +Here, she can copy the transaction ID and Bob's address by clicking on each of them. +Then she can click on `P` to get a payment proof (transaction key): + +![Payment proof](png/prove-payment/payment-proof.png) + + +--- + +Alice can now send Charlie the transaction key along with transaction ID and Bob's address. + +Note: if several transactions were made, this needs repeating for each such transaction. + +### Check payments + +Charlie now received those three pieces of information, and wants to check Alice is telling the truth: on an up to date +blockchain, + +#### CLI + +Charlie types in monero-wallet-cli: + +> check_tx_key TXID TXKEY ADDRESS + +The information supplied by Alice plugs neatly instead of the placeholders. monero-wallet-cli will use the transaction +key to decode the transaction, and display how much this particular transaction sent to this address. Obviously, +Charlie will want to double check with Bob the address is really his - same as with Bitcoin. + +#### GUI + +Charlie will open his monero-wallet-gui and go to the Advanced > Prove/Check page to fill the Check section with the informations provided by Alice: + +![Check payment](png/prove-payment/check-payment.png) + +Then clicking on Check will tell Charlie how much this particular transaction sent to this address, and how much confirmation the transaction had: + +![Payment checked](png/prove-payment/payment-checked.png) + + +--- + +Obviously, Charlie will want to double check with Bob the address is really his - same as with Bitcoin. + +Note: if several transactions were made, this needs repeating for each such transaction. diff --git a/_i18n/de/resources/user-guides/remote_node_gui.md b/_i18n/de/resources/user-guides/remote_node_gui.md new file mode 100644 index 00000000..4a308f53 --- /dev/null +++ b/_i18n/de/resources/user-guides/remote_node_gui.md @@ -0,0 +1,11 @@ +{% assign version = '1.2.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## Finding a node +First things first, you need to find a node to connect to! [moneroworld.com](https://moneroworld.com/#nodes) has some great resources for finding nodes. One of the easiest methods +would be to use a node run by moneroworld, but they have a tool for finding random nodes too. + +## Connecting to the node from the GUI wallet +After you enter your password for your wallet, you will see a pop up that will give you the option to "use custom settings". Click on it. You will then be +sent to the "Settings > Node" page in the GUI. At this point you could choose 'Remote Node' see four text boxes labeled "Address", "Port", "Daemon username" and "Daemon password". Fill the address of the node that you want to connect to. This address might look like `node.moneroworld.com` or it could look like any old ip address. Then fill the "Port" box with the node's port. The default port is `18081` but if you are using a random node the port that is used will vary. The port for node.moneroworld.com uses 18089. Optionnaly, fill the username and password if your remote note requires them. +### Your screen should look a bit like this + diff --git a/_i18n/de/resources/user-guides/restore_account.md b/_i18n/de/resources/user-guides/restore_account.md new file mode 100644 index 00000000..f010454e --- /dev/null +++ b/_i18n/de/resources/user-guides/restore_account.md @@ -0,0 +1,53 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## Operating Systems: Windows, Linux, Mac + +- Retrieve your 25 word @mnemonic-seed that you saved when creating your old Monero @wallet + +### Account Software: monero-wallet-cli + +- Open a command prompt and navigate to the drive and directory that contains monero-wallet-cli + +- At the command prompt type: `monero-wallet-cli --restore-deterministic-wallet` + +- Once you press enter you will be prompted for a wallet file name. Give your wallet a new name, any name will do + +- Press enter again and you will be prompted for a password. Give your wallet a new and long password + +- Press enter again you will be prompted to repeat the password + +- Press enter again and you will be prompted for the 25 word electrum style mnemonic seed that you retrieved earlier + +- You will then be prompted with "Restore from specific blockchain height (optional, default 0):" Default will start the restore process from the beginning of the Monero blockchain. If you don't know the specific blockchain height, just hit enter. (Specifying a specific blockchain height will start the restore process from that specific height. This will save a bit of time in scanning, if you know what starting blockchain height your initial funds were transacted for this specific account.) + +After you have entered the 25 word mnemonic seed and have chosen your specific blockchain height, monero-wallet-cli will generate the same public address and view key as your old wallet and begin the refresh process automatically. (Please be patient as the refresh process may take a while.) + +### Account Software: monero-wallet-gui + +Lauch `monero-wallet-gui`. If this is the first time you launched it go to the next step, otherwise click `Cancel`: + +![cancel opening](png/restore_account/cancel-opening.png) + +Select your appropriate language `English(US)`: + +![choose language](png/restore_account/choose-language.png) + +Click on `Restore wallet from keys or mnemonic seed`: + +![choose restore](png/restore_account/choose-restore.png) + +Keep `Restore from seed` selected, give your wallet a name & storage location, and complete the `Enter your 25 (or 24) word mnemonic seed`. Optionaly, specify a `Restore height (optional)` to avoid scanning of oldest blocks. Then click the `Right` arrow: + +![restore wallet](png/restore_account/restore-wallet.png) + +On the next page, give your wallet a strong password and confirm it before clicking the `Right` arrow: + +![wallet password](png/restore_account/wallet-password.png) + +Specify your daemon settings and click the `Right` arrow: + +![daemon settings](png/restore_account/daemon-settings.png) + +Click on `USE MONERO` to enjoy your restored wallet: + +![all set up](png/restore_account/all-set-up.png) diff --git a/_i18n/de/resources/user-guides/restore_from_keys.md b/_i18n/de/resources/user-guides/restore_from_keys.md new file mode 100644 index 00000000..ed3326e3 --- /dev/null +++ b/_i18n/de/resources/user-guides/restore_from_keys.md @@ -0,0 +1,54 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +### Restoring from keys + +Restoring a wallet from private keys is pretty simple. If you have the necessary information, with this guide you can completely restore your wallet. Note: you do NOT have to have your password to restore from keys. + +You need to have 3 pieces of data from your wallet, or your .keys file which holds this info and the password to decrypt it. The 3 wallet components that you need are: + +1. **Address** +2. **Secret Spendkey** +3. **Secret Viewkey** + + +#### CLI + +Then run the wallet command: + +`./monero-wallet-cli --generate-from-keys New_Wallet_Name.abc` + +Next, you'll be asked for the Address, the spendkey, the viewkey, and finally the new password for the re-generated wallet. + +Running this with the correct parameters will re-generate your wallet files for you and allow you to set a new password. + +If you run into any trouble, running `./monero-wallet-cli --help` will show you the options available to you at wallet startup. Once you're inside your wallet, running the `help` command will list the help for the commands available to you within the wallet. + +#### GUI + +Launch `monero-wallet-gui`. If this is the first time you launched it go to the next step, otherwise click `Cancel`: + +![cancel opening](png/restore_from_keys/cancel-opening.png) + +Select your appropriate language `English(US)`: + +![choose language](png/restore_from_keys/choose-language.png) + +Click on `Restore wallet from keys or mnemonic seed`: + +![choose restore](png/restore_from_keys/choose-restore.png) + +Select `Restore from keys`, give your wallet a name & storage location, and complete the `Account address (public)`, `View key (private)` & `Spend key (private)`. Optionaly, specify a `Restore height (optional)` to avoid scanning of oldest blocks. Then click the `Right` arrow: + +![restore wallet](png/restore_from_keys/restore-wallet.png) + +On the next page, give your wallet a strong password and confirm it before clicking the `Right` arrow: + +![wallet password](png/restore_from_keys/wallet-password.png) + +Specify your daemon settings and click the `Right` arrow: + +![daemon settings](png/restore_from_keys/daemon-settings.png) + +Click on `USE MONERO` to enjoy your restored wallet: + +![all set up](png/restore_from_keys/all-set-up.png) diff --git a/_i18n/de/resources/user-guides/securely_purchase.md b/_i18n/de/resources/user-guides/securely_purchase.md new file mode 100644 index 00000000..39384562 --- /dev/null +++ b/_i18n/de/resources/user-guides/securely_purchase.md @@ -0,0 +1,83 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +## How to purchase Monero and securely store it. + +This is a guide to purchase and securely store Monero as of June 2017. + +#### Step 1: Buy Bitcoin + +There are many ways to buy Bitcoin. Two semi-reliable companies at this time are Xapo and Coinbase . The process will involve uploading your personal identification (State ID, Passport, etc.) and will take anywhere from 2 to 10 days (or longer). Verify their reputation on Reddit before making a large purchase. Xapo uses Wire Transfer and Coinbase uses Bank Transfer (ACH in the USA). Xapo should be faster than Coinbase. Coinbase also allows small "instant" buys via a debit card but adds a large fee for this option. Once you have purchased Bitcoin, you are ready to convert it to Monero! + +#### Step 2: Download and create a Paper Wallet on a secure and air-gapped computer. + +Download the paper wallet generator at: https://moneroaddress.org and copy it to a USB stick (Direct link: https://github.com/moneromooo-monero/monero-wallet-generator/archive/master.zip). + +Unzip and open the paper wallet generator (monero-wallet-generator.html) into a web browser on an air-gapped computer that hasn't been used before, or has had a clean installation of the OS. + +Your paper wallet will have four important items: + +Monero Public Address +The public address is used to receive funds to the wallet. You give this to anyone who will be sending funds to your wallet. + +Monero Mnemonic Seed +The mnemonic seed is a method of storing the entire wallet that is easily recognizable to humans. This is all you need to restore your wallet at a later date. + +Monero Private Spend Key +The private spend key is used to send funds from the wallet. + +Monero Private View Key +The private view key is to view transactions entering the wallet. Commonly this is used to setup a view-only wallet which can see incoming transactions live on the blockchain as they are sent to a cold storage wallet. + +At this point you have many options. You can print the wallet on paper, save it as a PDF or text on a USB stick, burn it to CD/DVD, etc. Most likely you will want at least two or three copies, stored securely in different locations. If storing digitally, encrypt everything with a strong password. If storing on paper, do not show the wallet to anyone else who can memorize your 25 word key, or take a picture of the wallet without your permission. Sending someone a picture of the wallet is the same as giving away all of your funds. + +Whichever method you chose, be sure there's no copy of the Monero wallet left over on the device you used. You may need to securely delete the Monero wallet if you saved it to a disk, or make sure your printer does not save a copy in memory. + +*If you lose access to your Monero paper wallet the Monero will not be available to you or anyone else, ever. You wont be able to recover them! + +#### Side Note +Option to encrypt an XMR mnemonic seed: +https://xmr.llcoins.net/ +Download the html page and place it on your airgapped computer. Check the part "Encrypt/Decrypt Mnemonic Seed" and make sure you use "CN Add" with a decent password. Thanks manicminer5. + + + +#### Step 3: Convert your Bitcoin to Monero and have it sent to your Monero Paper Wallet + +Switch to your internet connected computer and go to www.shapeshift.io. Choose "Deposit Bitcoin" and "Receive Monero" (quick). + +Press Continue. + +Your Monero Address (the Monero Public Address on your Monero Paper Wallet) +Paste the Monero Public address from your paper wallet where it says "Your Monero Address". But wait, since your Monero Public Address is on an airgapped computer (right?), you can't copy and paste anything... Copy it over by hand, or get a blank USB drive and copy only the Public Address to it. + +Refund Address (Bitcoin Public Address you can receive funds at) +Enter a Bitcoin address that you control where a refund can be sent in case there's a problem with the transaction. It's very important that you enter a Bitcoin Public Address you control or can receive funds at. At Xapo and Coinbase this is called a Receive Address and it may change periodically. + +Payment ID +Leave Payment ID blank if you are sending to your own Monero wallet or Monero paper wallet. + +Agree to the Terms and hit the slider to make this a "Reusable Address". + +Press "Start Transaction". + +Deposit Address (Shapeshift.io's Public Bitcoin Address created only to receive your funds) +In the new screen that pops up, copy the Deposit Address into your clipboard (select and hit ctrl+c or edit-copy). You will send Bitcoin from Xapo/Coinbase to Shapeshift.io via this address. + +Go to your Xapo or Circle account, and find a Transfer or Send button. Paste the Bitcoin Deposit address into the Destination field and enter the amount of bitcoin you would like to have converted to Monero. It must be within the Deposit Min and Deposit Max range specified by Shapeshift.io. Press Send and authorize the transaction, if required. + +Once the send has been initiated by Xapo/Coinbase there will be a delay while the transaction enters the Bitcoin blockchain and awaits confirmation. This may be minutes or hours. You can check if the payment has been sent by looking up the Shapeshift.io Deposit address at blockchain.info. Your transaction to Shapeshift.io will show up there. + +When your Bitcoin transaction has been confirmed, Shapeshift.io will then begin exchanging Bitcoin (BTC) for Monero (XMR) at one of the exchanges and when it's complete, send the Monero to the address of your Cold Storage Paper Wallet! This can take minutes to hours. If there's an issue, contact Shapeshift.io. They have good support. + +When the Shapehift.io webpage says your transaction has been completed, you should now have Monero in your Paper Wallet! + + +#### Notes and How to Verify Funds +Because the Monero blockchain is private and untraceable, you won't be able to lookup your Monero Public Address and confirm that the funds have arrived like you might with Bitcoin. This is good for privacy, but bad for convenience. + +To securely verify the funds have arrived at your wallet, you will need to setup a View Only wallet. This is where that view-key comes in. To create a view-only wallet see the entry: [View Only Wallets]({{site.baseurl}}/resources/user-guides/view_only.html) + +To verify the funds are *still in* your wallet and have not been spent you need to create a Cold Wallet with your mnemonic key (all your funds) on an airgapped computer with an up-to-date copy of the Monero Blockchain. When finished you will have to securely erase the wallet or connect it to the internet and it becomes a Hot Wallet. + + + diff --git a/_i18n/de/resources/user-guides/solo_mine_GUI.md b/_i18n/de/resources/user-guides/solo_mine_GUI.md new file mode 100644 index 00000000..9157cd62 --- /dev/null +++ b/_i18n/de/resources/user-guides/solo_mine_GUI.md @@ -0,0 +1,17 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +It is very easy to solo mine with the official GUI. If you have not done so already, go to the Monero downloads page and download the official GUI for your operating system. Then, run the setup and be patient as Monero synchronizes with the network. You should see that it displays "Connected" in the lower left corner. + + + +Click on the "Advanced" tab. You should see that several other options appear. Now click on the "Mining" sub-tab. + + + +You should now have an option to start mining. You can optionally change the number of threads to mine with. For optimal efficiency, you should mine with your CPU's cache divided by 2. You will need to look up your CPU's specs on the manufacturer's website. If you are unsure, leave the number of threads at 1. Click the "Start mining" button. + + + +You are now mining with the network, as you can see on the bottom of the image. In this example, the computer is contributing 23 H/s to the Monero network. Mining helps keep the network secure, and you may get lucky and receive a reward for protecting the network. + +To stop mining, simply click the "Stop mining" button. diff --git a/_i18n/de/resources/user-guides/verification-allos-advanced.md b/_i18n/de/resources/user-guides/verification-allos-advanced.md new file mode 100644 index 00000000..4071f86b --- /dev/null +++ b/_i18n/de/resources/user-guides/verification-allos-advanced.md @@ -0,0 +1,185 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# Binary Verification: Linux, Mac, or Windows Using CLI Tools (Advanced) + +Verification of the Monero binary files should be done prior to extracting, installing, or using the Monero software. This is the only way to ensure that you are using the official Monero software. If you receive a fake Monero binary (eg. phishing, MITM, etc.), following this guide will protect you from being tricked into using it. + +To protect the integrity of the binaries the Monero team provides a cryptographically signed list of all the [SHA256](https://en.wikipedia.org/wiki/SHA-2) hashes. If your downloaded binary has been tampered with it will be produce a [different hash](https://en.wikipedia.org/wiki/File_verification) than the one in the file. + +This is an advanced guide for Linux, Mac, or Windows operating systems and will make use of the command line. It will walk you through the process of installing the required software, importing the signing key, downloading the necessary files, and finally verifying that your binary is authentic. + +## Table of Contents: + +### [1. Install GnuPG](#1-installing-gnupg) +### [2. Verify & Import Signing Key](#2-verify-and-import-signing-key) + + [2.1. Get Signing Key](#21-get-signing-key) + + [2.2. Verify Signing key](#22-verify-signing-key) + + [2.3. Import Signing key](#23-import-signing-key) +### [3. Download & Verify Hash File](#3-download-and-verify-hash-file) + + [3.1. Get Hash File](#31-get-hash-file) + + [3.2. Verify Hash File](#32-verify-hash-file) +### [4. Download & Verify Binary](#4-download-and-verify-binary) + + [4.1. Get Monero Binary](#41-get-monero-binary) + + [4.2. Binary Verification on Linux or Mac](#42-binary-verification-on-linux-or-mac) + + [4.3. Binary Verification on Windows](#43-binary-verification-on-windows) + +## 1. Installing GnuPG + ++ On Windows, go to the [Gpg4win download page](https://gpg4win.org/download.html) and follow the instructions for installation. + ++ On Mac, go to the [Gpgtools download page](https://gpgtools.org/) and follow the instructions for installation. + ++ On Linux, GnuPG is installed by default. + +## 2. Verify and Import Signing Key + +This section will cover getting the Monero signing key, making sure it is correct, and importing the key to GnuPG. + +### 2.1. Get Signing Key + +On Windows or Mac, go to [Fluffypony's GPG key](https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/fluffypony.asc), which he uses to sign the Monero binaries, and save the page as `fluffypony.asc` to your home directory. + +On Linux, you can download Fluffypony's signing key by issuing the following command: + +``` +wget -O fluffypony.asc https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/fluffypony.asc +``` + +### 2.2. Verify Signing Key + +On all operating systems, check the fingerprint of `fluffypony.asc` by issuing the following command in a terminal: + +``` +gpg --keyid-format long --with-fingerprint fluffypony.asc +``` + + +Verify the fingerprint matches: + +``` +pub 2048R/7455C5E3C0CDCEB9 2013-04-08 Riccardo Spagni + Key fingerprint = BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9 +sub 2048R/55432DF31CCD4FCD 2013-04-08 +``` + +If the fingerprint **DOES** match, then you may proceed. + +If the fingerprint **DOES NOT** match, **DO NOT CONTINUE.** Instead delete the file `fluffypony.asc` and go back to [section 2.1](#21-get-signing-key). + +### 2.3. Import Signing Key + +From a terminal, import the signing key: + +``` +gpg --import fluffypony.asc +``` + +If this is the first time you have imported the key, the output will look like this: + +``` +gpg: key 0x7455C5E3C0CDCEB9: 2 signatures not checked due to missing keys +gpg: key 0x7455C5E3C0CDCEB9: public key "Riccardo Spagni " importe +d +gpg: Total number processed: 1 +gpg: imported: 1 +gpg: no ultimately trusted keys found +``` + +If you have imported the key previously, the output will look like this: + +``` +gpg: key 0x7455C5E3C0CDCEB9: "Riccardo Spagni " not changed +gpg: Total number processed: 1 +gpg: unchanged: 1 +``` + +## 3. Download and Verify Hash File + +This section will cover downloading the hash file and verifying its authenticity. + +### 3.1. Get Hash File + +On Windows or Mac, go to the [hashes file on getmonero.org](https://getmonero.org/downloads/hashes.txt) and save the page as `hashes.txt` to your home directory. + +On Linux, you can download the signed hashes file by issuing the following command: + +``` +wget -O hashes.txt https://getmonero.org/downloads/hashes.txt +``` + +### 3.2. Verify Hash File + +The hash file is signed with key `94B7 38DD 3501 32F5 ACBE EA1D 5543 2DF3 1CCD 4FCD`, which is a subkey of key `BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9` (as reflected in the output below). + +On all operating systems, verify the signature of the hash file by issuing the following command in a terminal: + +``` +gpg --verify hashes.txt +``` + +If the file is authentic, the output will look like this: + +``` +gpg: Signature made Thu 05 Apr 2018 06:07:35 AM MDT +gpg: using RSA key 94B738DD350132F5ACBEEA1D55432DF31CCD4FCD +gpg: Good signature from "Riccardo Spagni " [unknown] +gpg: WARNING: This key is not certified with a trusted signature! +gpg: There is no indication that the signature belongs to the owner. +Primary key fingerprint: BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9 + Subkey fingerprint: 94B7 38DD 3501 32F5 ACBE EA1D 5543 2DF3 1CCD 4FCD +``` + +If your output shows **Good signature**, as in the example, then you may proceed. + +If you see **BAD signature** in the output, **DO NOT CONTINUE.** Instead delete the file `hashes.txt` and go back to [section 3.1](#31-get-hash-file). + +## 4. Download and Verify Binary + +This section will cover downloading the Monero binary for your operating system, getting the `SHA256` hash of your download, and verifying that it is correct. + +### 4.1. Get Monero binary + +On Windows or Mac, go to [getmonero.org](https://getmonero.org/downloads/) and download the correct file for your operating system. Save the file to your home directory. **Do not extract the files yet.** + +On Linux, you can download the command line tools by issuing the following command: + +``` +wget -O monero-linux-x64-v0.12.0.0.tar.bz2 https://downloads.getmonero.org/cli/linux64 +``` + +### 4.2. Binary Verification on Linux or Mac + +The steps for both Linux and Mac are the same. From a terminal, get the `SHA256` hash of your downloaded Monero binary. As an example this guide will use the `Linux, 64bit` GUI binary. Substitute `monero-gui-linux-x64-v0.12.0.0.tar.bz2` with the name of the binary that you downloaded in [section 4.1](#41-get-monero-binary). + +``` +shasum -a 256 monero-gui-linux-x64-v0.12.0.0.tar.bz2 +``` + +The output will look like this, but will be different for each binary file. Your `SHA256` hash should match the one listed in the `hashes.txt` file for your binary file. + +``` +fb0f43387b31202f381c918660d9bc32a3d28a4733d391b1625a0e15737c5388 monero-gui-linux-x64-v0.12.0.0.tar.bz2 +``` + +If your hash **DOES** match, then you are finished with the guide! You can extract the files and install. + +If your hash **DOES NOT** match, **DO NOT CONTINUE.** Instead delete the binary you downloaded and go back to [section 4.1](#41-get-monero-binary). + +### 4.3. Binary Verification on Windows + +From a terminal, get the `SHA256` hash of your downloaded Monero binary. As an example this guide will use the `Windows, 64bit` GUI binary. Substitute `monero-gui-win-x64-v0.12.0.0.zip` with the name of the binary that you downloaded in [section 4.1](#41-get-monero-binary). + +``` +certUtil -hashfile monero-gui-win-x64-v0.12.0.0.zip SHA256 +``` +The output will look like this, but will be different for each binary file. Your `SHA256` hash should match the one listed in the `hashes.txt` file for your binary file. + +``` +SHA256 hash of file monero-gui-win-x64-v0.12.0.0.zip: +4b 9f 31 68 6e ca ad 97 cd b1 75 e6 57 4b f3 07 f8 d1 c4 10 42 78 25 f4 30 4c 21 da 8a ac 18 64 +CertUtil: -hashfile command completed successfully. +``` + +If your hash **DOES** match, then you are finished with the guide! You can extract the files and install. + +If your hash **DOES NOT** match, **DO NOT CONTINUE.** Instead delete the binary you downloaded and go back to [section 4.1](#41-get-monero-binary). diff --git a/_i18n/de/resources/user-guides/verification-windows-beginner.md b/_i18n/de/resources/user-guides/verification-windows-beginner.md new file mode 100644 index 00000000..e72e436f --- /dev/null +++ b/_i18n/de/resources/user-guides/verification-windows-beginner.md @@ -0,0 +1,255 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# Verify Binaries: Windows (Beginner) + +Verification of the Monero binary files should be done prior to extracting, installing, or using the Monero software. This is the only way to ensure that you are using the official Monero binary. If you receive a fake binary (eg. phishing, MITM, etc.), following this guide will protect you from being tricked into using it. + +To protect the integrity of the binaries the Monero team provides a cryptographically signed list of all the [SHA256](https://en.wikipedia.org/wiki/SHA-2) hashes. If your downloaded binary has been tampered with it will be produce a [different hash](https://en.wikipedia.org/wiki/File_verification) than the one in the file. + +This is a beginners guide for the Windows operating system and will make use of GUIs almost exclusively. It will walk you through the process of installing the required software, importing the signing key, downloading the necessary files, and finally verifying that your binary is authentic. + +## Table of Contents + +### [1. Gpg4win Installer](#1-using-gpg4win-installer) + - [1.1. Getting Gpg4win Installer](#11-getting-gpg4win-installer) + + [1.1.1. Download Gpg4win](#111-download-gpg4win) + + [1.1.2. Launch Gpg4win](#112-launch-gpg4win) + - [1.2. Use Gpg4win Installer](#12-use-gpg4win-installer) +### [2. Import Signing Key](#2-monero-signing-key) + - [2.1. Download Signing Key](#21-download-signing-key) + - [2.2. Initialize Kleopatra](#22-initialize-kleopatra) + + [2.2.1. Import Signing Key](#221-import-signing-key) + + [2.2.2. Create Key Pair](#222-create-key-pair) + - [2.3. Verify Signing Key](#23-verify-signing-key) +### [3. Verify Hash File](#3-hash-file-verification) + - [3.1. Download Hash File](#31-download-hash-file) + - [3.2. Verify Hash File](#32-verify-hash-file) +### [4. Verify Binary File](#4-binary-file-verification) + - [4.1. Download Binary](#41-download-binary) + - [4.2. Verify Binary](#42-verify-binary) + +## 1. Using Gpg4win Installer + +This section will cover installing the cryptography software. Windows does not come with the tools required to verify your binary. To install these tools you can use the Gpg4win installer. + +### 1.1. Getting Gpg4win Installer + +#### 1.1.1. Download Gpg4win + +In a web browser, go to [gpg4win.org](https://gpg4win.org) and download the installer by clicking the green button. + +![gpg4win download button](png/verify_binary_windows_beginner/verify-win_gpg4win-site-downloadbutton.png) + +You will be taken to a donation page. If you do not wish to donate select `$0`, then you will be able to click `Download`. + +![gpg4win site donation](png/verify_binary_windows_beginner/verify-win_gpg4win-site-donation.png) + +Click `Save File`. + +![gpg4win site save file](png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile.png) + +Choose a download location, click `Save`. + +![gpg4win site download location](png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-location.png) + +#### 1.1.2. Launch Gpg4win + +When the download is finished, open the containing folder. + +![gpg4win site open folder](png/verify_binary_windows_beginner/verify-win_gpg4win-site-savefile-openfolder.png) + +Double click the downloaded gpg4win executable to launch. + +![gpg4win launch](png/verify_binary_windows_beginner/verify-win_gpg4win-launch.png) + +### 1.2. Use Gpg4win Installer + +You will be presented with a security verification screen, click `Run`. + +![gpg4win installer security](png/verify_binary_windows_beginner/verify-win_gpg4win-install-security.png) + +Select your language, click `OK`. + +![gpg4win installer language](png/verify_binary_windows_beginner/verify-win_gpg4win-install-language.png) + +A welcome screen will appear, click `Next`. + +![gpg4win installer welcome](png/verify_binary_windows_beginner/verify-win_gpg4win-install-welcome.png) + +Now you will see the component selection screen, you must at least leave `Kleopatra` checked for this guide. Make your selections, click `Next`. + +![gpg4win installer components](png/verify_binary_windows_beginner/verify-win_gpg4win-components.png) + +It is best to leave the default installation location unless you know what you are doing. Make your selections, click `Install`. + +![gpg4win installer location](png/verify_binary_windows_beginner/verify-win_gpg4win-install.png) + +Installation has completed, click `Next`. + +![gpg4win installer complete](png/verify_binary_windows_beginner/verify-win_gpg4win-install-complete.png) + +Click `Finish`. + +![gpg4win installer finish](png/verify_binary_windows_beginner/verify-win_gpg4win-install-finish.png) + +## 2. Monero Signing Key + +This section will cover downloading the Monero signing key, verifying that the key is correct, and then importing the key to your keyring. The hash file that will be used to verify your binary is cryptographically signed with the Monero signing key. In order to check the validity of this file you must have the public version of the signing key. + +### 2.1. Download Signing Key + +In a web browser, go to [Fluffypony's GPG key](https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/fluffypony.asc), which he uses for signing the Monero binaries. Right click on the page, choose `Save Page As`. + +![getkey right click](png/verify_binary_windows_beginner/verify-win_getkey-rightclick.png) + +Leave the default location, click `Save`. + +![getkey save file](png/verify_binary_windows_beginner/verify-win_getkey-savefilename.png) + +### 2.2. Initialize Kleopatra + +If this is your first time using Kleopatra you will have to create a key pair for yourself. + +Launch Kleopatra. + +![kleo launch](png/verify_binary_windows_beginner/verify-win_kleopatra-launch.png) + +#### 2.2.1. Import Signing Key + +Click `Import`. + +![kleo firstrun import](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-importkey.png) + +Enter the directory `Downloads`, select `fluffypony`, and click `Open`. + +![kleo firstrun key location](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-import-location.png) + +Start the process of certifying the key by clicking `Yes`. + +![kleo firstrun start process](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-startverifyprocess.png) + +#### 2.2.2. Create Key Pair + +Start the process of key creation by clicking `Yes`. + +![kleo firstrun start key create](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeysnow.png) + +Fill in some details for `Name` and `Email`, click `Next`. + +![kleo firstrun key details](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeydetails.png) + +Verify details, click `Create`. + +![kleo firstrun verify key details](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-verifykeydetails.png) + +Set a password, click `OK`. + +![kleo firstrun set key pass](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-createkeys-pinentry.png) + +Click `Finish`. + +![kleo firstrun finish create key](png/verify_binary_windows_beginner/verify-win_kleopatra-firstrun-keycreate-success.png) + +### 2.3. Verify Signing Key + +Visually check that the fingerprint of the key belonging to Riccardo Spagni is `BDA6BD7042B721C467A9759D7455C5E3C0CDCEB9`. + +![kleo certify fingerprint](png/verify_binary_windows_beginner/verify-win_kleopatra-certify-fingerprint.png) + +If the fingerprint **DOES** match, click `Next`. + +If the fingerprint of this key **DOES NOT** match, **DO NOT CONTINUE**. Instead delete the file `fluffypony` from the `Downloads` directory and go back to [section 2.1](#21-download-signing-key). + +Leave `Certify only for myself` selected, click `Certify`. + +![kleo certify for self](png/verify_binary_windows_beginner/verify-win_kleopatra-certify-forself.png) + +Enter your password, click `OK`. + +![kleo certify pass](png/verify_binary_windows_beginner/verify-win_kleopatra-certify-pinentry.png) + +Click `Finish`. + +![kleo certify finish](png/verify_binary_windows_beginner/verify-win_kleopatra-certify-finish.png) + +## 3. Hash File Verification + +This section will cover downloading the signed file of known good hashes and verifying its authenticity. + +### 3.1. Download Hash File + +In a web browser, go to the [getmonero.org hash page](https://getmonero.org/downloads/hashes.txt). Right click the page, select `Save Page As`. + +![hashes right click](png/verify_binary_windows_beginner/verify-win_hashes-getmonero-rightclick.png) + +Leave the default location, click `Save`. + +![hashes save file](png/verify_binary_windows_beginner/verify-win_hashes-getmonero-savename.png) + +### 3.2. Verify Hash File + +In Kleopatra, click the `Decrypt/Verify` button. + +![hashes kleo verify button](png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button.png) + +Navigate to `Downloads` directory. Select `hashes` file, click `Open`. + +![hashes kleo open file](png/verify_binary_windows_beginner/verify-win_hashes-kleo-verify-button-filename.png) + +Kleopatra will inform you if the files signature is valid. + +If the signature is **VALID** you will see this: + +![hashes kleo goodsig](png/verify_binary_windows_beginner/verify-win_hashes-kleo-goodsig.png) + +If the signature is **INVALID** you will see this: + +![hashes kleo badsig](png/verify_binary_windows_beginner/verify-win_hashes-kleo-badsig.png) + +If you receive a **VALID** signature, click `Discard` and move on. + +If you receive an **INVALID** signature, **DO NOT CONTINUE.** Instead delete the file `hashes` from the `Downloads` directory and go back to [section 3.1](#31-download-hash-file). + +## 4. Binary File Verification + +This section will cover downloading the Monero binary and verifying its authenticity. + +### 4.1. Download Binary + +In a web browser, go to the [getmonero.org downloads page](https://getmonero.org/downloads/#windows). Select the correct binary for your system. + +![binary getmonero](png/verify_binary_windows_beginner/verify-win_binary-getmonero-windowsfiles.png) + +Leave `Save File` selected, click `OK`. + +![binary getmonero save](png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-file.png) + +Leave the default location, click `Save`. + +![binary getmonero save location](png/verify_binary_windows_beginner/verify-win_binary-getmonero-save-location.png) + +### 4.2. Verify Binary + +In a file manager, navigate to `Downloads` directory. Open the file `hashes` with a word processor. + +![binary open hashes.txt](png/verify_binary_windows_beginner/verify-win_binary-word-hashfile.png) + +Open a terminal (`cmd.exe`). + +![binary launch term](png/verify_binary_windows_beginner/verify-win_binary-cmd-launch.png) + +Change to the `Downloads` directory with the command: `cd Downloads`. + +![binary cmd cd](png/verify_binary_windows_beginner/verify-win_binary-cmd-cd.png) + +Calculate the hash of the Monero binary with the command: `certUtil -hashfile monero-gui-win-x64-v0.11.1.0.zip SHA256` (if you downloaded a command-line only version, replace `monero-gui-win-x64-v0.11.1.0.zip` accordingly). + +![binary cmd certutil](png/verify_binary_windows_beginner/verify-win_binary-cmd-certutil.png) + +Compare the hash from the terminal with the one in the hash file. They should be the same (spaces can be ignored). + +![binary compare hashes](png/verify_binary_windows_beginner/verify-win_binary-word-cmd-compare.png) + +If your hash **DOES** match then you are finished with verification! You can be sure the Monero files you have are authentic. You may extract and install/use the files normally. + +If your hash **DOES NOT** match **DO NOT CONTINUE.** Instead delete the Monero binary from the `Downloads` directory and go back to [section 4.1](#41-download-binary). diff --git a/_i18n/de/resources/user-guides/view_only.md b/_i18n/de/resources/user-guides/view_only.md new file mode 100644 index 00000000..b5526e42 --- /dev/null +++ b/_i18n/de/resources/user-guides/view_only.md @@ -0,0 +1,34 @@ +{% assign version = '1.2.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +A view-only wallet can only see which incoming transactions belong to you. It can not spend any of your Monero, in fact it can't even see outgoing transactions from this wallet. This makes view-only wallets particularly interesting for + +* Developers writing libraries to validate payments +* End users validating incoming transactions to cold wallets + +### Creating A View-Only Wallet + +You can create a view-only wallet from any existing wallet. + +#### CLI + +Open an existing wallet or create a new one using `monero-wallet-cli`. In the wallet, type `address` and `viewkey` to display the wallet's address and secret viewkey. Type `exit` to close the wallet. + +Next, create your view-only wallet by typing `monero-wallet-cli --generate-from-view-key wallet-name`. The last argument will be your new wallet's file name. You will be prompted for `Standard address` and `View key` by the wallet. Paste in your original wallet's address and secret view key. Next, enter and confirm a password for your new wallet and you're done. + +#### GUI + +Open an existing wallet or create a new one using `monero-wallet-gui`. In the wallet, go to the `Settings` > `Wallet` page: + +![settings](png/view-only/settings.png) + +Click on `Create a view only wallet` > `Create wallet`, then give it a name and a storage location before clicking the `Right` arrow: + +![create-view-only](png/view-only/create-view-only.png) + +Give your view-only wallet a strong password and confirm it before clicking on `Create wallet`: + +![wallet-password](png/view-only/wallet-password.png) + +Optionally, double-click the `Success` windows to copy the message, then click `OK` to close it: + +![Success](png/view-only/Success.png) diff --git a/_i18n/de/resources/user-guides/vps_run_node.md b/_i18n/de/resources/user-guides/vps_run_node.md new file mode 100644 index 00000000..8686b8b7 --- /dev/null +++ b/_i18n/de/resources/user-guides/vps_run_node.md @@ -0,0 +1,49 @@ +{% assign version = '1.1.0' | split: '.' %} +{% include disclaimer.html translated="false" version=page.version %} +# monerod + +`monerod` is the daemon software that ships with the Monero tree. It is a console program, and manages the blockchain. While a bitcoin wallet manages both an account and the blockchain, Monero separates these: `monerod` handles the blockchain, and `monero-wallet-cli` handles the account. + +This guide assumes you have already set up your VPS account and are using SSH to tunnel into the server console. + +## Linux, 64-bit (Ubuntu 16.04 LTS) + +### Make sure that port 18080 is open +`monerod` uses this port to communicate with other nodes on the Monero network. + +Example if using `ufw`: `sudo ufw allow 18080` +Example if using `iptables`: `sudo iptables -A INPUT -p tcp --dport 18080 -j ACCEPT` + +### Download the current Monero Core binaries + + wget https://downloads.getmonero.org/linux64 + +### Make a directory and extract the files. + + mkdir monero + tar -xjvf linux64 -C monero + +### Launch the daemon + + cd monero + ./monerod + +### Options: + +Show list of all options and settings: + + ./monerod --help + +Launch the daemon as a background process: + + ./monerod --detach + +Monitor the output of `monerod` if running as daemon: + + tail -f ~/.bitmonero/bitmonero.log + +Keep the VPS secure with autoupdate: + +https://help.ubuntu.com/community/AutomaticSecurityUpdates + + diff --git a/_i18n/de/technical-specs.md b/_i18n/de/technical-specs.md new file mode 100644 index 00000000..f0819a36 --- /dev/null +++ b/_i18n/de/technical-specs.md @@ -0,0 +1,132 @@ +
+
+
+ +
+
+ +
+
+

Kein Vorabmining, kein Instamining, kein Token

+
+
+ +
+* Monero hatte kein Vorabmining oder Instamining +* Monero hat keine Tokens verkauft +* Monero hatte keinen Vorverkauf jeglicher Art +
+ +
+
+

Proof of Work

+
+
+ +
+* CryptoNight +* kann sich zukünftig ändern +
+ +
+
+

Anpassung der Schwierigkeit

+
+
+ +
+* in jedem Block +* basierend auf den letzten 720 Blöcken, exklusive 20% der Zeitstempel-Ausreißer +
+ +
+
+

Blockzeit

+
+
+ +
+* 2 Minuten +* kann sich zukünftig ändern, solange die Emissionskurve erhalten bleibt +
+ +
+
+

Blockbelohnung

+
+
+ +
+* sanft abnehmend und abhängig von Strafen für Blöcke, die größer als die Median Größe der letzten 100 Blöcke sind (M100) +* siehe im [letzten Block](https://moneroblocks.info/) nach der momentan Blockbelohnung +
+ +
+
+

Blockgröße

+
+
+ +
+* dynamisch, maximal 2 * M100 +
+ +
+
+

Emissionskurve

+
+
+ +
+* zuerst die Hauptkurve: ~18.132 Millionen Münzen bis Ende Mai 2022 +* danach: 0.6 XMR pro 2-Minuten Block; entspricht einer Inflation von 1% und über die Zeit weiter abnehmend +* siehe [Charts und Details](https://www.reddit.com/r/Monero/comments/512kwh/useful_for_learning_about_monero_coin_emission/) +
+ +
+
+

Maximale Münzanzahl

+
+
+ +
+* unendlich +
+ +
+
+

Datenschutz des Senders

+
+
+ +
+* Ring Signaturen +
+ +
+
+

Datenschutz des Empfängers

+
+
+ +
+* Stealth Adressen +
+ +
+
+

Verschleierung der Transaktionsbeträge

+
+
+ +
+* Ring Confidential Transaktionen +
+ +
+
+ +
+ +
+
diff --git a/_i18n/en.yml b/_i18n/en.yml index 4ef06103..d9a91ae0 100644 --- a/_i18n/en.yml +++ b/_i18n/en.yml @@ -6,6 +6,7 @@ langs: fr: Français ar: العربية ru: Русский + de: Deutsch global: date: '%Y/%m/%d' diff --git a/_i18n/es.yml b/_i18n/es.yml index 7e7d2ee9..4af65151 100644 --- a/_i18n/es.yml +++ b/_i18n/es.yml @@ -6,6 +6,7 @@ fr: Français ar: العربية ru: Русский + de: Deutsch global: date: '%d/%m/%Y' diff --git a/_i18n/fr.yml b/_i18n/fr.yml index 6d7d10d0..fe46e98f 100644 --- a/_i18n/fr.yml +++ b/_i18n/fr.yml @@ -6,6 +6,7 @@ langs: fr: Français ar: العربية ru: Русский + de: Deutsch global: date: '%d/%m/%Y' diff --git a/_i18n/it.yml b/_i18n/it.yml index 1344629d..7ae916e2 100644 --- a/_i18n/it.yml +++ b/_i18n/it.yml @@ -6,6 +6,7 @@ langs: fr: Français ar: العربية ru: Русский + de: Deutsch global: date: '%Y/%m/%d' diff --git a/_i18n/pl.yml b/_i18n/pl.yml index 97e5595a..836a404f 100644 --- a/_i18n/pl.yml +++ b/_i18n/pl.yml @@ -6,6 +6,7 @@ langs: fr: Français ar: العربية ru: Русский + de: Deutsch global: date: '%Y/%m/%d' diff --git a/_i18n/ru.yml b/_i18n/ru.yml index e49cd79f..70a6baeb 100644 --- a/_i18n/ru.yml +++ b/_i18n/ru.yml @@ -6,6 +6,7 @@ langs: fr: Français ar: العربية ru: Русский + de: Deutsch global: date: '%Y/%m/%d'