Gibt einige Bibliotheken für die decode/encode-raw-Transaktion?

Ich will parse raw-Transaktion in das JSON dann ändern Sie einige Werte und Kodieren Sie zurück zu hex. JSON wie diese:

{
"Adressen": [
"346vcZZ6QV4nr68fybMEuA7qxxQeyKWops"
], 
"block_height": -1, 
"block_index": -1, 
"Bestätigungen": 0, 
"double_spend": false, 
"Gebühren": 0, 
"hash": "e09c37cca11208a8c372a1e397dcff0382b4d78cdde157ce8824d028dc185a80", 
"inputs": [
{
 "Alter": 0, 
 "output_index": 1, 
 "prev_hash": "c15bb773cdd5bb63a65766f5680684ce991c126698db0aa020e3058081742874", 
 "script_type": "leer", 
 "sequence": 4294967295
}
], 
"Ausgaben": [
{
 "Adressen": [
"346vcZZ6QV4nr68fybMEuA7qxxQeyKWops"
 ], 
 "script": "a9141a75cd53e9740caadbf83cbefdd087cdceb978a487", 
 "script_type": ""pay-to-script-hash", 
 "value": 14000000
}
], 
"preference": "niedrig", 
"empfangen": "2018-08-21T08:05:02.841875145 Z", 
"relayed_by": "54.160.159.32", 
"Größe": 83, 
"total": 14000000, 
"ver": 2, 
"vin_sz": 1, 
"vout_sz": 1
}

Ich habe versucht, auf bitcoinj, aber es gibt sehr einfaches Objekt ohne eine Menge von Feldern.

+842
Leandro Borges Ferreira 26.12.2016, 17:06:06
22 Antworten

Was getmempoolinfo Rückkehr ist nicht die Mindest-Gebühr zum senden einer Transaktion, aber die minimum - rate pro kilobyte senden einer Transaktion. Ihre bitcoin-client die konfigurierte Gebühr und multipliziere es mit der Größe der Transaktion in Kb zur Berechnung der tatsächlichen Transaktion Gebühr.

Die Größe einer Transaktion ist etwas schwierig zu berechnen (für eine person), da es erfordert das Verständnis der Anzahl der Eingänge, die erforderlich sind, um die Transaktion zu erfüllen, die Anzahl der Ausgänge (Haupt-Empfänger + Adresse ändern), und die gezielte Transaktionsgebühr (da die entsprechenden Gebühren konnten, beseitigen Sie die Notwendigkeit für eine änderung der Adresse).

Es gibt online-Gebühr für Rechner gibt, die Sie verwenden können, um zu schätzen, aber es ist immer noch schwierig, vollständig zu leeren, eine Brieftasche mit einem bekannten Gebühr mit der geraden bitcoin-client.

+980
malxmusician212 03 февр. '09 в 4:24

Von einer Besteuerung Perspektive, ich denke, es ist wichtig zu klären, wenn eine Bitcoin mining Bedienung ist mehr wie exchange-Eigenschaft, Arbeit, ein puzzle zu lösen, vs eine Lotterie zu gewinnen, die alle 10 Minuten fährt.

Ich bin auf der Suche von jemandem zu beantworten, der sich mit accounting-Regeln in Bezug auf Lotterien, Glücksspielen und ähnlichen Operationen. So wie es da steht, Lotterie-Gewinn besteuert werden zu enormen Preisen. (50%)

Ich bin zwar daran interessiert, UNS Vorgänge, jemand mit Erfahrung in anderen Ländern wäre ebenso von Interesse sein.

+815
Mike Riverso 30.01.2018, 14:39:42

Es gibt viele Beschreibungen von dem, was mining ist, aber keiner von Ihnen beschreiben es genau. Von dem, was ich sammeln:

Mining heißt, eine nonce c, so dass für einige Informationen s der hash-Wert h(s||c) beginnt mit einer bestimmten Anzahl von Nullen (h, sha-256, || Verkettung).

Die "Informationen" finden Sie hier. Die nonce ist eine ganze Zahl, die weitergezählt wird, in dem mining-Prozess. Aber es scheint, dass es nicht s||c, Hash -, sondern es gibt einige Doppel-hashing geht, aber was, h(s)||c, h(s||c), h(s)||h(c)? Ich kann es nicht ableiten, es von der Python-code im vorherigen link (NB: ich bin code-Analphabeten).

Auch die nonce ist nicht nur initialisiert auf null und dann erhöht, bis es den Erfolg:

Um zu vermeiden, riskieren Sie verschwenden auf diese Weise arbeiten, muss es eine zufällige Ausgangspunkt, und so wird das Werk zu finden, H(s,x,c)/2^(n-k) = 0, wo x ist zufällig (z.B. 128-bits, um es statistisch unmöglich für zwei Benutzer in böswilliger Absicht oder versehentlich am selben Punkt beginnen), und c ist der Zähler wird variiert, und s ist der service string. (Quelle)

Aber das ist der Artikel der Beschreibung hashcash, und wer weiß, bitcoin vielleicht nicht umgesetzt haben, die hashcash-Protokoll, wie es vorgeschlagen wurde.

Meine Frage ist also, was ist der genaue Protokoll? Ich würde gehen und den Quellcode zu Lesen, wenn ich könnte, aber wie gesagt, ich bin nicht code auskennen. Sicherlich ist die Antwort muß möglich sein, formulieren Sie kurz und prägnant, so etwas wie:

Berechnen Sie h(s||c) wobei c läuft über 0,1,..., bis der Wert beginnt mit 15 Nullen.

oder

Hash-N und erhalten x Verhalten X, dann berechnen Sie h(h(s)||c) wobei c läuft über x,x+1,..., bis der Wert beginnt mit 17 Nullen.

Sorry, wenn dies wurde gebeten vor, wenn so offensichtlich bin ich googeln die falschen Worte, danke.

+755
Jack Hodgkinson 31.12.2012, 02:00:33

Nein, dass würde nicht gültig sein, wird der Knoten ablehnen würde die zweite Transaktion, die es gesehen haben, denn er kenne die UTXO war, bereits ausgegeben, indem die erste. Wenn ein miner versucht, beide in einem block, wird dieser block wäre ungültig, auch aus dem gleichen Grund.

Die Ausnahme ist, wenn die erste Transaktion signalisiert opt-in zu Ersetzen-durch-Gebühr und die zweite Transaktion bereits eine ausreichend hohe Gebühr zu ersetzen, die der ersten ein. (BIP 125)

+673
badmuthafuca13 29.12.2017, 07:15:17

Der Befehl, den du suchst, ist listpeers. Das wird nur zeigen Sie Ihre direkten Konkurrenten, und die Kanäle, die Sie haben offen mit Ihnen.

+640
user3865903 02.03.2012, 02:30:27

Es gibt verschiedene Variablen zu berücksichtigen.

Min Stake Alter, Max Anteil Alter, Eingang Alter, Input-Größe. Und dann gibt es die version von PoS wird verwenden.

Min Stake Alter ermittelt Eingänge Förderfähigkeit, müssen Sie älter als diese Zahl, um zu setzen. Max Pfahl Alter ist die Obere Grenze des Eingangs-Alter verwendet, um zu bestimmen, Eingang Alter. Eingang Alter verwendet wird, ein Faktor in PoSv1, um zu bestimmen, die input-Gewicht (Hinweis: der code-variable nCoinAge ist der Faktor der Input-Alter * Input-Größe). Input-Größe ist die Anzahl der Münzen in einer Eingabe.

V1, welches PPC und Nachkommen, nutzt Münze, das Alter als Faktor. im Grunde Alter * Größe, in der Erwägung, dass V2 und V3 verwendet nur die Größe.

Unter V1, wenn stakeholder_2 hat weniger, aber ältere Münzen, die Sie dann vielleicht mehr Chancen habe. Unter V2 und V3 Eingang Alter ist entfernt, die form der Gleichung, so dass die mehr förderfähig Münzen, die Sie haben, desto größer sind deine Chancen.

+592
yuliannn 27.03.2013, 10:52:07

Für Litecoin und andere scrypt coins, werden Sie in der Regel entweder CPU-oder GPU-mining.

Allerdings sind laptops NICHT empfohlen für Litecoin oder scrypt mining, weil Sie eine Unzureichende Kühlung. Die hohen Temperaturen, die während der scrypt-mining können Schäden an Ihrem laptop, kostet Sie weit mehr als das, was Sie hoffen konnte, zu verdienen durch Bergbau.

Auch wenn Sie arbeiten könnten, die Kühlung Probleme, die CPUs oder GPUs in den meisten notebooks sind nicht schnell genug, Sie verdienen eine anständige Rendite.

+567
Rich Waldschmidt 14.09.2014, 03:03:16

machen bitcoins haben einen garantierten Wert in gold

keine

der Wert einer Währung wird garantiert durch die Menge gold, die

falsch

+496
Karinulia 12.12.2014, 05:45:39

Sicher, es ist möglich, dass die physischen hardware-spec konnte nicht mehr alltäglich (wir haben es gesehen, bevor mit Disketten, Bänder, PS/2, etc.)

Jedoch, Hardware-wallets Folgen BIP39/44/49. In dem Fall, dass der Geldbeutel verloren gegangen ist, nicht unterstützt, zerstört, oder die Firma, stirbt, können Sie immer wieder Ihre Münzen durch die Verwendung einer software-Brieftasche wie Elektron, oder auch manuell. Viele open-source-tools existieren, um erholen Münzen aus Samen.

Wenn an irgendeinem Punkt die hardware-wallets sind veraltet, weil der eigentliche hardware-Gründen, ist es fast eine Selbstverständlichkeit, dass neuere Brieftaschen erstellt werden, und Sie werden in der Lage, importieren Sie einfach Ihr Saatgut aus der alten zu führen, die Abwicklung wie gewohnt.

+488
EldiiarUsenaliev 02.06.2011, 09:56:19

In Bezug auf bitcoin, Peter Todd sagt: "Grundsätzlich ist die tech selbst nicht skaliert. Die ganze Idee, dass es jeder weiß alles über jede Transaktion, die inhärent für das trust-Modell von bitcoin jetzt... so einfach ist das: O(n^2) Skalierung. Sie kann einfach nicht Weg von diesem. Egal, wie viel Sie push-und pull-Konstanten k-Wert, du wirst nie Weg von der Tatsache, dass grundsätzlich es ist O(n^2) Skalierung.

Referenz: https://youtu.be/Td6fwuI7F7U?t=4m59s

Ich nehme an, n repräsentiert die Anzahl von Transaktionen? Was bedeutet k darstellen?

Außerdem ist Peter bezog sich auf "Load" Skalierbarkeit? (wikipedia: Die Möglichkeit für ein verteiltes system leicht zu erweitern und Vertrag, Ihre Ressourcen-pool, um Platz für schwerere oder leichtere Lasten oder der Anzahl der Eingänge. Alternativ, die Leichtigkeit, mit der ein system oder eine Komponente geändert werden kann, Hinzugefügt oder entfernt werden, um Platz für wechselnde Belastung.)

+394
Kindaconfused 12.10.2019, 04:11:18

Die Unterzeichnung hash ist unveränderlich, denn das ist genau das, was Sie unterschrieben. Mit der Unterzeichnung hash zu verfolgen-die Transaktion soll sicherstellen, dass Sie sind nicht anfällig für etwaige Angriffe, malleability.

+364
Demaro Create 21.06.2012, 23:12:34

Wer oder was setzt die Transaktionen in blocks, alle zehn Minuten?

Bergleute tun. Tun Sie dies, bevor Sie versuchen zu finden, eine Baustein-Lösung. Das ist der Grund dafür, dass die Bergleute bestehen.

Setzen der Anzahl der führenden 0EN für das Gewinner-hash-drosseln der Geschwindigkeit, mit der die Bausteine und Transaktionen, überprüft werden. Wer stellt diese Zahl?

Das Protokoll definiert , wie Sie es ändern sollte. Jeder Knoten arbeitet die aktuelle Schwierigkeit, unabhängig, und jeder von Ihnen kommt mit der gleichen Antwort.

+306
Kathryn Funk 17.12.2017, 14:24:24

Wenn Sie können, reservieren Sie mehrere IP-Adressen auf einem Rechner (Tipp: Sie können), dann ja, Sie können einem Knoten gebunden, um mehrere IP-Adressen und dienen peers auf alle von Ihnen. Es ist unmöglich zu sagen, ob zwei Knoten, die Sie verbunden sind, sind eigentlich die gleichen Knoten, so dass spielt keine Rolle. Beachten Sie, dass dies nicht hilft das Netzwerk mehr als eine IP-Adresse und einem Knoten.

+277
Saghe 17.07.2019, 21:25:52

Testen, diese weiter fand ich eine Antwort für Sie: mit den aktuellen Einstellungen für lnd, man kann nicht die übertragung eines Betrags, so dass die Blätter eine der Seiten mit weniger als 1% der Kanalkapazität. Dies wird wahrscheinlich verhindern, dass eine Seite, um zu versuchen, sich zu verpflichten, einem alten Zustand, denn die Strafe wäre geringer.

Zum Beispiel, im obigen Fall, wenn die Kanal - Kapazität ist 16777215, und die local_balance ist 370557, dann wird die maximale Höhe möglich zu übertragen ist, 202742, weil 370557-202742 ≃ 0.01*16777215 (es ist nicht genau 1%, wahrscheinlich aufgrund der Gebühren, die müssen berücksichtigt werden).

Ich doppelt getestet, die mit einem Kanal der Kapazität 7310000, und als local_balance 4294965, und wieder meine maximal möglichen Wert zu übertragen ist 73143 ≃ 0.01*7310000 (wieder nicht genau 1% wegen der Gebühren nicht berücksichtigt --amt).

Für den zusätzlichen Wert, würde man denken, es ist fee_per_weight*172 + feerate*amt (Gebühr pro Millionstel übertragen) im Fall des letzten hop, während Sie sich in früheren Hopfen. Dies würde jedoch bedeuten eine höhere Differenz als 143 mSat, oder 42mSat, berechnet werden, in den obigen Beispielen. Ich bin nicht ganz sicher, wie dieser Unterschied nicht zu genau 1% ergibt.

Es hat zu tun mit dem überlauf Bandbreite (die Bandbreite des Kanals, der derzeit verwendet wird, für andere unfertige Strecken). Aber trotzdem bedeutet dies nicht, entsprechen die zahlen genau. Jedoch nur ein Unterschied von ein hundert satoshis ist nichts, aber nur einen Bruchteil von einem cent, so dass es nicht einen großen Wert. Dennoch, ich kann nicht meine finger auf das genaue Berechnung...

+267
setti 18.01.2011, 18:28:23

Block 546 ist das erste mal eine (eigentlich zwei) Transaktion verbringt die UTXO einer Transaktion aus dem gleichen block.

Ist die Reihenfolge wichtig? (Die Transaktion erzeugt, dass der UTXO hat, zu erscheinen, bevor Sie in den block, als die Transaktion, verbringt er)

Ist es heute noch möglich ist?

+217
Cody Vogt 28.04.2016, 05:42:56

Ja, Die gefallen GPU-mining-Unterstützung ab version 3.8 nach oben - Sie brauchen, um 3.7.0, die hat noch und noch funktioniert wie ein Charme (zumindest auf Windows und Linux). Seien Sie vorsichtig, um zu überprüfen, zu einem profitability calculator, ob es sich lohnt es gegeben, zu viele Menschen mit ASICs umgeleitet haben Sie für andere SHA256-powered Münzen, Sie könnten sich nicht auf Ihre Kosten.

Oder Sie können einfach kaufen einige Peercoins in einer exchange und lassen Sie Ihre Kunden und die ganze Zeit verbunden: der Weg der PPC funktioniert, erhalten Sie eine kleine Zinsen auf Ihre Münzen über die Zeit (circa 1% pro Jahr). Oder Sie können einfach kaufen, und nach 90+ Tage (oder sogar 1 Jahr) starten Sie den client und lassen Sie es angeschlossen für ein paar Stunden - Sie würden immer noch verdienen einige risikolose Zinsen, aber weniger, als wenn Sie gelassen hatte den client auf die ganze Zeit, wie besprochen, in-Tiefe in den Antworten auf diese Frage.

+212
ryan1234 02.08.2015, 09:53:34

Die meisten, wenn nicht alle Regierungen, haben eine form der Umsatzsteuer. Was passiert mit bitcoin Wert, wenn Regierungen verbieten bitcoins zur Eindämmung der hinterziehung von Steuern

+211
Max Harper 03.03.2012, 04:46:32

So schön dies ist, was ich gefunden habe bezüglich dieser Frage. Grundsätzlich gibt es zwei verschiedene Wege, um das, was Bibliotheken aufrufen "recid" oder Erholung ID. Die meisten von Ihnen die erste Methode verwenden, aber es gibt einen anderen Weg:

Methode 1:

  • Erfordert nur r und s , so kann es von jedem ausgeführt werden, solange Sie die Signatur und die "Botschaft", unterzeichnet wurde.
  • Es ist so viel langsamer, weil es 3 Skalare Multiplikation und basiert auf Co-Faktor der elliptischen Kurve verwendet, der gesamte Vorgang kann wiederholt werden 2*(h+1) Zeiten, die bis zu 4-mal für bitcoin mit secp256k1 Kurve (99% der Zeit ist es 1 oder 2 mal).

Werden die Schritte erläutert, die in Abschnitt 4.1.6 der SEC:1werde ich nicht wiederholen hier.

Zu finden recid überprüfen Sie die berechneten öffentlichen Schlüssel mit dem öffentlichen Schlüssel oder einen hash davon und Bericht Anzahl der abgelehnten öffentlichen Schlüssel als recid. Zum Beispiel, wenn x=r+(0*, um) und F wurde dann recid=0 und wenn -Q wurde dann recid=1 und so weiter.

Methode 2:

  • Es erfordert volle r oder R=(xR, yR) , so kann es nur getan werden, während der Registrierung (erfordert den privaten Schlüssel).
  • Es ist viel schneller, da keine zusätzlichen Berechnungen. Es muss nur der Wert der Schecks, die sind schnell.
  • Dies ist in der Regel bezeichnet als v in Bibliotheken

byte v = if(R. X > Kurve.N) then 2 else 0) | (wenn R. Y. IsEven dann 0 sonst 1);

Es ist grundsätzlich zu überprüfen, um zu sehen, wenn xR größer ist als die Kurve, um (N) und ob yR gerade oder ungerade ist. Etwas, das nicht vergessen werden sollte ist ein "flip" durchgeführt wird, basierend auf N , und ob s verwendet wurde, in der Signatur oder -s

wenn s > Kurve.N/2 ist, dann ist v^=1 sonst nichts zu tun

** Beachten Sie, dass Sie am Ende berechnen die folgenden:
recid = 27 + v + (wenn komprimiert 4 sonst 0)

+194
iamtoc 27.01.2012, 05:02:29

Ich habe eine Brieftasche auf blockchain.info. Ich möchte, um es zu laden in multibit. Ich habe den text kopiert von der encryped Geldbeutel und speicherte es als Geldbörse.aes.json. Dann versuche ich, es zu laden in multibit. Nach korrekter Eingabe des Passworts erhalte ich die Fehlermeldung "Es wurden fehlende Daten. Zurück zu genesis-block."

Ich habe versucht, das zurücksetzen der blockchain beide "ab dem Datum der ersten Transaktion" sowie im Oktober 2010, die mehr als 2 Jahre vor der Erstellung dieser Geldbörse. Aber ich bekomme immer noch den gleichen Fehler.

Ihre Hilfe wird sehr geschätzt!

+140
Altermundus 15.08.2017, 08:54:12

Aus einer rein monetären Sicht der Unterschied zwischen einer fiat-Währung und Bitcoin, die Bitcoin hat keine zentrale bank (dies war eine Hauptziel von Satoshi Nakamoto, wie wir können, Lesen Sie hier). Eine Zentralbank neues Geld nur durch Druck ist es, die Ursachen der inflation.

Wenn Sie denken, dass der eine fiat-Währung, wo die Zentralbank entscheidet, nicht die Geldmenge zu erhöhen (nicht oft passieren, historisch), es würde ähneln Bitcion (Hinweis: nur aus einer monetären Perspektive, nicht technisch). Aber wenn es Banken oder andere Möglichkeiten, um Kredite gewähren, passieren zwei Dinge. Zunächst gibt es eine erhöhte Nachfrage nach Geld für die Zinszahlung. Zweitens, das Geld, geliehen ist entweder direkt hinterlegt bei einer bank oder genommen, um etwas zu kaufen und dann hinterlegt bei einer bank durch den Käufer. Die bank kann (und wahrscheinlich wird), nehmen Sie dieses Geld, um Gewährung eines neuen Kredits, die wiederum erhöht die Geldmenge.

Wenn die Geldmenge wird erhöht durch Darlehen, es zu decken, die für die erhöhte Geldnachfrage aus Zinszahlungen. Mein co-Gründer und ich führe das Bitcoin-peer-to-peer-lending-Plattform Bitbond.net wo Kredite gewährt werden, aber ohne bank. Einige andere Websites, die im wesentlichen auch die Gewährung von Darlehen. Solche Dienste werden nicht verletzt durch die begrenzte Anzahl an Bitcoins, weil die Kredite erhöhen die Geldmenge ausreichend.

+138
Marissa Brief 21.08.2010, 14:22:28

Ich bin neu in der bitcoin-community, und ich habe ein website, wo ich will zu sammeln, die Zahlungen über Bitcoins oder altcoins.

Für jetzt will ich wissen, dass ich verlagere meine bitcoins von einem wallet auf ein anderes Geldbeutel ohne Zahlung einer Gebühr, wenn ja, wie kann ich das mit meinem begrenzten wissen bitcoin-Netzwerk.

Hier ist das Beispiel meiner situation :-

Ich habe erzeugt eine bitcoin-Adresse, die für mich angerufen MainWallet jetzt habe ich generiert haben zwei bitcoin-Adressen für meine Kunden, das sammeln von Zahlungen wir können zum Beispiel sagen CustomerWallet1 und CustomerWallet2 jetzt, wenn meine Kunden bezahlen für Ihre jeweiligen Bestellungen lassen Sie uns sagen, ich habe 1 BTC auf beide Kunden-wallets kann ich die Verschiebung dieses 1 BTC an meine MainWallet von meinen Kunden wallets ohne irgendwelche miner/Transaktionsgebühr.

Wenn ja, wie kann ich das manuell tun, auf meinem windows-PC.

Bitte beachten : ich habe die privaten Schlüssel für alle Adresse die ich hier generierte.

Dank

+51
KaPaHtun 24.11.2014, 23:44:32

https://github.com/nitinsurana/Litecoin-Bitcoin-RPC-Java-Connector

Es nutzt Htmlunit statt Apache-Http-Bibliothek, die macht es ein bisschen einfacher zu verstehen und zu erweitern.

Habe ich eigentlich geschrieben & getestet für Litecoin für eines meiner Projekte. Aber es wurde erweitert zur Unterstützung von bitcoin und alle RPC-Methoden zur Verfügung stehen.

+10
drho 21.11.2016, 18:14:13

Fragen mit Tag anzeigen