Wo finde ich Dokumentation über die Interaktion mit bitcoind die json-rpc?

Habe ich eine Münze durch "forking" Bitcoin. Jetzt möchte ich das erstellen von web-Brieftasche für diese, aber nicht wissen, wie zum erstellen von json-rpc apis für die Kommunikation mit dem daemon-server. Gibt es keine ordnungsgemäße Dokumentation für diese?

+410
Abdelilah El Aissaoui 22.03.2018, 14:10:43
21 Antworten

Ich kam zu glauben, dass ein ISP kann leicht erkennen, voller Knoten, BTC-verbindungen, und isolieren Sie vom erreichen andere Knoten.

Dies ist die wahre. Ein ISP könnte leicht blockieren alle Bitcoin-traffic oder nur verhindern, dass Bitcoin-Datenverkehr vom betreten und verlassen Ihr Netzwerk und isolieren Sie die Knoten.

Wenn und falls ein ISP beschlossen, so zu tun, könnten Sie einfach eine 51% Attacke und alles tun, was Sie wollen?

Im Fall von isolierten Knoten, sagte ISP müsste noch genug hashing-power zu präsentieren Blöcke mit ausreichend PoW akzeptiert zu werden (eine MENGE!) und, hätte ja auch blockieren Tor.

+998
Sebastian Schneider 03 февр. '09 в 4:24

Nachdem Sie installiert Bitcoin core auf Ihrem Computer, führen Sie den folgenden Befehl zum starten der Synchronisierung die testnet blockchain

bitcoind -testnet -daemon

Die synchronisation startet als daemon und im hintergrund ausgeführt wird, können Sie geben Sie den folgenden Befehl, um den Fortschritt sehen

tailf ~/.bitcoin/testnet3/debug.melden

Zugriff auf die Kommandozeile-apis , fügen Sie einfach die -testnet parameter

bitcoin-cli -testnet getinfo

+942
Asterlune 18.11.2013, 02:01:13

Hier ist die Lösung, die ich gefunden, um broadcast-Transaktion im bitcoin-Netzwerk ohne Offenlegung Ihrer IP -: schließen Sie bitcoind über das Tor-Netzwerk. Hier ist meine Anleitung.

Bearbeiten Sie Ihre torrc-Datei hinzufügen .Zwiebel bitcoin-Knoten:

mapaddress 192.0.2.2 ijzt2eeizty3p5xe.Zwiebel
mapaddress 192.0.2.3 j43z65b6r2usg3vk.Zwiebel
mapaddress 192.0.2.4 pvuif6nonbhj3o3r.Zwiebel

Start Tor

Edit .bitcoin/bitcoin.conf zu verbinden bitcoind über das Tor-Netzwerk. Hinzufügen:

Proxyserver=127.0.0.1:9050
connect=192.0.2.2
connect=192.0.2.3
connect=192.0.2.4

Beim Tor wird gestartet (grüne Zwiebel) starten Sie den bitcoind.

Mehr infos
https://en.bitcoin.it/wiki/Fallback_Nodes
https://bitcointalk.org/index.php?topic=50547.0;alle

+930
cpuguru 01.12.2013, 07:30:03

Sie haben die richtige Idee, wenn Sie schrieb:

ermöglicht es mehreren Parteien, die einander nicht trauen

Dann haben Sie vorgeschlagen:

habe gerade ein Bergmann, der bald veröffentlicht...

Das würde bedeuten, dass jeder hat zu Vertrauen und sich darauf verlassen, dass ein Bergmann zu veröffentlichen, präzise und korrekt.

Aber der ganze Sinn des Systems ist nicht zu trauen.

Proof of Work (POW) ist der Mechanismus, der schafft eine trustless-system ohne zentralen Knoten.


P. S. gibt Es potentiell viele Möglichkeiten, zu manipulieren, mit einer block-Kette andere als "forking". Es gibt Doppel-verbringt, re-schreiben der alten Transaktionen, Schmieden neue Transaktionen und denial-of-service-Angriffe. So weit, die POW-Plan scheint zu sein, eine wirksame Verteidigung gegen alle Angriffe.

+839
rocket racoon 13.07.2013, 19:25:38

Für Lern-Zwecke, ich möchte erstellen Sie eine alternative für Besondere Zwecke, die blockchain. Würde es ein proof-of-work-Funktion, die ist anders als die, die in Bitcoin.

Kurz Gabelung bitcoin und gehen von dort aus, wo sollte ich suchen in ab?

Die Daten, die die blockchain wäre die Speicherung von öffentlichen Schlüsseln.

Bitcoin wiki: https://en.bitcoin.it/wiki/Alternative_chain

+839
hicksca 05.01.2013, 14:20:05

Meine Frage ist, wie lange dauert es durchschnittlich, zu download ganze blockchain und set-up neuer Geldbeutel mit standard-Bitcoin-QT client.

+798
elengri 15.10.2017, 19:42:25

Der Grund für das nicht senden zurück zu (einer der) vorherigen Adressen, ist der Datenschutz. Nicht nur Ihre Privatsphäre - Sie vielleicht nicht, - aber die Privatsphäre eines jeden mit dem system. Die Wiederverwendung von Adressen auf diese Weise macht es überdeutlich, die bei der Ausgabe wird die Reale Produktion und die Veränderung, was bedeutet, dass die Transaktion-graph-Analyse wird viel einfacher.

Wallet backups gehen out-of-date ist ein sehr gutes Gegenargument zu dieser. Sicherheit und Privatsphäre sind oft schwer zu kombinieren. Es ist auch der Grund, warum zum Beispiel Multibit und Bitcoin Wallet für Android bis jetzt tun die Wiederverwendung von Adressen für den Wandel.

Jedoch, eine Lösung, die die Vorteile von beiden vorhanden ist. Deterministische wallets (insbesondere BIP32) erlauben die Generierung von neuen Adressen ändern (einschließlich der Fähigkeit, Sie zu erkennen, wenn Sie eine Wiederherstellung von einer Sicherung), ohne dass dies zu jeder in der Welt. Zusätzlich, Sie unterstützen die selektive Weitergabe an Menschen, mit denen Sie teilen möchten Ihren Geldbeutel ist Geschichte.

+742
Misti 27.01.2010, 11:20:34

Ich bin einrichten meiner hardware wallet, und geschrieben habe, meine Eselsbrücke seed-körperlich, aber auch eine Möglichkeit des Zugriffs auf es von meinem computer.

Wenn ich all das Saatgut Wörter zusammen, und der hash durch eine bestimmte Kombination der vorhandenen Worte, wäre es sicher zu speichern auf einem computer?

+708
AnatraIlDuck 08.07.2015, 21:08:44

Wenn Transaktionen empfangen werden, die Knoten halten diese Transaktionen in den Speicher (den mempool), während mining-software versucht, mir einen neuen block. Ein Bergmann wird versuchen, die Passform, wie viele Transaktionen in einem block, wie Sie können, um so mehr verdienen die Gebühren, wenn Sie erfolgreich mine, ein block.

Wenn es mehr Transaktionen als in den block, der miner muss gefiltert werden, damit auch genug, während unter den block-size-limit. Die Filter-Methode in der Regel verwendet wird, um Transaktionen durch Gebühren bezahlt, und die höchste Gebühr, Geschäfte, weil dies die Ergebnisse der größten Auszahlung, wenn Sie erfolgreich sind bei der Gewinnung des Blocks.

Alle Transaktionen, die im mempool werden dann die Kandidaten für das hinzufügen, um den nächsten block in der Kette, sondern wird unter den gleichen filter, während die weiteren Geschäfte kommen aus dem Netzwerk auch. Dies bedeutet, dass eine Transaktion zahlen nur geringe Gebühren können im mempool für eine lange Zeit, weil Sie deprioritized über Transaktionen, die mehr bezahlen.

Dies schafft eine Gebühr Markt für block-space. Menschen, die Ihre Transaktionen verarbeitet werden, in einer fristgerechten Weise - die nächsten Blöcke, zahlen eine höhere Gebühr, die Förderung an die Spitze der Warteschlange, in der Erwägung, dass Menschen, die keine Dringlichkeit für Ihre Transaktionen verarbeitet werden, zahlen eine geringere Gebühr und bereit sein, zu warten, bis die Größe der mempool ist reduziert.

Als Transaktionsvolumen erhöht sich aufgrund der größeren Nachfrage, die Menschen müssen entweder zahlen mehr Gebühren, oder nutzen Sie neue Technologien, um die Größe Anforderungen Ihrer Transaktionen, um zu bezahlen Sie weniger Gebühren. Einige Techniken um dies zu erreichen sind die Batchverarbeitung von Transaktionen mit Zahlungs-Kanäle (wie der Blitz-Netzwerk), mit Seitenketten, und über zukünftige Verbesserungen der bitcoin selbst, mit denen der Signatur-aggregation und Entfernung von ungewichtete Zweige der bitcoin-Skript.

Wie ich es verstehe, das Netzwerk lehnt Blöcke über 1MB und block-hash-Schwierigkeit ist, legen Sie nach jedem block wird erstellt, um die block-Zeit in der Nähe 10min.

Die Schwierigkeit angepasst wird alle 2016 Blöcke (ca 2 Wochen), unter Berücksichtigung der erzeugten Blöcke über die Zeit. Blöcke sind nicht unbedingt alle 10 Minuten, weil es ist ein zufälliger Prozess der Suche nach einem gültigen hash, die unter dem target-Wert, und kann von Sekunden bis zu einer Stunde oder mehr. Es durchschnitten, approximatetly 10 Minuten über längere Zeit aufgrund der regelmäßigen Schwierigkeit der Anpassung.

+693
VaporGalahad 26.11.2018, 04:44:35

Es ist möglich, dienen die Bitcoin-Core-GUI aus der Ferne über eine web-Seite läuft auf einem server läuft im Digitalen Ozean (oder andere Anbieter)? Wenn ja, wo finde ich eine Anleitung, wie dies zu tun?

+667
AI RM 22.02.2011, 14:10:04

Wenn Sie sprechen über die Bitcoin-API, getwork erfordert nur Daten - Feld, das ist ein Ort, um Ihre Lösung.

Allerdings glaube ich, dass Sie sprechen über das id - Feld eines JSON-RPC-Befehl. Es wird verwendet, um identifizieren, die eine Antwort auf eine bestimmte Anfrage. Generell ist es vielleicht nicht die beste Stelle für zusätzliche Informationen. Es gibt bereits ein paar Erweiterungen, um die getwork-Protokoll , das Sie verwenden möchten, statt.

+628
ign 02.02.2010, 08:57:08

Wenn Sie haben eine harte Zeit zu synchronisieren (vielleicht schlechte internet-Verbindung?) versuchen Sie immer alle Ihre privaten Schlüssel mit dem API-Befehl "dumpwallet" und dann importieren Sie Sie in die Electrum wallet ( es wird eine option zum importieren der private Schlüssel beim starten eines neuen Geldbeutel, und importieren Sie einen privaten Schlüssel in eine bestehende Brieftasche). Elektron, verfügbar unter https://www.electrum.org, synchronisieren Sie fast sofort, da es ein SPV-client und überprüfen Sie Ihre balance.

+468
iatrodoc 01.01.2013, 07:12:42

Dieser code ruft dieser code, der ruft crypto.getRandomValues, die ein vertrauenswürdiges kryptografisch sicheren Zufallszahlen-generator. Es ist sicher genug, um mit zu konkurrieren bitaddress.org solange man den browser wurde nicht gehackt.

+457
Stradivari 08.04.2015, 18:33:04

Eine kryptographische hash-Funktion Projekte, die eine beliebige Menge von Daten zu einer begrenzten Bildraum. Im Fall von P2SH, der hash ist eine RIPEMD160 hash-Werte, die Projektion einzulösen Skript, um eine hash-digest vor genau 20 B (160 b) Länge.

Dies ist eine Falltür oder one-way-Funktion, die nicht rückgängig gemacht werden (wenn es rückgängig gemacht werden können, es ist gebrochen und daher nicht eine kryptographische hash-Funktion). Damit der Empfänger nicht sagen kann, was Sie einlösen Skript wurde ein Hashwert zu erzeugen, die P2SH-Adresse, und kann daher nicht beurteilen die Wirksamkeit der einlösen-Skript.

Wenn der Empfänger einen Fehler macht und liefert den hash ein ungültiges script, gibt es keine Regressansprüche.

+399
Maxxxx 22.07.2019, 04:21:45

Ich zerlegte die tx um es besser sichtbar zu machen, die raw-tx ist:

01000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000

VERSION
01000000

TX_IN COUNT [var_int]: hex=01, dezimal=1
TX_IN[0]
 TX_IN[0] OutPoint hash (char[32])
0000000000000000000000000000000000000000000000000000000000000000
 TX_IN[0] OutPoint index (uint32_t)
 hex=FFFFFFFF, Umgekehrt=FFFFFFFF, dezimal=4294967295
 TX_IN[0] Script Länge (var_int)
 hex=4D, dezimal=77
 TX_IN[0] Coinbase und Reihenfolge
04FFFF001D0104455468652054696D...
 TX_IN[0] Sequence (uint32_t)
FFFFFFFF

TX_OUT ZÄHLEN, hex=01, dezimal=1
TX_OUT[0]
 TX_OUT[0] - Wert (uint64_t)
 hex=00F2052A01000000, reversed_hex=000000012A05F200, dec=5000000000, bitcoin=50.00000000
 TX_OUT[0] PK_Script Länge (var_int)
 hex=43, dec=67
 TX_OUT[0] pk_script (uchar[])
4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC

LOCK_TIME
00000000

Das Feld für den früheren tx (OutPoint Hash) eingestellt ist, um alle Nullen, und das nächste Feld auf "FFFFFFFF" (wo man normalerweise einen Wert um die Vorherige tx-outpoint). Also nichts ausgegeben "aus". In tx_out die Zahlung geht an einen öffentlichen Schlüssel, der übersetzt: 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divfna

+394
Lisa K 27.01.2010, 18:12:00

Es gibt einige Missverständnisse hier. Ersten, Transaktionen sind Hash auf mehrere Arten für verschiedene Zwecke, aber eigentlich sind Sie gehalten, im original in der blockchain: Wie Sie sagten, dies ist erforderlich, um zu überprüfen, die blockchain später, oder geben die Informationen an die anderen Teilnehmer für Sie, um aufzuholen mit dem Netzwerk.

Also, Wann und zu welchem Zweck sind Sie gehasht, dann?

Transaktions-Id (txid)

Standard-Transaktionen in einer Größenordnung von rund 192 bytes zu 100.000 bytes, obwohl die kleinste mögliche Transaktion ist 61 bytes, und die größte, die jemals gesehen wurde 999,657 bytes. Wie auch immer, ich denke, wir können vereinbaren, dass einige von Ihnen kann werden unhandlich zu senden, um in vollem Umfang, nur auf Sie verweisen. ;)

Dies ist, wo die Transaktions-IDs kommen. Die Transaktions-ID des digest der Durchführung der SHA-256-Hash-Funktion zweimal auf die Transaktion serialisiert. Das resultierende digest oder hash ist immer 256 bit (daher der name), die dargestellt werden kann, mit 32 bytes. Mit der txid zu Referenz-Transaktionen ist offensichtlich viel weniger Bandbreiten-intensive, die ist, warum dies ist, wie peers Austausch von Informationen über Transaktionen: wenn ein peer erfährt eine neue Transaktion, diese wird in form eines INVENTAR - Nachricht, die präsentiert ihm eine Liste der txids, auf die der Knoten reagiert, indem er die unsichtbaren Transaktionen mit dem entsprechenden txids.

Merkle-Baum

Transaktionen in einem block haben eine Feste Reihenfolge. Dies kann verwendet werden, um einen Merkle-Baum aus den Transaktionen. Merkle-Bäume sind nützlich, denn Sie ermöglichen den leichten Knoten, um zu bestätigen, die Zugehörigkeit zu einer Transaktion in einem block , ohne Kenntnis der block-Inhalte. Der Merkle-tree wird erstellt, indem hashing Transaktionen paarweise iterativ, bis nur noch eine einzige hash-Ergebnisse. Dies Merkle root verwendet werden können, sind, um alle Transaktionen in einem block und verhindert, dass jemand aus der änderung der block-Inhalte.

Proof of work

Eine Dritte Anwendung von hashing in der Bitcoin ist der Konsens-Mechanismus 'proof of work'. Bitcoin ist die zentrale innovation ist die Verwendung der blockchain erstellen Konsens über die Reihenfolge der Transaktionen in das system. Zu diesem Zweck Bergleute sammeln unbestätigte Transaktionen in block-templates, für die Sie dann bewerten, ob Sie verrechnet werden, um einen gültigen block. Diese block-Vorlagen bestehen aus einem block-header (die unter anderem Informationen sammelt die oben genannten Merkle root) ausgesetzt ist, um eine doppelt angewendet SHA-256-Funktion. Wenn das Ergebnis übertrifft die Schwierigkeit, ein neuer Gültiger block gefunden wurde.

Sighashes

Wir müssen sicherstellen, dass nur die Besitzer von Fonds kann Ihnen zu verbringen. Dieses Problem ist durch den Eigentümer durch die Unterzeichnung einer Transaktion mit dem entsprechenden privaten Schlüssel für jede Eingabe, die Sie verbringen. Es ist jedoch eine andere Anwendung, die hashes für in es so gut (hat tip an Pieter für den Hinweis it out): für jede Eingabe, die eine "Signatur-hash" erzeugt, die einen digest der alle ein-und Ausgänge der Transaktion. Wie das ist, was der sender Zeichen, die Sie nicht nur authentifizieren sich als die rechtmäßigen Besitzer, aber auch verpflichten, die Unterschrift zu genau dieser Transaktion. Also die Signatur ist nutzlos, sogar zu verbringen eine andere Transaktion die Ausgabe von der gleichen Adresse, und es ist unmöglich für Dritte zu Zahlungen umleiten.

Adressen

Während der private Schlüssel und der öffentliche Schlüssel zusammen machen einen Punkt auf ein ECDSA-Kurve, die Adresse ist eigentlich auch abgeleitet von hashing: Es ist ein RIPEMD-160-hash des öffentlichen Schlüssels. Dies ermöglicht, die öffentlichen Schlüssel bleiben unbekannt, bis erhalten Geld von einer Adresse für die erste Zeit.

Der Punkt der Vermischung

Wie wir sehen können, während die-Adressen werden in der Tat gehalten, die in voller Höhe in die blockchain, Hash ermöglicht es uns zu:

  • Sparen Sie Bandbreite, in der Transaktion relais
  • Überprüfen Sie die Transaktion Bestätigungen, ohne zu wissen, die volle Blöcke
  • Limit block Entdeckung und Einführung von digital-Knappheit
  • Schutz von Transaktionen aus, die geändert wird, die von Dritten
  • Schützen Sie sensible Informationen, indem Sie bewiesen haben, unseren Besitz zu
+331
Feisal Adur 20.09.2011, 12:44:46

In P2PKH Transaktionen, die Inhalte nach der Unterzeichnung der Transaktion enthält: <Signatur(mit hash_flag)><öffentlicher_schlüssel>. Jedoch, da die Signatur können sich nicht anmelden, selbst, während die Signatur-Prozess die ScripSig Feld ist vorübergehend auf einen bestimmten Wert festgelegt.

Nach der akzeptierten Antwort aus , Wie das einlösen eines basic-Tx?, das Feld ist vorübergehend mit der ScriptPubKey Feld aus der UTXO wir einlösen wollen (in diesem Fall eine P2PKH ScriptPubKey mit dem RIPEMD160 der frühere Anschrift). Doch nach VButerin ist pybitcointools, das Feld ist mit einem P2PKH ScriptPubKey mit dem RIPEMD160 Ihrer eigenen Adresse (die Sie als Quelle, und der private Schlüssel wird zum signieren der Transaktion).

Ich verwendet pybitcointools Unterzeichnung Funktion mehrere Male, und die generierten Transaktionen sind gültig, aber die Antwort der oben genannten Frage wurde gut angenommen, so dass an diesem Punkt bin ich ziemlich verwirrt über das, was das Feld enthalten sollte.

+311
Arkx919 14.06.2012, 03:42:02

BitLotto hat den gleichen Beschränkungen und verwaltet eine Liste der kompatiblen Brieftaschen. Derzeit, die Liste umfasst:

  • Bitcoin-Qt/bitcoind (client)
  • Elektrum (client/server)
  • Die Waffenkammer (client, Bitcoin-client-Abhängigkeit)
  • BitcoinJ (Client)
  • MultiBit (Simplified payment verification/SPV-client)
  • Blockchain.info (Hybrid E-Wallet)
  • Blockchain-App für Android, iOS (Mobile-app, hybrid-client)
  • Strongcoin (Hybrid E-Wallet)
  • BitcoinSpinner für Android (Client/server)
  • Bitcoin Wallet für Android (Simplified payment verification/SPV-client)

Im wesentlichen alles, was sonst ist eine gehostete (shared) EWallet und daher nicht kompatibel ist. Dies beinhaltet EWallets an Börsen, E-Wallet-Seiten wie Instawallet, und andere Dienstleistungen wie Mischpulte und vieles mehr.

+239
Boris Javier Barrera 24.01.2016, 21:03:05

Arbeiten JSON-RPC für php. Reamined Ubuntu server configration verursacht Probleme.

Hauptsache ,ermöglichen 8332-port mit sudo ufw ermöglichen 8332

Easybitcoin.php basierend auf cURL. So installieren apt-get install php5-curl

In folgendem Beitrag geholfen:

JSON-RPC-Aufruf aus der Webseite Bitcoin Core

+199
1kisel 25.03.2018, 07:40:32

Sie können diesen service offline (wie es gemacht wird mit JS), so wie können Sie möglicherweise gewährleisten eine eindeutige Adresse generiert wird?

+188
David Chen 29.08.2010, 04:18:17

Der beste Weg, um zu kaufen litecoins kaufen von bitcoins ersten. Sobald Sie die bitcoins können Sie exchange bitcoin für litecoin auf www.btc-e.com.

Bald mt-gehex unterstützen litecoin und bitcoin-Börsen wie https://www.bitcointrader.com.au unterstützt litecoin sowie bitcoin bald!

+66
Wesley Manzano II 29.12.2010, 11:24:40

Fragen mit Tag anzeigen