Bitcoincashjs Staub-Ausgang mit 0-Betrag

Ich bin mit bitcoincashjs (Bitcore Gabel) Bibliothek zu machen BCH Transaktion (eigentlich ist es ein Austausch mit ChangeNow-API). Quelle wallet hat nur einen UTXO:

[
{
"Adresse":"bitcoincash:qpde96gh8j9hd9jewzdu6rfme725vpm0mqc2wzyque",
"txid":"422defba3dce33a55bf84650848a2fa971907ec6b6ce156fa414254d2e5b45a4",
"vout":1,
"scriptPubKey":"76a9145b92e9173c8b769659709bcd0d3bcf9546076fd888ac",
"Betrag":0.02880688,
"satoshis":2880688,
"Höhe":531325,
"Bestätigungen":3
}
]

So, dann Baue ich die Transaktion

const bitcoreTransaction = new Bitcore.Transaction()
.aus(unspentOutputs)
 .zu(toAddress, fromFunction(Daten.Menge)[toFunction]())
.Gebühr(fromFunction(Gebühr)[toFunction]())
 .feePerKb(dies.getFeePerKb()) // 4000
.ändern(fromAddress)
.Zeichen(privateKeyForSign);

und überprüfen Sie für die Serialisierung Fehlermeldung, die besagt: Menge Staub entdeckt in einer Ausgabe. Wenn ich debug resultierende tx-Objekt, sehe ich zwei Ausgänge und einer von Ihnen hat 0 Menge. Das überspringen von Staub überprüfen Sie auf dem client stimmt nicht helfen, da es aktiviert ist, wird auf API-Seite bei der Veröffentlichung der Transaktion und der Fehler zurückgegeben.

Irgendwelche Ideen, wie dies zu vermeiden?

+189
kmcurry 23.11.2014, 00:27:29
21 Antworten

Das Buch, das Sie angesprochen haben, ist in der Tat verwirrend. Lassen Sie mich das klarstellen. Nehmen wir an, block1 zu genesis-block. Dann block 2 enthält Daten und in deren Kopfzeile Sie enthält den H(block1). Ähnlich wie block 3, dann enthält seine Daten und H(block2). Jetzt beachten Sie, dass durch das schreiben H(blockn), ich meine der gesamte block und nicht nur die Daten von blockn. So bekommen Sie die Kette.

Jetzt änderungen zu jedem block, sagen block3 wird notwendig, eine änderung in der hash block4, das erfordert eine änderung im block5 und so weiter, bis der Kopf der Liste.

Warum nenne ich diese zuletzt hinzugefügten block als Kopf der Liste ist, weil die Zeiger in dieser Link-Liste ist in umgekehrter Richtung und daher ist genesis-block wird die permanente Schwanz der Liste.

Nachdem dies gesagt, jetzt können Sie verstehen, warum es schwierig ist, zu ändern, einen alten block, wenn die Liste haben werden, groß genug. Deshalb ist in der bitcoin-chain -, wenn ein block bekommt 5 weitere Kinder Hinzugefügt vor es dann Sie gehen davon aus, dass block gültig ist, wie es ist schwer zu berechnen 5 Blöcke schnell in bitcoin Kette.

+992
suncafe 03 февр. '09 в 4:24

Um zu vermeiden, zusätzliche Zahlung, Weiterleitung Hopfen, der beste Weg ist, verwenden Sie Ihre eigenen HD-wallet-Zahlungen. Sie können eine neue Adresse aus, die Sie Brieftasche, jede Uhrzeit und Zahlungen erhalten.

Für Rückrufe die Zahlung können Sie entweder direkt bereitstellen, Elektron server oder services wie Blockchain API v2/ Blockonomics.

+979
AdamInTheOculus 06.05.2011, 09:19:08

wenn jemand errät meine server-und Anmeldeinformationen ein, er/Sie ist willkommen bei mir für meine Geldbörse.

Er/Sie kann auch alle anderen RPC-Befehle. Zum Beispiel, sendtoaddress. Also, wenn Sie Ihre wallet entsperrt ist, können Sie verlieren Ihre Münzen.

+888
Otaku Animelover 28.12.2017, 19:11:32

Ich habe das problem gelöst, gehen Sie wieder zu Windows 10. Bitcoin Core stürzt nicht mehr ab, und mein Knoten hat in der Tat läuft nonstop für Tage.

+873
Janet Collinson 22.08.2011, 00:26:26

Sie können kaufen oder zu verkaufen, bitcoins, indem Sie ein Bankkonto in den USA auf Coinbase.com

+798
bhops 28.05.2014, 13:29:26

Wann und wo wurde der Begriff zum ersten mal? Hat Satoshi Nakamoto Kommentar auf die Namensgebung?

+724
Jack Kessler 23.01.2019, 08:58:27

Ich werde versuchen, Ihre Fragen zu beantworten, die speziell, aber hier ist gut zu Lesen, wie die Bitcoin Stimmen auf upgrades.

1) Die Fragen sind wirklich alle die gleiche Frage: welche BIPs unterstützen Sie? Diese Vorschläge Ihren Weg durch das Bitcoin-Entwicklergemeinde, und einmal eingeführt, kann abgestimmt werden, von den Bergleuten. Also im Grunde kann jeder einen Vorschlag zu machen.

2) Siehe die Antwort zu Frage 1

3) Keine

4) Da die Antwort auf Frage 3 "Nein", diese Frage macht keinen Sinn.

5) Siehe Fragen 3 und 4

EDIT: ich habe die link erklären BIP-Abstimmung zu einer mit weniger Neigung und Meinung, und die ist viel mehr prägnant eine Erklärung.

+661
RodolfoAntonici 02.11.2016, 00:16:30

Ein Bild sagt mehr als 1000 Worte. Siehe Abbildung 6 aus Kapitel 4 des Bitcoin Buch. Die letzten 4 bytes verwendet als Prüfsumme für die Fehlerprüfung. Die version Präfix ist für Bitcoin-altcoin-Gabeln. Finden Sie in der 3. Spalte dieser Tabelle für die Versionen von verschiedenen altcoins.

+614
Squirrelwalker 25.10.2018, 12:14:03

Was genau ist die hohe Gebühr, die Bitcoin-Core ist die Rede? Hat dieser client genau festgelegte Anzahl?

Bitcoin Core ist eine harte Grenze für das, was Sie als eine absurd hohe Gebühr, die 0.1. Andere Knoten-software kann nicht vorschreiben, diese Grenze, oder kann einen anderen Wert für ihn.

Beachten Sie, dass dies nicht Teil der standard-tx Regeln. Es ist einfach eine Prüfung zu beschränken und die Gebühren für eine einzelne Transaktion.

Kann ich eine broadcast-Transaktion programmatisch ohne jegliche Gebühr Einschränkungen wie vorgesehen nutzen, wenn ich benutzerdefinierte client?

Sie können entfernen Sie die Gebühr prüfen von validation.cpp.

Wenn 2 möglich ist, können Hacker die Spam-Angriffe durch festlegen von Gebühren, die niedriger als die aktuelle Untergrenze(0.00001 BTC/kB)?

Sie können ändern Sie einfach die minrelayfee fahne zu gehen unter dem Grenzwert. Es gibt kein flag, um das überschreiben der hohen Gebühr-parameter, so weit ich bewusst bin.

Es gibt viele Knoten im Netzwerk übertragen wird eine hohe Gebühr tx. In der Tat, es gab ein paar Fälle von sehr hohen Gebühren in der Vergangenheit, wie 13.65 BTC, und selbst 200 BTC (das war, bevor die hohe Gebühr check wurde Hinzugefügt, in 2015, obwohl)!

+560
Viktoriya139 03.01.2017, 06:55:46

Heute schickte ich die 1.5 BTC an exchange aber vergaß hinzuzufügen, eine Transaktionsgebühr, die das Qt-wallet hat nicht einmal auffordern mir ein und ich klickte auf ja. Jetzt ist es schon über 2 Stunden und es ist nicht bestätigt, (wie Sie bereits erraten haben).

Ich habe ein bisschen gebraucht, es zu erreichen, den Austausch schnell (ich weiß, meine Schuld), aber jetzt gibt es eine Möglichkeit zur Beschleunigung oder muss ich warten Sie es aus für Tage, um anzukommen am Ziel?

Dank

+518
ranhimfleton 05.07.2012, 06:57:33

Was mir aufgefallen ist, dass die Preise in verschiedenen fiat-Währungen, die auf dem gleichen Markt für den gleichen Krypto-Währung sind anders. Aber was sind die Gründe dahinter? Hat es irgendetwas damit zu tun hat Marktvolumen für den fiat-Währungen? Welche Variablen muss ich wissen, um vorherzusagen, der Unterschied in den Preisen?

Einige Beispiele:

1) Cexio.

BTC/USD: 6286 USD (~4749 GBP)

BTC/GBP: 4787 GBP (~6336 USD)

Preis in GBP tendenziell höher (aktuell sind es +0.8%).


2) Kraken.

BTC/USD: 6263 USD (~4732 GBP)

BTC/GBP: 4743 GBP (~6277 USD)

Preis in GBP tendenziell höher (aktuell sind es +0.2%).


BTC/USD: 6263 USD (703.5 k JPY)

BTC/JPY: 697.2 k JPY (6206 USD)

Preis in JPY tendiert, niedriger zu sein (derzeit ist es -0.9%).


BTC/USD: 6269 USD (~5363 EUR)

BTC/EUR: 5373 EUR (~6280 USD)

Derzeit höheren Preis in EUR (+0.2%). Aber es ändert sich von Zeit zu Zeit. Manchmal höheren Preis in USD. Warum?

+499
Alvin Yen 23.10.2014, 07:07:35

Ich habe eigentlich schon genau das problem. Meine motivation ist zu erreichen, eine etwas andere Wirkung als das, was du fragst nach.

Ich möchte in der Lage zu "bewegen" ein paar Bitcoins an einen anderen hash-Kette, die es Ihnen erlauben werden ausgetauscht, die hash-Kette (wie Bitcoin), und dann würd ich wie der Letzte Halter in der Lage sein zu "re-importieren" die Bitcoins wieder in den regulären hash-Kette. Das Ziel wäre die Schaffung von "side-chains" mit dem schnelleren block-generation mal nützlich für kleinere Transaktionen. (Sie könnte auch "verfallen" nach ein paar Monaten und vergessen werden, verringern Sie die Größe der permanente hash-Kette.)

Aber das grundlegende problem ist das gleiche. Sie müssen die berechtigten Inhaber von ein paar Bitcoins zu hängen, eine Tatsache überprüfbar, nur außerhalb der Bitcoin-hash-Kette. In beiden Fällen wird die Existenz einer Transaktion in einem anderen hash-Kette. (In meinem Fall, eine Bitcoin-hash-Kette, aber nicht die Bitcoin-hash-Kette. In Ihrem Fall, eine andere Währung, die hash-Kette. Aber das Prinzip ist das gleiche.)

Das problem ist, dass der Bitcoin-design erfordert jeder client in der Lage sein zu überprüfen jede Transaktion, die Sie überwachen müssen Münzen, die alle den Weg zurück zu Ihrem Ursprung, um zu bestätigen, Ihre Gültigkeit. Dies bedeutet, dass eine Transaktion muss überprüfbar sein, mit nur Informationen, die jeder client haben sollte -- und das bedeutet, dass nur die Informationen in der Bitcoin block chain.

Dritte könnten diese Informationen in die Bitcoin-hash-Kette. Aber Sie würden darauf Vertrauen, dass Dritte, besiegte den Punkt.

Ich habe damit abgeschlossen, dass keine Lösung möglich ist, es sei denn, jemand hat eine Idee, die Pausen meiner Annahmen. Ich hoffe, das wird passieren, aber ich bin nicht klug genug, um zu denken.

+475
shyrik999 13.09.2018, 04:52:27

Ich baute https://fundhub.org/ für crowdfunding-software, keine Gebühren :)

+398
gulliver 18.05.2015, 14:27:45

Sie versuchen, eine Verbindung zu früheren Kollegen. Jeder Knoten unterhält eine Datenbank, in der peers.dat - Datei mit allen Kollegen hat es gesehen, zusammen mit, ob Sie zuverlässig sind oder nicht.

Einmal angeschlossen an einige Kollegen (ob durch Rückbezug auf die zuvor gesehen, oder peers Quelle, aus der dnsseeds), ein Knoten wird auch ständig peer exchange Informationen mit anderen peers, so dass Sie entdecken können zusätzliche neue/unsichtbare Knoten, wie Sie auftauchen.

+387
Ovons movingrecycling 03.02.2019, 15:38:58

Ich ausgestellten dieser Transaktion auf testnet (für die Hausaufgaben später gelöst mit einem anderen Skript). python-bitcoinlib überprüft die Transaktion, aber wenn ich es abschicken zu blockcypher es wird mit Fehler abgelehnt:

{"error": "Fehler beim bestätigen der Transaktion: Error running script für Eingang 0 Referenzierung e96a1ae8aaff2920601fdfd8cb12289d77bad2a4d595e2093d9d828107023705 bei 0: - Skript wurde NICHT erfolgreich verifiziert.."}

Meine erste Transaktion scriptPubKey: (Transaktions-hash: e96a1ae8aaff2920601fdfd8cb12289d77bad2a4d595e2093d9d828107023705)

 [2, j1_public_key, j2_public_key, j3_public_key, 3, OP_CHECKMULTISIGVERIFY,
 1, my_public_key, p2_public_key, 2, OP_CHECKMULTISIG]

Und die fehlgeschlagene Transaktion scriptSig ist:

[0, my_sig, 0, sig_j1, sig_j2]

und fehlgeschlagenen Transaktion in hex ist:

01000000010537020781829d3d09e295d5a4d2ba779d2812cbd8df1f602029ffaae81a6ae900000000dc0047304402206558714362318ff5aa05bd1849b82726f4d3ab2545bc15379b73de1fca4ef6c002206ea00f130ea54d6e85f233a3d031bdf03d35a10319362fe41866d5c59c7d7b1b0100483045022100b9daea5e3da41e305b2a283825c45c7eef169364413af043115797124033f1ce022004ae32ecab1937fac90e904be684f893ccdd1d925d6b898aef7f275dcb9791ea01483045022100e54c2f805c5ba5025c375053c4604910a30e5bf86eb16a5c9ba35cd9f817aef802201f92da76cf31562ae28e527bd537ecf930139224a8d91d10886383958aadd6bd01ffffffff01b8ed0400000000001976a914a8305457f8965a5a60a8ebe1968fb9019b42fe6c88ac00000000
+385
user101650 11.01.2013, 03:04:48

Nur GPU-Angelegenheiten. In dem link, den Sie sehen können, R9-Serie, performance-charts für LTC mining

http://www.youtube.com/watch?v=m_0j5ntR4w0

+330
rvroo 11.08.2019, 03:10:14

Zum Beispiel, wenn ich im Besitz 51%+ der Netzwerk -, abgebaut 1000 Blöcke privat und der rest des Netzes wurde im block 990 und dann habe ich die Sendung der Daten würde jeder wechseln, um meine Kette und würde die Letzte 990 Blöcke verwaist werden?

Dies kann sicherlich passieren. Es gibt kein limit, wie viele Blöcke können neu organisiert werden. Während jedoch der Knoten wird noch die Aktion ausführen, rollback für diese 900 blocks und ersetzen Sie Sie mit den 1000 privat abgebaut lieben, es wird eine Menge von Warnungen, wenn dies geschieht wie Bitcoin Core (die am häufigsten verwendete Knoten-software) hat die Prüfungen für die große Arbeit, die blockchain Reorganisationen. Diese Prüfungen werden die trigger-Warnungen, wenn es reorgs von mehr als ein paar Blöcke, so dass die Knoten-Betreiber kann Maßnahmen ergreifen, wenn notwendig.

+191
lalalala 29.06.2015, 20:46:14

Vor kurzem baute ich eine Website, die ermöglicht den Kauf von Gegenständen mit bitcoin, auch paypal und Kreditkarten. In Tests habe ich schon davon beeindruckt, wie unterschiedlich die Erfahrung der online-Kauf mit bitcoin ist im Vergleich zu herkömmlichen Methoden. Es dauert viel länger, ab dem Zeitpunkt der Bestätigung des Verkaufs an die "Annahme" der Zahlung (der Punkt, nach dem der workflow bewegen kann auf Erfüllung). Es nimmt auch mehr user-input und action. Es ist schwierig, auf der Oberfläche der es, zu verstehen, wie dies kann der Fall sein beim übertragen von Wert von einer person auf die andere wirkt so viel schneller und einfacher als herkömmliche alternativen.

Es fällt mir auf, dass ein Teil der Differenz kann durch grundlegende Unterschiede in dem was stattfindet. Ist eine Kreditkarten-Transaktion direkt Analog zu einem bitcoin Transaktion, oder stattdessen macht Sie eine Kreditkarte Transaktion nur eine bitcoin-Transaktion als zusammen mit den bank-und sonstigen transfers, die an beiden enden davon? Gibt es noch andere Unterschiede oder überlegungen zu machen, beim Vergleich der beiden Erfahrungen prozedural? Ich bin mir nicht sicher.

Coming up mit stark Analog die Schritte zwischen diesen beiden Verfahren der übertragung von Wert von einem Käufer an einen Verkäufer enthüllen könnte Würgen Punkte/Bereiche, in denen Verbesserungen für Point-of-Sale mit bitcoin oder markieren Sie den differenziellen Wert der bitcoin Ansatz.

Also, was sind die analogen Schritte zwischen den beiden Erfahrungen?

+173
Arnas Sahad 10.01.2016, 12:39:03

Wie Sie sehen können hier die neueste version ist nun die stabilere version. Als die letzten änderungen sind für bug-fixes, etc.

Dies ist eine neue minor-version, einschließlich der verschiedenen bugfixes und performance-Verbesserungen, sowie aktualisierte übersetzungen.

Wenn Sie den download eine Vorherige version diese version enthält möglicherweise diesen Fehler behoben.

+134
homam 18.02.2015, 21:55:23

1) Was ist das "neutrino" refered oben?

Neutrino ist eine Ergänzung zu den Bitcoin-P2P-Netzwerk-Protokoll, welches ermöglicht mehr private SPV Brieftaschen. Wie es funktioniert ist, dass Knoten wird eine "filter" für jeden block und relais dieser Filter für die SPV-wallets. Diese SPV wallets können dann prüfen, wenn alle Ihre Adressen erscheinen in dem filter. Wenn Sie es tun, Sie können verlangen, dass der gesamte block und ziehen Sie die Transaktionen, die Sie wollen aus diesem block. Dieses Protokoll ist beschrieben in Bulletin 157 , und die filter-Konstruktion in Bulletin 158.

2) Wann ist es erwartungsgemäß voll arbeiten , auf das, was ist die Zeitleiste ab?

Es ist auf Unterstützung angewiesen sein verschmolzen in voller Knoten-software. Dies ist ein Netzwerk-Protokoll-Funktion und unterstützt werden müssen, voll von Knoten. Die derzeit vorherrschende voller Knoten-software im Einsatz auf dem Bitcoin-Netzwerk ist Bitcoin Core. Es gibt aktive und kontinuierliche Arbeit, um BIP 157/158 in Bitcoin Core. Es gibt andere software, mit der Unterstützung der BIP 157/158, aber Sie sind nicht weit verbreitet. Es gibt keine aktuellen Fahrplan oder in der timeline für BIP 157/158 Aufnahme in Bitcoin Core.

3) Und in welchem Umfang/wie würde diese "neutrino" ändern Sie das "Spiel", wie oben angedeutet? Welche Auswirkungen hätte es auf die Art und Weise der Blitz funktioniert?

Neutrino wäre es möglich, Lightning Netzwerk-software auf schwächere Geräte, wie Mobiltelefone. Es macht es möglich, nicht auf die Bitcoin-blockchain oder nicht zu empfangen, jeden einzelnen block und die Transaktion doch noch ziemlich sicher sein, der Sicherheit des Bitcoin-und Blitzschutz-Kanäle. Natürlich ist es nicht so sicher wie Ihr eigenes voller Knoten, aber bei Geräten, wo dies nicht möglich ist, BIP 157/158 würde es möglich machen, deinen eigenen lightning-wallet, ohne Sie vollständig vertrauenden Dritten.

+67
FirstName 17.01.2017, 15:24:08

Ja, Sie haben im Grunde bekam es.

Über mehrere Ausgänge, die Lösung ist ganz einfach. Ihre Eingabe, anstatt nur die Angabe einer Transaktion zu verbringen, gibt stattdessen einen bestimmten Ausgang einer Transaktion. Also anstatt Ihre Eingabe und sagt: "ich verbringe Transaktion abc123", es sagt "ich bin der Ausgaben Ausgabe #2 der Transaktion abc123".

Zu jeder vollen Knoten im Bitcoin-Netzwerk unterhält eine Datenbank von unverbrauchten Transaktion Ausgänge oder UTXOs. Es ist indiziert durch Transaktions-ID und output-Nummer. Also, wenn ein Knoten sieht Ihre Transaktion, wird es daneben Transaktion abc123 Ausgabe #2 verbrachte. Ausgänge #0 und #1 der gleichen Transaktion haben Ihre eigenen, unabhängigen Einträge in der Datenbank und so Ihren Mitgliedstaaten unverändert bleiben; haben Sie nicht ausgegeben worden sind vorher, Sie können ausgegeben werden von einigen späteren Transaktion.

+59
Russ Bradberry 21.11.2015, 08:26:32

Fragen mit Tag anzeigen