Secret-Key-Wert für dezimal-Versionen über 127

Nach der überprüfung der Adresse Präfixe Seite im wiki, ich habe bemerkt, dass in Bitcoin und anderen altcoins, dass der geheime Schlüssel / privaten Schlüssel weggeworfen header ist immer die dezimal version + 128. Also mit dezimal-version von 0, erhalten Sie eine regelmäßige Bitcoin-Adresse, beginnend mit 1, während das hinzufügen 128 finden Sie den privaten Schlüssel, der beginnt mit 5 / L / K, je nach Komprimierung Zustand.

Weiteres Beispiel wäre Litecoin ist die dezimale version, die ist 48, während die secret-key-version ist 48 + 128 (176).

Die Frage ist also: was ist mit dezimalen Versionen zwischen 128 und 255? Ich kann sehen, dass dies eine von zwei Möglichkeiten.

  • Anstelle der Zugabe 128, subtrahieren Sie den 128. Also der dezimal-version 128 Sie werden am Ende mit einem geheimen Schlüssel von 0 an.
  • Sie Runden bis zu 255 in allen Fällen von 128 und mehr.

Ich schaute durch das wiki und ich konnte nicht einen Grund finden, warum der geheime Schlüssel, der header ist 128 größer ist als der public-key-header. Ein Beispiel, das widerspricht meinen beiden oben genannten Punkte, wäre aus unobtanium Münze , deren public-key-header ist 130 , während der geheime Schlüssel ist 224 (94 Unterschied).

Gibt es irgendeine Stelle an alle für die secret-key und public-key-Header so weit auseinander? Oder ist es in Ordnung nur der Header anders sein, in Erster Linie, nicht unbedingt 128 auseinander?

+449
Liam Merwick 15.06.2011, 00:57:50
25 Antworten

So exportieren Sie den privaten Schlüssel von Bitcoin Core

In Bitcoin Core verwenden, können Sie die dumpprivkey Befehl.

Sobald Sie Ihren privaten Schlüssel schützen Sie sehr sorgfältig halten es sehr sicher und führen Sie die folgenden, in Bitcoin Core gey Ihrem privaten Schlüssel (einmal für jede einzelne Adresse):

  1. Öffnen Bitcoin Core.
  2. Gehen Sie zu Hilfe - > Debug.
  3. Gehen Sie auf die Registerkarte "Console".
  4. Typ: dumpprivkey "{Adresse}"
  5. Führen Sie Schritt 4 nachdem für jede Adresse mit BTC in Ihrem Bitcoin-Core-wallet.
  6. Schreiben Sie Ihre privaten Schlüssel genau auf dem Papier nur zur Sicherheit, oder verwenden Sie kopieren und einfügen. Nicht immer speichern Sie den private key irgendwo auf einem Handy oder computer.

Getan. Beachten Sie, dass Sie brauchen nicht zu warten, für die Bitcoin-Kern zu aktualisieren, bevor Sie exportieren Sie Ihren privaten Schlüssel.

Verwendung:

>dumpprivkey "Adresse"

Zeigt den privaten Schlüssel entsprechend 'Adresse'.
Dann die importprivkey kann verwendet werden, mit dieser Ausgabe

Argumente:
1. "Adresse" (string, notwendig) Die bitcoin-Adresse für den privaten Schlüssel

Ergebnis:
"Schlüssel" (string) Der private Schlüssel

Beispiele:
> bitcoin-cli dumpprivkey "myaddress"
> bitcoin-cli importprivkey "mykey"

Import von privaten Schlüsseln in, Elektron

Dann können Sie importieren Sie Ihre privaten Schlüssel in, Elektron.

  1. Öffnen Elektron und gehen der Brieftasche --> Private Keys --> Importieren
  2. Genau füllen Sie alle Ihre privaten Schlüssel, einem privaten Schlüssel pro Zeile. Drücken Sie enter für eine neue Zeile.
  3. Klicken Sie auf Importieren.
  4. Getan.

Electrum wird update mit der balance für alle Ihre importierten Adressen.

Hinweis: Wenn Sie einfach nicht genug HDD Speicher für Bitcoin-Core Sie können prune={MB>550} in deiner bitcoin.conf - Datei zu reduzieren die file-storage-Anforderungen für die blockchain, erreichbar über Einstellungen --> Optionen.

+934
Brian Larsen 03 февр. '09 в 4:24

Auf den Wellen-Plattform, ist es möglich, für die Transaktion zu zahlenden Gebühren in Jetons. Um dies zu tun, einen vollständigen Knoten mit mining-Funktionen (laufen kann jeder einen Knoten, aber mindestens 10.000 WELLEN ist erforderlich, um Blöcke) zu akzeptieren, die bestimmte token als die Gebühr.

So, Burger King Russland könnte entweder host einen full-node oder überreden, ein weiteres full-node zu akzeptieren Whoppercoin. Burger-King-Russland plant, eine app sowohl im Apple Store und auf Google Play für das treue-Programm. Diese apps werden wahrscheinlich nutzen die Wellen, Knoten, REST API, durch die Angabe der Gebühr asset als Whoppercoin.

Hier ist der entsprechende API:

POST /assets/broadcast/transfer

Hier sind die relevanten Parameter:

"Typ" - Vorgangsart (4 für TransferTransaction)
"id" - die Id(hash) der Transaktion, Base58-codiert
"assetId" - Objekt ID im Base58-format, effektiv gleich die Transaktions-id 
"timestamp" - Transaktion timestamp
"Absender" Absender - Konto-Adresse, Base58-codiert
"senderPublicKey" Absender - account ' s public key, Base58-codiert
"recipient" - Empfänger-Konto-Adresse, Base58-codiert
"feeAsset" Asset - ID der Transaktion Gebühr, derzeit ist null, d.h. die WELLEN
"fee" - Betrag Transaktion Gebühr
"Anlage" - Anlage, Base58-codiert
"Unterschrift" - Unterzeichnung aller Bewegungsdaten, Base58-codiert

Hier ist eine Anfrage JSON-Beispiel:

{
 "type": 4,
 "id": "3xPyT73TGV7c5PKEJpicwSsX7PXyi3Lm1jfnqivfrluy",
 "Absender": "3NBVqYXrapgJP9atQccdBPAgJPwHDKkh6a8",
 "senderPublicKey": "CRxqEuxhdZBEHX42MU4FfyJxuHmbDBTahmhm3uki7plw",
 "Empfänger": "3Mx2afTZ2KbRrLNbytyzTtXukZvqEB8Skw7",
 "assetId": "E9yZC4cVhCDfbjFJCc9CqkAtkoFy5KaCe64iaxhm2adg",
 "Betrag": 5500000000,
 "feeAsset": null,
 "Gebühr": 100000,
 "timestamp": 1479222433704,
 "Anlage": "BJa6cfyGUmzBFTj3vvvaew",
 "Unterschrift": "2TyN8pNS7mS9gfCbX2ktpkWVYckoAmRmdzzkh3k35dks6suoxharzukv5hvvek9t79uzt3ca8cyz9z3utj6cnceo"
}

Auf Wellen-Plattform jetzt können Sie kaufen Whoppercoin auf den Wellen DEX, und die Gebühr ist 0,003 Wellen. Ich habe gezeigt, dieses hier: https://youtu.be/ZAFZNEwIooM

Darüber hinaus können Sie transfer Whoppercoin zwischen den Konten, und die Gebühr 0.001 Wellen. Ich habe gezeigt, dieses hier: https://youtu.be/OYHPlgj0HjY

+898
Abu 07.03.2011, 15:40:14

Auf Ihrem computer Ihre Brieftasche ist gespeichert unter Roaming zugegriffen werden kann auf windows 7 durch ausführen %appdata% übertragen die Brieftasche.dat-Datei auf jedem computer im gleichen Ordner.

+851
kwonsie 07.03.2014, 09:53:22

Ich bin mir nicht sicher, dass ein Leitfaden als Basis, wie Sie beschreiben, ist auch möglich. Es hängt davon ab, was genau du meinst. Bergbau selbst ist nicht zu kompliziert zu Lesen und verstehen, aber schreiben von einem start-zu-Ende - app, die verwendet werden können, für den Bergbau bedeutet schreiben ein voller Knoten. Das ist sehr kompliziert.

Schreiben Sie einen Bitcoin miner von Anfang bis Ende beinhaltet nicht nur das sammeln von Transaktionen, die Berechnung der Merkle root, der Bau des block-header und die eigentlichen hashing/Bergbau, aber auch der Verifizierung der blockchain und jede Transaktion in der it und der Kommunikation mit peers in das Netzwerk zu erhalten, und schicken Sie blockiert, und Transaktion.

Einige gute Ressourcen für das lernen mehr sind bitcoin.org Developer Guide und die Bitcoin Wiki. Dazu gehören die Grundlagen, die Sie wirklich nach.

+829
stasinasi 19.01.2018, 09:12:15

ich habe in meiner id anmelden und es bleibt stecken auf der log-in-Seite. Es sagt "ändern wallet identifier" und lässt mich nicht einloggen. Nach einer Weile sagt er, dass Sie deaktiviert login für zu viele versuche. Ich habe nicht in der Lage gewesen zum anmelden für die letzten 2-3 Tage. bitte helfen Sie.

+614
Batwinghorse 11.11.2015, 22:42:33

"Mit vanitygen man könnte denken, dass Sie wäre in der Lage zu finden, die den privaten Schlüssel für eine Adresse. In der Praxis ist dies für unmöglich gehalten. Gegeben, dass die Schwierigkeit steigt exponentiell die mehr Ihrer Eitelkeit ist, so bedeutet die Durchschnittliche Zeit, die erforderlich ist zu finden, dass Eitelkeit. Die Beispiel-Tabelle unten zeigt, wie ein zunehmend Komplexes Eitelkeit wirkt sich auf den Schwierigkeitsgrad und die Durchschnittliche Zeit, die erforderlich, um eine übereinstimmung zu finden nur für die, die Eitelkeit, geschweige denn die vollständige Anschrift, für eine Maschine, von der Suche über 1 Millionen Schlüssel pro Sekunde."

https://en.bitcoin.it/wiki/Vanitygen#Use_of_vanitygen_to_try_to_attack_addresses

Eitelkeit Schwierigkeit, die Durchschnittliche Zeit, die

1B 22 < 1s

1Bi 1,330 < 1s

1Bit 77,178 < 1s

1Bitc 4,476,342 (4.48 E+6) < 10s

1Bitco 259,627,881 (2.6 E+8) 3 Minuten

1Bitcoi 15,058,417,127 (1.506 E+10) 3 Stunden

1Bitcoin 8.7339 E+11 1 Woche

1BitcoinE 5.0657 E+13 1 Jahr

1BitcoinEa 2.9381 E+15 60 Jahren

1BitcoinEat 1.7041 E+17 3.500 Jahren

1BitcoinEate 9.8837 E+18 200.000 Jahren

1BitcoinEater 5.7325 E+20 11,700,000 Jahre

1BitcoinEaterAddressDontSend 1.6209 E+47 3.3 E+33 oder 3,3 decillion Jahren

+613
Racheal 17.05.2015, 04:43:27

Die primäre Anliegen mit Bitcoin Sicherheit ist, wo Sie Ihren privaten Schlüssel gespeichert werden.

In Ihrem Szenario ist der private Schlüssel gespeichert sind, auf einem Linux-laptop, das ist nicht unvernünftig, wenn Sie Folgen Sie internet eine gute hygiene-und Sicherheitspraktiken.

Die nächste beste Ansatz ist zu kaufen eine hardware-wallet von Leuten wie Trezor oder Ledger. Diese Brieftaschen haben High-Security-Modul (HSM) - chips in Ihnen, die sind sehr resistent gegen Manipulation. Durch hoch resistente bedeutet, dass der private Schlüssel gespeichert werden auf einem manipulationssicheren chip und NIE verlassen. Der HSM-chip in der Finanzbuchhaltung Blau ist ST31. Google nach Möglichkeiten für einen Kompromiss, der ST31 versus Möglichkeiten zum Kompromiss Linux und Sie erhalten die Idee.

Mit einem hardware-wallet-es funktioniert in Verbindung mit einem client auf Ihrem PC, sondern der entscheidende Faktor ist die Transaktion (tx) ist unterschrieben in die HSM-chip und das einzige, was ein Angreifer tun könnte ist zu versuchen, und ersetzen Sie die Bitcoin-Adresse in Ihrem tx. Die meisten hardware-wallets Schutz gegen diese durch die Anzeige der Empfänger-Adresse auf dem Bildschirm, wenn Sie ersuchenden Prüfung der Signatur-Vorgang.

Und schließlich könnten Sie schreiben Sie Ihren privaten Schlüssel auf ein Stück Papier und hand-signieren alle Ihre Bitcoin-tx ist. Keine elektronische Kompromisse zu befürchten.

+548
Nicole aitken 02.07.2013, 18:44:56

Ja, Sie können.

Die Transaktion wird nur nicht SegWit Transaktion, und nicht erhalten seine Vorteile (zum Beispiel niedrigere Gebühren für eine gegebene Bestätigung Geschwindigkeit).

+525
Picolo 12.08.2016, 04:29:36

Vor einigen Tagen haben unsere bitcoin-cash-core-wallet gestartet, um Adressen zu generieren werden mit dem neuen format: bitcoincash:q...... . Das ist schön und unterscheidet sich von der bitcoin-blockchain generiert Adressen, aber einige Benutzer haben Probleme mit der neuen Adresse-Formate: nicht alle online-exchangers unterstützt das neue format und als ungültig Kennzeichnen. Gibt es eine Möglichkeit, die Anzeige der Benutzer sein ALTES format-Adresse zusammen mit dem neuen? Damit brauchen wir eine Art Konverter zwischen cashaddr/legacy-Adresse format-standards (vielleicht ist das albern, sorry), oder tun Sie es über wallet-RPC-API?

+496
Lisa Jones 23.05.2015, 06:32:53

Ja, es scheint, Sie finden die Angebote von spezifisch über die Währung, genau wie in die Fragen, die er. Zum Beispiel die WeExchange-gateway-Angebote in bitcoins, USD, CAD und australisches Geld so das sind die bekanntesten Währungen, so weit wahrscheinlich. So würden Sie setzen Ihre bitcoin-Währung lautende Konto Nummer als Emittentin für bitcoins zu sehen, bietet deal in Ihrer bitcoin-IOUs, Ihre USD lautende Konto Nummer als Emittent von USD zu finden, bietet für den Handel mit Ihren USD-Schuldscheine und so weiter.

Ich weiß nicht, warum Sie verwenden Sie ein separates Konto für jede Art von Währung, ich bin so weit mit einem test-Konto für alle Währungen, ist es rpVft3wic2fZ2saY5BjEtL8R2NPrubxWg5

Weil ich das Digitalis Offenen Transaktionen server hab ich schon ausgestellt haben viele Vermögenswerte dort, und freue mich auf die Ausgabe Bündel auf Welligkeit zu. Aber ich kann viele Angebote noch bis ich mehr Wellen als die meisten meiner Wellen Ausgaben auf die Prüfung der-trading-system, das zu erlernen viel.

Ich habe ziemlich wenig Devcoin (DVC) und Groupcoin (GFK), weniger (zwanzig tausend oder weniger) I0coin (IOC, als Ripple-Währungen sind nur alpha nicht alphanumerisch) und Ixcoin (IXC), sehr wenige Namecoin (NMC) und Coiledcoin (CLC). Andere "altcoins" ich habe zu wenig bisher, um in market-making mit Ihnen. Ich habe auch eine langsam wachsende Zahl von BBQcoins (BBQ).

Grundsätzlich sollte man in der Lage sein zu geben Paare wie BTC/DVC, wenn der Emittent das Unternehmen ist nicht gezeigt wurde weex dann ändern Emittentin weex; für DVC wahrscheinlich wird es standardmäßig auf Ihrem eigenen Konto als Aussteller, oder, wenn Sie bereits Vertrauen jemand für DVC dann Ihr Konto; ändern Emittenten auf mein Konto oben gezeigt wird, und wenn ich es geschafft habe, zu platzieren DVC/BTC bietet, oder wenn es jemand anderes macht Angebote mit meinem DVC IOUs, Sie sollten Sie zu sehen.

SO weit, weil der client zeigt nur fünf Dezimalstellen der Preis ich habe nur ein Angebot zum Verkauf DVC für 0.00002 BTC, was Weise höher sogar thatn die 200 oder so satoshis Sie verwendet, um zu gehen für ein paar Wochen. Wir brauchen mehr Dezimalstellen in der client zur Anzeige vernünftig "bitcoins pro devcoin" Preise.

+493
vivek 16.10.2014, 15:14:50

Es nutzt m/0'/0'/i' mit i Inkrementieren im Laufe der Zeit.

Die dumpwallet RPC-Befehl erzeugt eine Textdatei mit allen privaten Schlüsseln, einschließlich der BIP32 Samen.

+459
Dudi Boy 30.05.2010, 00:13:42

Könnte Recht einfach sein. Zumindest dazu führen, dass Menschen zu ziehen bitcoin. Wenn eine Regierung setup eine massive verdeckte vertrauenswürdigen exchange-Plattform wie mt.gehex, oder größer. Hätten Sie Tonnen von Münzen verarbeitet zu einem bestimmten Zeitpunkt. Dann den exchange heruntergefahren, nicht im Gegensatz zu mt.gehex. Wenn der mt.gehex Katastrophe passiert heute mit einem so hohen Wert auf die Münzen ($4000usd+), vielleicht sogar auf einer größeren Skala, auch vorausgesetzt viele Menschen können tatsächlich bezahlt haben cash zu erwerben, diese bitcoins, es ginge es wieder. Wenn es Ihnen gelingt, nehmen Sie Ihr Geld aus, zur richtigen Zeit, das ist großartig. Aber speichern Sie Sie Weg, indem wir Menschen zum Kauf von Ware aus, die Sie mit bitcoin, ist eine sehr riskante Art, Geschäfte zu machen.

+455
ThE a Dog 12.02.2012, 08:39:50

Ich verstehe, dass zwischen den Menschen, die Bitcoin-Knoten, und daher das Bitcoin-Protokoll, das system ist auf Vertrauen und weniger sicher.

Allerdings scheint es ein schwaches Glied - die offizielle Liste der bitcoin-Knoten.

Wer hält die offizielle Liste kann jedoch theoretisch zu verschwören, um sicherzustellen, dass 51% der Knoten sind unter Ihrer Kontrolle und können durchzuführen ruchlosen Operationen wie die doppelte Ausgaben-und/oder ändern von Transaktionen.

Wie wird dieses Problem gehandhabt?

+444
zrile chalx 23.08.2018, 08:01:15

Siehst du die blockchain ?

Nein, weil die blockchain nur bestätigte Transaktionen. Statt, der Bergmann schaut auf seine Speicher-pool. Es ist so genannt, weil Sie vergessen, wenn die Maschine heruntergefahren.

+444
eeerahul 20.12.2015, 11:59:20

Es ist kein ready-made-wiederkehrende Zahlung-Lösung im moment, aber dies kann erreicht werden auf der Anwendungsebene werden durch den Bau von pre-signed-Transaktionen oder Verwendung CLTV ist wie @Wapac vorgeschlagen. CLTV Ansatz kann eine Kehrseite haben, obwohl, werden Sie zahlen Transaktionsgebühren zweimal in den Fall, Sie entscheiden, zu stornieren.

Ein raffinierter Mechanismus kann die Schaffung eines nicht-Sorgeberechtigten, multi-sig-wallet-service, das hält den überblick über Ihre wiederkehrenden Zahlungen und benachrichtigt Sie, wenn eine Aktion erforderlich ist. Offenlegung, ich bin beteiligt an einer derartigen Lösung genannt: https://www.arf.one

+405
ProtonDetective 19.09.2012, 08:24:17

Zum Beispiel, wenn ich die folgenden vanity-Adresse: 1abcde.... als mein Aktuelles bitcoin-Adresse, ist es möglich, um dieselbe vanity-Adresse für Segwit: 3abcde... ?

+405
Khamphet Keodara 28.03.2014, 14:19:49

Im planing, um eine kleine Energie effiziente mining-rig, im planing, um auf einem low-power-CPU - /MOBO-bundle, das ist mein Favorit: Biostar A68I-350 (mit 1 DIMM-DDR3-4Gb)

Es dauert nur 18W TDP, und hat einen PCI-E 16x für eine HD7950. Die Gesamtleistung ist (unter Berücksichtigung der Verwendung eines 80+ GOLD PSU), die niedriger als 300< Watt. Die KHash/s-rate wird 640-650.

Wie viel kann die CPU die Ursache für einen Engpass?

+341
chetan 02.02.2012, 03:48:12

Eine wichtige Komponente hinter UNS und die EU-anti-Geldwäsche-Gesetze ist, dass die Beweislast auf die Ankläger/Regierung zu bestimmen, einer illegalen Quelle

Die bloße Tatsache, dass der source ist obfuscated, bedeutet nichts. Die Ironie für die Ankläger sein, dass eine wirksame Verschleierung wird das ausblenden der Quelle.

Zweitens, wie bereits erwähnt. Die trades auf einen Austausch und nicht durch Ihren EU-bank.

+243
Chris Garrett 04.04.2017, 11:41:56

Wenn ich gehe, blockchain.info und erkunden Transaktionen, sehe ich eine Menge von einzelnen Transaktionen, die zu zeigen scheinen Bündel von Adressen zu senden, um Trauben von anderen Adressen.

https://blockchain.info/tx/221668ab11014c34da20296a1607ecc7967d1bdeecb884f1bf163e6b6c9f1d72

Hat das Bitcoin-Netzwerk/Protokoll-Steuerelement, das automatisch, oder ist das getan, indem das Individuum/agent initiiert die Transaktion? z.B. sagen wir, ich will zu schicken, 123 zu einer Adresse. Ist das noch unterteilt werden in ein großes Geschäft mit vielen Menschen und vielen Empfängern (einschließlich mir), oder ist es erscheint in der Geschichte als eine Transaktion zwischen streng zwei Adressen?

+224
rbnio 13.03.2015, 13:53:32

Welchen Teil von " das bitcoin-Netzwerk erfordert, dass hashes und warum? Was ist die Beziehung zwischen Geld und der megahashes eine Karte machen kann?

+151
philacs 17.04.2012, 14:52:57

Ich habe einen server läuft 24/7 mit vielen Ressourcen Links. Ich will laufen einen vollen Bitcoin Knoten, aber eigentlich dachte ich, laufen ein paar virtuelle Maschinen drauf (mit virtualbox) und laufen einen vollen Bitcoin Knoten in jedem von Ihnen.

Natürlich würden Sie alle müssen verschiedene ports verwenden (die sind an die jeweilige VM LAN IPs von meinem router).

Wird, dass die Arbeit, also würde Sie sich auf unterschiedlichen "Metrik-Standorte" in das Bitcoin-Netzwerk? (obwohl Sie den gleichen physikalischen Ort und die gleiche IP natürlich)

Grund für dieses Vorhaben ist: 'so verbunden wie möglich", um verschiedene Teile des Netzes gleichzeitig, so als ob ich hatte mehrere Knoten an unterschiedlichen physikalischen Standorten in der ganzen Welt.

+125
almor 24.09.2011, 21:27:53

Begonnen, eine Wiki-Seite zu diesem Thema.

So weit ich gefunden habe, erwähnt 3 verschiedene Bitcoin-malware -:

  • Infostealer.Coinbit - Brieftasche Stiehlt.dat
  • DevilRobber Trojan - Minen von Bitcoins
  • BKDR_BTMINE.DDOS - führt DDoS-Attacken auf Bergleute
+102
Dave Hage 07.12.2016, 17:55:03

Ich versuche zu verstehen, die Bedeutung der den Skriptcode in den Kontext der Ausgaben ein P2SH(P2WPKH) UTXO.

Ich habe bereits Lesen Sie die folgende Antwort auf eine ähnliche Frage, aber nicht vollständig auf mein Unverständnis.

Nach der Lektüre BIP141 für P2WPKH verschachtelt BIP16 P2SH, wir gesagt, dass die Struktur ist:

Zeuge: <signature> <pubkey>
scriptSig: <0 <20-byte-Schlüssel-hash>>
(0x160014{20-byte-Schlüssel-hash})
scriptPubKey: HASH160 <20-byte-script-hash - > GLEICH
(0xA914{20-byte-script-hash}87)

Ich bemerkte, dass die den Skriptcode wird verpflichtet, den hash signiert werden für jeden Eingang. Kann mir jemand erklären, warum 1976a91479091972186c449eb1ded22b78e40d009bdf008988ac (dup hash160 [79091972186c449eb1ded22b78e40d009bdf0089] equalverify checksig) verwendet wird, da der script-code (aus meinem Verständnis der scriptPubKey oder sperren-Skript) für ein p2sh(p2wpkh) UTXO? Das Skript entspricht einem p2pkh scriptPubKey (sicherlich ist dies aus dem Kontext hier)?

Ich verstehe die Reihenfolge der Ausführung als:

  1. Zeuge <signature> <pubkey> und scriptSig <0 <20-byte-key-hash-komprimiert-pub-key>> auf dem Stapel abgelegt.
  2. Dann die scriptPubKey: HASH160 <20-byte-script-hash> GLEICH ist ausgeführt mit redeemScript (<0 <20-byte-key-hash-komprimiert-pub-key>>), als der arg-und führte schließlich in der Ausführung von CHECKSIG.

Warum ein den Skriptcode das entspricht einem Skript, das scheinbar aus dem Kontext und nicht benutzt?

Warum ist das folgende wahr?

Für P2WPKH Zeuge Programm, die den Skriptcode ist 0x1976a914{20-byte-pubkey-hash}88ac.

Es wird verwiesen, als prevOutScript in diesem Javascript-Bibliothek: https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/src/transaction.js#L396

+88
BooTleggeR 28.04.2018, 11:24:34

Ich habe ein wenig Geld, um diese Adresse 19RTgakS1WZP172vZwn44HnJAKU8ZQcJxm und Sie sagte, dass dieser link wurde schon von jemand anderem verwendet. Jetzt ist er zu sagen, die bitcoins gesendet wurden, niemand, und dass Sie verloren sind. Kann ich Rückerstattung es irgendwie?

+67
Himaaz 06.09.2013, 16:27:13

OK, jetzt verstehe ich es.

Ich kann es nicht.

Bitcoinj speichert nur die Kopfzeilen. Und - was ich gar nicht wissen - Sie können nicht Holen Sie sich die Bilanz mit " nur die überschriften.

Weitere ingormation sehen Sie die genaue Beschreibung dessen, was in den Headern hier https://en.bitcoin.it/wiki/Block_hashing_algorithm

Was ich kann tun, jedoch ist das speichern der Brieftasche direkt danach. Was ich tun werde.


bisherige "Antwort"/laut gedacht:

Ich bin stochern im source-code.

Wie es scheint, ist der wichtige Teil, wenn sendTransactionsToWallet genannt wird BlockChain.java - aber es wird nur aufgerufen, während connectBlock und sonst nichts.

connectBlock nur aufgerufen wird, während hinzufügen. Und das nur hinzufügen,ed Blöcke sind die neuen Blöcke, die aus dem Netzwerk, nicht diejenigen, die von BlockStore.

Aber ich werde schauen, um den code ein bisschen mehr.


Ich bin mir nicht sicher, was schreckliches passieren würde, wenn ich schrieb den Konstruktor von BlockChain.java aus:

/**
 * Konstruiert eine BlockChain verbunden mit der gegebenen Liste der Geldbeutel und speichern.
*/
öffentliche BlockChain(NetworkParameters params, List<Geldbeutel> Geldbeutel,
 BlockStore blockStore) wirft BlockStoreException {
 diese.blockStore = blockStore;
 chainHead = blockStore.getChainHead();
 log.info("Kette der Kopf ist in der Höhe {}:\n{}", chainHead.getHeight(), chainHead.getHeader());
 diese.params = params;
 diese.Portemonnaies = new ArrayList<Geldbeutel>(Brieftaschen);
}

zu (schreiben aus meinem Kopf, Getter/setter kann nicht richtig sein, etc)

/**
 * Konstruiert eine BlockChain verbunden mit der gegebenen Liste der Geldbeutel und speichern.
*/
öffentliche BlockChain(NetworkParameters params, List<Geldbeutel> Geldbeutel,
 BlockStore blockStore) wirft BlockStoreException {
 diese.blockStore = blockStore;
 chainHead = blockStore.getChainHead();
 log.info("Kette der Kopf ist in der Höhe {}:\n{}", chainHead.getHeight(), chainHead.getHeader());
 diese.params = params;
 diese.Portemonnaies = new ArrayList<Geldbeutel>(Brieftaschen);
 StoredBlock sBlock = blockStore.getChainHead();
 Sha256Hash prevHash = sBlock.header.prevBlockHash();
 while (prevHash!=Sha256Hash.ZERO_HASH) {
 für (Wallet-Geldbörse:Geldbeutel){
 sendTransactionsToWallet(sBlock, NewBlockType.SIDE_CHAIN, Geldbörse, sBlock.Transaktionen); 
}
 sBlock = blockStore.get(hash);
 prevHash = sBlock.header.prevBlockHash();
}
}

aber wieder, ich will nicht das Rad neu erfinden oder was.

+36
thisislsj 22.07.2015, 17:22:54

Fragen mit Tag anzeigen