Gewusst wie: empfangen von bitcoins in Ledgers Leben mit Ledger nano-X?

Ich würde Sie gerne meine bitcoins von localbitcoins.net zu meiner Ledger nano-x -wallet. Aber ich kann nicht das bictoin-Adresse, so kann ich nicht die Fonds erhalten, seit Sie die Taste, um die Fonds erhalten, ist Grau in Abbildung 1: Ledger live-app die Steuerung der Finanzbuchhaltung in Android. Beachten Sie bitte, Ledger-Erste Schritte Artikel über Erhalten crypto-assets. Er sagt, dass es sein sollte "transact Registerkarte" in der Anwendung, aber ich kann nicht finden, wie eine Registerkarte. Ich sehe nur "Übertragen" -Registerkarte, aber dort "Senden" und "Empfangen" sind Grau, so dass Sie kann nicht angeklickt werden und sind nicht zugänglich (Abbildung 1).

Abbildung 1: Registerkarte Transfer Erhalten aber nicht zugänglich ist

enter image description here

Ich konnte nicht die Adresse zum empfangen von bitcoins (wie in dem video hier für das senden von bitcoins von localbitcoins zu Ihrer Brieftasche), so kann ich nicht senden von bitcoins an meine Ledger.

Wie erhält man bitcoins mit Ledgers Leben in Ledger-live-x?

Handy: Oneplus 6T, neueste OS
App von Ledger Live: neueste

+662
IvanMushketyk 12.10.2011, 07:34:56
28 Antworten

Eine alte sysadmin-Technik ist Ausweichen nicht-triviale Fehler eher als tackle Kopf.

Download cgminer und probieren Sie es aus. Nur eine Instanz der Bergarbeiter unterstützen diese Karten, jeder von Ihnen kann einzeln übertaktet und die Temperatur gesteuert.

Es könnte einige seltsame spin-lock problem in der AMD-software, die ruinieren Ihre Leistung. Die Treiber-und SDK-version benutzt du, BTW? Welches OS?

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

Es gibt eine Artikel-Serie auf medium von rusty Russell (einer der wichtigsten Autoren der Schrauben)

Der erste Teil kann hier gefunden werden https://medium.com/@rusty_lightning/the-bitcoin-lightning-spec-part-1-8-a7720fb1b4da und die nachfolgenden Teile sind verlinkt von dort.

Diese Artikel-Serie ist ab Ende 2016 und auch etwas veraltet.

Ich habe vor kurzem angefangen ein Buch zu schreiben über die lightning-Netzwerk an https://github.com/renepickhardt/The-Lightning-Network-Book das Ziel ist es, die Lücke. Aber das Buch ist nicht angekommen bei der Beschreibung der Schrauben noch.

Auf einem extrem hohen Niveau, ich kann Ihnen sagen, dass die Schrauben haben verschiedene Komponenten :

  • die peer-2-peer-Protokoll ( Nachrichten und Klatsch)
  • das transport-Protokoll (onion-routing und die SPHINX)
  • Bau der Zahlung von Kanälen über RSMCs
  • Transaktionen (RSMCs und HTLCs)
  • Zahlungsabwicklung über Rechnung

Während die Struktur der Bolzen ist klar, Sie scheinen immer noch zu verstrickt zu diesen Themen und in der Tat ein high-level-übersicht oder in der "Architektur" zu fehlen scheint. Zum Beispiel hatte ich eine harte Zeit zu verstehen, dass der transport-Schicht und der HTLCs sind zwei sehr verschiedene Dinge. Sachen wie das gossip-Protokoll und das transport-layer sind ziemlich viel nicht erwähnt wird in dem white paper

+955
Daniel Bidulock 12.02.2018, 12:09:02
Weitere Antworten

Verwandte Fragen


Ähnliche Fragen

Sorry, wenn dies schon gefragt wurde; Stack Exchange nicht diese genaue Frage in der "related" - Feld.

Sagen wir, ich habe zwei bitcoin-wallets. Jemand sendet wallet 1 eine Transaktion von 0,5 BTC.

Was ich mich Frage ist, wenn ich die Transaktion und eine neue erstellen, wo ich bin senden 0.4 BTC an diese Adresse in der Brieftasche 1 mit der original 0,5 BTC (die oben in der "receive" Daten in der UTXO), und senden den 0,1 BTC ändern, um eine Adresse in der Geldbörse 2.

Ich würde denken, das ist möglich, da die Adresse in der Geldbörse, 2 verwiesen wird, als Teil der zweiten Transaktion hätte dann die Mittel zur Verfügung, sobald die Transaktion bestätigt, der in der block-Kette.

Ich weiß nur nicht genug über Bitcoin-code, um zu wissen, für sicher, ob dies nicht dazu führen, dass einige Art von Schluckauf, wie meine Allgemeine Konzeption der "Transaktion ändern", ist, dass eine lokale Adresse, um die Brieftasche, in diesem Fall wallet-1, erzeugt wird für die Erfassung der Wandel von der Transaktion zu vermeiden Mehrausgaben, die in der Transaktion Gebühren.

Mit einer separaten Geldbörse als Anschrift die änderung kann auch brechen etwas in den code, die Konten für die Bilanz der ersten wallet.

Das ist, warum ich brauchen einen Fachmann, mir zu helfen, hier. Zu viele unbekannte Ergebnisse für mich!

+933
Evanbyang 02.05.2011, 04:42:55

Konfigurieren Sie etwas swap-Speicher, dann läuft wahrscheinlich out-of-memory, check mit dmesg auf die Instanz, für weitere Nachrichten.

+929
RiceGuy 14.10.2011, 08:41:39

Ich weiß wirklich nicht, welche Art von Metriken sind verfügbar für die Messung der Größe der Bitcoin-community, aber ich interessiere mich für jede Metrik, die angibt, wie viele Nutzer von Bitcoins, die es gibt. Einige Beispiel-Metriken könnten sein:

  • Anzahl der registrierten Benutzer auf Foren
  • Anzahl der wallets
  • Nummer des wallets mit bitcoins in Ihnen
  • Anzahl der nicht-mining-clients
  • Die Anzahl der Installationen der Standard-client

Es wäre sehr gut, um zu sehen, diese zahlen in Bezug auf einige zahlen, wie die Größe der BitTorrent-community (oder vielleicht die alte Napster-community) oder was auch immer, um ein besseres Verständnis der Zahl, dies ist aber nicht notwendig.

+819
martavays 10.01.2010, 14:00:06

Alle Blöcke gebaut auf einen ungültigen block sind ebenfalls ungültig. Wenn eine Kette mit mehr Arbeit überholt das mit den ungültigen block, der block auf der Oberseite ist immer noch ungültig und wird ignoriert, von allen anderen Knoten.

+806
AntonK 20.10.2013, 22:20:43

Es variieren kann, sowie ein Problem mit der app.

Um zu testen, ob Ihr den-app oder der öffentlichen/privaten Schlüsseln generieren Sie einen qr-code mit einem externen qr-generator wie http://barcode.tec-it.com/en

  • Wenn Sie nicht in der Lage, sweep/scan der neu geschaffenen "paper-wallet" dann seine ein Problem mit der app.

  • Ein weiteres Problem könnte sein, die Mittel noch nicht verifiziert worden sind, durch andere Knoten.

  • Wahrscheinlichkeit vermuten, dass Sie verpasst die eingegebene Adresse oder Schlüssel. (Es passiert mehr als man denkt.)

Überprüfen Sie diese Dinge. sobald Sie sicher sind, dass Ihr nicht diese aktualisieren Sie Ihren Beitrag mit mehr info.

+803
fetus slayer 29.11.2012, 18:18:50

Ubuntu 13.10 & amd-catalyst-13.4-linux-x86.x86_64.zip

xorg.conf erstellt

# aticonfig --initial -f --adapter=all

Danach, ich ändern Sie es mit "weiter" /etc/X11/xorg.conf

Section "Module"
 Deaktivieren der Option "dri"
 Deaktivieren Sie "dri2"
EndSection

Start phoenix:

$ ./phoenix.py bitcoin_deepbit_gpu.cfg
[10/28/2013 02:30:08] Willkommen im Phoenix v2.0.0
[0 Khash/s] [0 Angenommen] [0 Abgelehnt] [UNTERBROCHEN]X-server gefunden. dri2-Verbindung fehlgeschlagen!
Versuch Sie zu öffnen, direkt...Device open failed

Start cgminer:

$ ./cgminer --scrypt -T --url stratum+tcp://stratum.coinex.pw:9000 --user user --pass --no-submit-abgestanden-Warteschlange 4 --scan-time 1
 [2013-10-28 02:41:21] Begann cgminer 3.6.6 
X-server gefunden. dri2-Verbindung fehlgeschlagen! 
Versuch Sie zu öffnen, direkt...Device open failed

Ich habe teilweise lösen dieses Problem mit --gpu-platform 0:

$ ./cgminer --scrypt --gpu-platform 0 -T --url stratum+tcp://stratum.coinex.pw:9000 --user user --pass --no-submit-abgestanden-Warteschlange 4 --scan-time 1
 [2013-10-28 02:43:12] Begann cgminer 3.6.6 
 [2013-10-28 02:43:12] Probing für ein alive-pool 
 [2013-10-28 02:43:17] Pool 0 Schwierigkeitsgrad geändert, 64 
 [2013-10-28 02:43:17] Netzwerk-diff auf 0 gesetzt 
 [2013-10-28 02:43:17] Schicht aus pool 0 detected new block 
 [2013-10-28 02:43:19] Found block for pool 0! 
 [2013-10-28 02:43:21] Found block for pool 0! 
(5s):7.156 K (avg):18.36 Kh/s | A:0 R:0 HW:0 WU:35.4/m
....

Aber was ist es?

Versuch Sie zu öffnen, direkt...Device open failed

Warum versucht es zu öffnen, Gerät deaktiviert Modul-Direktive in der xorg.conf?

Und, wie Sie angeben, Plattform für phoenix miner?

Es ist nur eine option in phoenix config:

name = " GPU 0 #Der name, um anzuzeigen, das Gerät als (Standard ist Geräte-ID, wenn nicht angegeben)

Es hilft nicht.

+766
Juli SN 14.02.2017, 17:57:11

Sie können den import einer alten unkomprimierte Schlüssel. Es wird funktionieren gut. Getnewaddress immer verwendet Skripte mit 'compressed' - Tonarten. BIP-143 (segwit) Stil-Eingänge auch die Komprimierung erfordern.

Der kleinere Schlüssel-format Ergebnisse in kleineren Transaktionen, und, wo es erforderlich ist und nicht nur optional auch einfacher code.

+725
aka 04.07.2011, 23:20:59

Wie viele Münzen bewegt haben Bcash Kette da die Gabel? Nicht jede web-veröffentlichen Sie ein Diagramm Verfolgung dieser Wert?

Es wäre interessant zu sehen, wie funktioniert es vergleichen mit einer aktualisierten version der Grafik unten (Quelle), um zu überprüfen, wie viele alte Münzen verschoben wurden, zu behaupten, BCH-abgesehen von denjenigen, die split von den Börsen.

enter image description here

+719
Rene Wooller 31.05.2019, 05:42:44

Wenn Sie bereits synchronisiert, man könnte ein einfaches Skript mit blocknotify=script.sh in Ihrem bitcoin.conf zu überprüfen, ob ein höher nummerierten block-Datei, und wenn eine gefunden wird, bewegen Sie den niedrigsten und die neueste in.

Aber ein besserer Weg wäre wohl, tun dies auf der block-Ebene mit einigen fs/raid Abstraktion, oder eine inotify-watcher, wenn Sie haben, es zu tun auf der Datei-Ebene.

+617
awalllllll 19.02.2018, 14:01:52

Ich möchte jeden Tag zu einem festgelegten Zeitpunkt erhalten Sie eine Benachrichtigung auf mein iPhone mit dem aktuellen Bitcoin-Wert in Euro. Wie kann ich diese habe?

+539
Ajinkya Wankhade 07.07.2018, 18:05:47

Ich weiß nur über einen exchange sicher, aber ich bin ziemlich zuversichtlich, dass dies ein weit verbreitetes Konzept und gilt für viele andere Börsen auch.

https://www.bitcoin.de verwendet candlestick-charts. Diese Diagramme existieren in den traditionellen Märkten zu. Da, ein candle-stick in der Regel ist 1 Tag. An diesem Tag ist unter anderem eine öffnung und eine Schließung Preis. Beachten Sie, dass der Schlusskurs 29. Dezember muss nicht sein, die öffnung Preis von 30. Dezember und die öffnung Preis von 29. Dezember nicht notwendigerweise der Schlusskurs des 28. Dezember, in solchen Märkten. In der Tat, es ist ziemlich unwahrscheinlich, dass diese die Preise sind die gleichen.

https://www.bitcoin.de immer trades. Ihre Leuchter sind anders.

Erstens, Sie haben unterschiedliche Größen, je nach der Länge der Zeit die Abbildung zeigt. In der 48-h-Diagramm, Sie sind nur 15 Minuten weit. In der 1 Y-Diagramm, Sie sind so breit wie in alten Märkten: 1 Tag. Im 5-Y chart, Sie sind eine Woche breit.

Außerdem, der Schlusskurs eines candlesticks ist immer der gleiche wie der Eröffnungskurs des nächsten. Dies ist, weil Sie einfach die Scheibe mal auf die Uhr (00:00, 00:15, 00:30, etc.) oder einen Kalender (Dezember 29. Dezember 30. Dezember 31., etc.). In jeder Zeitscheibe Eröffnungs-Preis ist der Preis, wenn die Zeitscheibe begann und seine Schließung Preis ist der Preis, wenn es zu Ende war. Weil die eine Zeit, die Scheibe beginnt Recht, wenn der eine, bevor es endet, und der Preis ist vereinfacht eine Funktion der Zeit, die öffnung Preis von einer Scheibe immer der gleiche sein muss als der Schlusskurs des vorhergehenden.

+482
anniehswong 10.04.2018, 15:47:49

Seit 0.12 RPC verwendet eine "zufällige cookie":https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.12.0.md#rpc-random-cookie-rpc-authentication für die Authentifizierung, aber es ist nicht klar, wie Sie diese Cookies beim Zugriff auf die RPC.

Ich bin versucht, Dinge wie die unten, ohne Erfolg (401 Unauthorized)

$Anfrage = array(
 'http' => array(
 'method' => 'POST',
 'header' => "Content-type: application/json\r\n".
 "Cookie: __cookie__=contentsOf.cookie',
 'content' => $Params
)
);
if (!$Response = file_get_contents(BITCOIN_RPC_URL, false, stream_context_create($Anfrage))) {
 return false;
}

Jedes Beispiel, das ich online finden, nutzt der user:pass-Authentifizierung, ich habe noch zu sehen, ein Beispiel für die Verwendung von cookies.

+387
MiniRAT 25.08.2010, 15:46:14

Ich habe einige echte Probleme beim einrichten der Blockchain API auf meinem server

First off, ist es möglich, um es zu testen offline mit lokalen host?

Zweitens, wie kann ich es so einrichten, wenn man einen tx erfolgt über meine Website, es läuft eine php-Funktion zum aktualisieren einer Datenbank mit bestimmten Werten

Hat jemand erfolgreich die API vor, und wenn ja, könnten Sie bitte mir erklären, wie ich es tun würde

Dank

+362
Shubham Kumar 01.08.2017, 15:21:38

Wo kann man den Speicherort der Glut blockchain auf Windows und Linux?

+357
Paul Nobles 17.07.2014, 09:04:18

Ich weiß, dass bitcoin verwendet hashcash als PoW-Algorithmus, Astraleums verwendet EtHash und Litecoin Scrypt verwendet. Aber ich habe nicht gefunden, überall dort, wo der PoW-Algorithmus im BitCoin-Cash, tut es nutzt hashcash auch?

+342
Noor Muhammad 16.02.2017, 10:26:31

Ja, das ist möglich. Vorausgesetzt, dass Sie die erste erstellt die Brieftasche auf Ihrem iOS-oder darauf zugreifen möchten, die auf macOS:

1) Öffnen Sie die CoPay auf iOS

2) Gehen Sie auf "Einstellungen"

3) Unter "Bitcoin-Wallets" es gibt "in der Persönlichen Wallet", klicken Sie darauf

4) Wählen Sie "Backup" unter "Sicherheit"

5) notieren Sie die 12-Wörter Saatgut

Auf Ihrem macOS:

1) Wenn Sie gerade installiert haben, CoPay, es wird Sie bitten, für Samen. Sie können geben Sie es ein, und dann bist du fertig.

Wenn Sie bereits CoPay installiert:

1) Drücken Sie "+" neben "Bitcoin-Wallets"

2) Wählen Sie "Import Wallet"

3) Geben Sie Ihre Wiederherstellungs-Samen

+326
thirteenth13 22.07.2011, 05:23:54

Ich möchte nur wissen, ist es Betrug oder legit?

Ich habe es nie benutzt. Aber: Es ist nicht rentabel. Großen mining-pools verwenden ASICs Minen von bitcoins. In der Vergangenheit benutzten die Menschen GPU. Aber mining in Ihrem browser bedeutet, dass mining mit der CPU, die ist völlig unrentabel, da Sie wahrscheinlich nie die erste sein, die mit einem hash-Wert von 20 Nullen, aber Sie werden die Energie verschwenden.

Ist es möglich, den Bergbau über Javascript?

Ja. Es ist Coinhive. Bieten Sie ein Skript, das Sie implementieren können, in Ihre website. Und wenn ein Benutzer mit aktiviertem Javascript diese Website besucht, der Bergbau beginnt. Aber es ist nicht bitcoin, was abgebaut wird. Es ist Monero , weil es viel mehr rentabel.

+321
ZerothHokage 14.11.2013, 04:24:19

Ich bin versucht zu testen, TestNet3 und ich habe ein Schlüsselpaar erstellt mit Hilfe von Java-crypto-Bibliothek.

Der private Schlüssel ist 23F847360E1EB348A212F443C633058080A8EB9F05AD132F8B82D51FE672EADD und der öffentliche Schlüssel ist 044C8478229D9A139803AB0889617ECB6421191F3D891D0817D6A6CFD43BCBAA206FA9CE781E1C48764D8D1D0CE58DC6DE76C1B5F97CBCB5C9F01960DEAD3E192F mit der komprimierten form als 024C8478229D9A139803AB0889617ECB6421191F3D891D0817D6A6CFD43BCBAA20.

Ich leite ein TestNet-Adresse, was in msmVKMjAz7UdJSfkpvv3z4RMbt7pxocqzw und beschlossen, es zu signieren einer Transaktion hash C46A8842187BB3642463B020D63462800FFB45791284404A965EF027D9F3B473 mit SHA256withECDSA - Modus.

Die folgenden R und S wird erzeugt, sobald der Unterschrift:

Komponente R: 038646375A34E4DA028B44362D1745870D019782245EF094AA788D17FD69F1D3
Komponente S: 00F29287B9A8913A9D751ECB33B32EEEB5614BAA32CF714811E29AE07F0886D4E7

Mein signieren von code ist mit BouncyCastle als Java-JCE-provider, wie unten gezeigt:

System.aus.println("BC-Zeichen Beginnen");
System.aus.println("=============");
X9ECParameters CURVE_PARAMS = CustomNamedCurves.getByName("secp256k1");
ECDomainParameters KURVE = new ECDomainParameters(CURVE_PARAMS.getCurve(), CURVE_PARAMS.getG(), CURVE_PARAMS.getN(), CURVE_PARAMS.die getH());
ECDSASigner signer = new ECDSASigner(neue HMacDSAKCalculator(neue SHA256Digest()));
ECPrivateKeyParameters privKey1 = new ECPrivateKeyParameters(((ECPrivateKey) keys[0]).getS(), KURVE);
System.aus.println("die Kurve A Koeffizient (a):" + privKey1.getParameters().getCurve().getA().toBigInteger().toString(16));
System.aus.println("Kurve B-Koeffizienten (b):" + privKey1.getParameters().getCurve().getB().toBigInteger().toString(16));
System.aus.println("Kurve G Generator X (Gx):" + privKey1.getParameters().getG().getAffineXCoord().toBigInteger().toString(16));
System.aus.println("Kurve G Generator Y (Gy):" + privKey1.getParameters().getG().getAffineYCoord().toBigInteger().toString(16));
System.aus.println ("- Kurve, Um (n): "+ privKey1.getParameters().getCurve().getOrder () ist.toString(16));
System.aus.println("Kurve Cofaktor (h):" + privKey1.getParameters().getCurve().getCofactor().toString(16));
System.aus.println("Private Key In Use:" + ((ECPrivateKey) keys[0]).getS().toString(16));
signer.init(true, privKey1);
BigInteger[] Komponenten = Unterzeichner.generateSignature(eingabe1);
System.aus.println("Komponente R:" + BinUtils.toHexString(components[0].toByteArray()));
System.aus.println("Component S:" + BinUtils.toHexString(components[1].toByteArray()));
String compStrs = BinUtils.toHexString(components[0].toByteArray()) + "+" + BinUtils.toHexString(components[1].toByteArray());
System.aus.println("Komponenten" String: "+ compStrs);

Die Ausgabe:

BC-Zeichen Beginnen
=============
Die Kurve A Koeffizient (a): 0
Kurve B-Koeffizienten (b): 7
Kurve G Generator X (Gx): 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Kurve G Generator Y (Gy): 483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
Kurve Um (n): fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
Kurve Cofaktor (h): 1
Private Key In Use: 23f847360e1eb348a212f443c633058080a8eb9f05ad132f8b82d51fe672eadd
Komponente R: 038646375A34E4DA028B44362D1745870D019782245EF094AA788D17FD69F1D3
Komponente S: 00F29287B9A8913A9D751ECB33B32EEEB5614BAA32CF714811E29AE07F0886D4E7
Komponenten-String: 038646375A34E4DA028B44362D1745870D019782245EF094AA788D17FD69F1D3+00F29287B9A8913A9D751ECB33B32EEEB5614BAA32CF714811E29AE07F0886D4E7
=============

Wenn ich mit BitcoinJ zu übertragen meine Transaktion auf dem TestNet, bin ich immer die folgenden Fehler:

org.bitcoinj.core.ScriptException: Skript resultiert in einem nicht-true, stack: []
bei org.bitcoinj.script.Script.correctlySpends(Script.java:1606)
bei java.lang.Thread.run(Thread.java:744)
Ausnahmefehler beim Versuch zu genehmigen: 
java.util.gleichzeitige.ExecutionException: org.bitcoinj.core.RejectedTransactionException: Reject: tx e374f230fe59b91ff88cc81768c10cb0d3b651079383da4dcfa4ef54372dcbd7 Grund für 'zwingend erforderlich-script-verify-flag-fehlgeschlagen (die Unterschrift muss null sein für die fehlgeschlagene Prüfung(MULTI)SIG-Betrieb)' (16)
bei com.google.common.util.gleichzeitige.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
bei com.google.common.util.gleichzeitige.AbstractFuture$Sync.bekommen(AbstractFuture.java:286)
bei com.google.common.util.gleichzeitige.AbstractFuture.bekommen(AbstractFuture.java:116)
Verursacht durch: org.bitcoinj.core.RejectedTransactionException: Reject: tx e374f230fe59b91ff88cc81768c10cb0d3b651079383da4dcfa4ef54372dcbd7 Grund für 'zwingend erforderlich-script-verify-flag-fehlgeschlagen (die Unterschrift muss null sein für die fehlgeschlagene Prüfung(MULTI)SIG-Betrieb)' (16)
bei org.bitcoinj.core.TransactionBroadcast$2.onPreMessageReceived(TransactionBroadcast.java:102)
bei org.bitcoinj.core.Peer.processMessage(Peer.java:461)
bei org.bitcoinj.core.PeerSocketHandler.receiveBytes(PeerSocketHandler.java:184)
bei org.bitcoinj.net.ConnectionHandler.handleKey(ConnectionHandler.java:223)
bei org.bitcoinj.net.NioClientManager.handleKey(NioClientManager.java:86)
bei org.bitcoinj.net.NioClientManager.run(NioClientManager.java:122)
bei com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60)
bei com.google.common.util.gleichzeitige.Callables$3.run(Callables.java:95)
bei org.bitcoinj.utils.ContextPropagatingThreadFactory$1.run(ContextPropagatingThreadFactory.java:49)
... 1 mehr
+305
Ayan Paul 12.03.2011, 01:38:18

Hat die Bibliothek einen Ordner "Dokumentation", plus Beispiele zu Booten! Sie sollten immer prüfen, ob für diese ersten :-)

Wie bereits im Kommentar oben, sollten Sie überprüfen Sie Ihre Transaktion Schöpfung Verfahren, wie die scriptSig s sind nicht korrekt für eine nicht signierte Transaktion - Sie sollte nur leer sein - obwohl die folgenden arbeiten sollten, unabhängig.

Zuerst bei der Unterzeichnung, der immer TransactionOutput zur Verfügung.

Da Sie die scriptPubKey unbeabsichtigt, schrieb ich Folgendes, das sollte funktionieren, wenn Sie ersetzen Sie Ihren privaten Schlüssel. In der Regel werden diese Suchvorgänge werden mit Hilfe eines API/bitcoind Instanz, etc.

Für nicht-segwit Transaktionen, die Sie speichern können, nur die scriptPubKey (beachten Sie, dass ich nur 0 für den Betrag in der TxOut), aber für segwit, Sie haben, füllen Sie die Menge richtig ein.

verwenden BitWasp\Bitcoin\Script\ScriptFactory;
verwenden BitWasp\Bitcoin\Key\PrivateKeyFactory;
verwenden BitWasp\Bitcoin\Transaction\TransactionFactory;
verwenden BitWasp\Bitcoin\Transaction\Factory\Unterzeichner;
verwenden BitWasp\Bitcoin\Transaction\OutPoint;
verwenden BitWasp\Bitcoin\Utxo\Utxo;
verwenden BitWasp\Buffertools\ - Puffer;
verwenden BitWasp\Bitcoin\Transaction\TransactionOutput;

/** @var Utxo[] $utxos */
$utxos = array_map(function (array $utxo) {
 list ($txid, $UA, $scriptPubKey) = $utxo;
 return new Utxo(neue OutPoint(Buffer::hex($txid, 32), $vout), neue TransactionOutput(0, ScriptFactory::fromHex($scriptPubKey)));
}, [
 ['459eee043d30b29c4f9e9b3b55af78f5b4fe4bd818bee49a4b75becd6422ae14', 0, '76a91458b6e991b45487df810f4d96d5315da739637f1788ac'],
 ['621c6b92cc2c68b18fef3a90a3284d1263ea43e0cbce21d9ef6f51747bd215ec', 0, '76a91458b6e991b45487df810f4d96d5315da739637f1788ac'],
 ['92a271c568aea34c3e2661db9b8fc7f0d82d90065db1b6eed1c124146ef77898', 0, '76a91458b6e991b45487df810f4d96d5315da739637f1788ac'],
 ['99c43b144adb6d114180c11f26bc08264c806b355d96a824891ab0831c7facfd', 0, '76a91458b6e991b45487df810f4d96d5315da739637f1788ac'],
]);

$priv = PrivateKeyFactory::fromWif('yourprivkeyhere');
$hex = '010000000414ae2264cdbe754b9ae4be18d84bfeb4f578af553b9b9e4f9cb2303d04ee9e45000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffffec15d27b74516fefd921cecbe043ea63124d28a3903aef8fb1682ccc926b1c62000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffff9878f76e1424c1d1eeb6b15d06902dd8f0c78f9bdb61263e4ca3ae68c571a292000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acfffffffffdac7f1c83b01a8924a8965d356b804c2608bc261fc18041116ddb4a143bc499000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffff0336150000000000001976a9141485d9d03b41aaa9dca7d70d7f63ff4a0826100e88ac00000000000000001e6a1c246698efc5d81b78ceadf3179316b5eb6cc5c2c347c0b7b42121a94e92180000000000001976a91458b6e991b45487df810f4d96d5315da739637f1788ac00000000';
$tx = TransactionFactory::fromHex($hex);
$signer = new Signer($tx);
foreach ($utxos as $i => $utxo) {
 $signer->anmelden($i, $priv, $utxo->getOutput());
}

$unterzeichnet = $signer->get();

echo $signiert->getHex() . PHP_EOL;
+219
Mia Mullins 04.08.2017, 07:31:56

Sie erscheinen einfach mit einem physischen Münze gestempelt mit dem Bitcoin-logo. Zudem scheint es, dass der private Schlüssel ist von Ihnen erzeugt, was bedeutet, dass nichts verhindert, dass Sie halten eine Kopie.

Sie sind weit besser dran kleben, um Vertrauenswürdige hardware-wallets wie Ledger und Trezors. Vertrauen Sie nie auf irgendeine service, der die Möglichkeit hat, die halten Ihre Schlüssel zugänglich sich (offensichtliche Ausnahmen, wie beispielsweise Depot-Konten an Börsen gelten).

+208
Carl Edwards 27.10.2014, 09:28:21

Basierend auf dem time-frame und mein Eindruck von den Fähigkeiten der verschiedenen Gruppen zu entwickeln wallet-software in diesem Zeitraum meine erste Vermutung war, dass die Bitpay copay software könnte die Quelle dieser Signaturen. Copay ist eine multi-Signatur wallet wurde ursprünglich veröffentlicht , um diese Zeit.

Als ich bin kein javascript-Entwickler es nahm mir ein bisschen Mühe zu Graben, durch den historischen Abhängigkeiten auf den code, war zu diesem Zeitpunkt geltenden, aber ich glaube, mein Verdacht wahrscheinlich bestätigt:

[Wenn es gibt ein paar tool zu gehen, greifen alle Abhängigkeiten einer JS-Anwendung bestimmten Zeitpunkt gewesen wäre super nützlich.]

return new bignum(SecureRandom.getRandomBuffer(8));

Dieser code wählt ein 8-byte (64-bit) nonce. Ich bin nicht sicher , wie genau dieser Fehler kam über--senden 32 an eine Funktion, die nahm bits als ein argument Größe, zum Beispiel, hätte Sinn gemacht-aber wie auch immer es geschah, es war nicht gefangen im Rückblick erscheint und verschickt wurden.

Die pull-Anforderung eingeführt, das die Schwachstelle war dabei die javascript cryptography Umsetzung schneller durch den Wechsel der zugrunde liegenden EG-Operationen, um eine andere Bibliothek 'elliptisch'. Zu der Zeit elliptisch vorgestellten eigene Unterzeichnung Funktionen, die im Lieferumfang enthalten RFC6979 deterministische nonce-Generierung. Ich sehe nicht ein, warum bitcore nicht geändert, um die Verwendung der elliptischen Unterzeichnung Funktion auch mit dem Autor von elliptischen kommentieren in der Unterstützung der öffentlichkeitsarbeit, aber da gab es pre-bestehenden 'zu Hause rollte,' das signieren von code, es kann nur das nicht geschehen, um niemanden zu wechseln, um die library-Routinen. Gibt es nicht viel Diskussion über die pull-Anfrage.

Die Sicherheitslücke wurde in der Folge festgelegt , aber schwache Signaturen weiterhin für einige Zeit. Denn Bitpay ist bitcore gefördert wurde als ein all-Zweck Bitcoin-Bibliothek ist es möglich, dass andere software als copay hatte, übernommen.

Ich bin nicht in der Lage zu finden, jede Ankündigung oder Diskussion über diese Sicherheitsanfälligkeit, andere als die fix im repository.

Allerdings habe ich nicht sorgfältig analysiert es, bemerkte ich, dass vor der Umstellung auf elliptisch, die codebase bisher verwendeten "bitcoin-js", die-zumindest in einigen Versionen--verwendet einen Zufallszahlengenerator, die schwach war, aufgrund eines review-umgehen subtile Art Fehler , so dass es durchaus der Fall sein kann, dass der Fehler-Einführung ändern sich einfach geändert, die software von einer form von Schwäche zu einem anderen.

Es ist auch möglich, dass, obwohl bitcore hatte genau die richtige Schwachstelle eingeführt, zum richtigen Zeitpunkt, dass es Zufall war und die schlechte Signaturen, die in das Papier erstellt wurden, durch eine andere Implementierung. Wenn dem so ist, denke ich, die parallele Bruch ist immer noch informativ.

Ich denke, die Forschung und die relevanten code stellen Sie für ein gutes Beispiel, wie einfach es ist, sich diese Dinge falsch, wie selbst kleine Fehler können in der Folge total security bricht, und dass die bloße Tatsache, dass etwas open-source ist nicht automatisch sichergestellt, dass es ausreichend abgeben.

+176
ChristyHinton 17.08.2012, 18:22:33

Der client nicht sicher, peers akzeptieren. Wenn keiner Ihrer Kollegen relais die Transaktion, dann wird es wahrscheinlich nie in einen block und bleibt unbestätigt für immer. Ihr Kunde wird weiterhin versucht, relais der Transaktion in regelmäßigen Abständen, und Sie kann schließlich eine Verbindung zu einem client, relay-Transaktionen, die keine Gebühr oder Ihre Münzen kann schließlich alt genug, dass die standard-client-relais mit Ihnen auch keine Gebühr.

+108
RickReal 19.06.2016, 09:59:39

Nein.

Dies ist, weil der Empfänger nicht spielen eine Rolle in der Transaktion. Sie haben nicht einmal davon wissen. Die Transaktion tatsächlich stattfindet zwischen dem sender und dem bitcoin-Netzwerk, und der Absender muss einen privaten Schlüssel haben, die (hoffentlich) geheim.

+89
user28629 06.03.2014, 13:55:40

Wiederholen Sie den import. Starten Sie über Datei > neu/wiederherstellen, geben Sie einen eindeutigen Namen, und klicken Sie auf weiter, um den Vorgang zu starten. Dieses mal stellen Sie einen der folgenden Schritte, um den privaten Schlüssel:

  • p2wpkh: wenn die Adresse in Frage, die beginnt mit bc1
  • p2wpkh-p2sh: wenn die Adresse in Frage, die beginnt mit 3

Zum Beispiel:

p2wpkh-p2sh:Ky9mddDtaqcLC1vv6egmgQpiZh8Lgh111lnjsyjenxjs3ow93bjd

Sie können auch klicken Sie auf die info-Taste auf der private Schlüssel Eintrag Schritt, um zu sehen, weitere Beispiele.

+39
shara 12.10.2017, 16:22:44

ok, das sieht aus wie eine multisig-Aktivität. Schnell de-Analyse. Zum signieren der vorherigen Transaktion, dieses Skript wurde verwendet:

TX_IN[0] Script Sig (uchar[]) 483045022100DCD533F206756C83757BD0738905799DD0C7F505C22C567641B1B35573A9B24B02204C3773F60752EA67809AA32EB0A07C0F16BCFE073C99E84C8C30A328FA14874C0121031C9BFFF835236F589BA409B364A9D2C392971C053CDFBBAC9CCDD9F30EABB15B

48: OP_DATA_0x48: push-hex-48 (dezimal 72) bytes als Daten
30: OP_SEQUENCE_0x30: type-tag-Anzeige-SEQUENZ beginnt sigscript
45: OP_LENGTH_0x45: Länge von R + S
02: OP_INT_0x02: type-tag, der angibt, INTEGER
21: OP_LENGTH_0x21: dies ist SIG R
00DCD533F206756C:83757BD073890579
9DD0C7F505C22C56:7641B1B35573A9B2
4B
02: OP_INT_0x02: type-tag, der angibt, INTEGER
20: OP_LENGTH_0x20: diese SIG ist S
4C3773F60752EA67:809AA32EB0A07C0F
16BCFE073C99E84C:8C30A328FA14874C
01: OP_SIGHASHALL: damit wird der ECDSA Signatur - (ASN1-DER Struktur)
#########################################################
### Verfahren streng zu prüfen, DER-kodierte Signatur ###
#########################################################
Die minimale und maximale Größe-Einschränkungen - ok
scriptsig beginnt immer mit 0x30 - ok
Länge 138 chars ist weniger als die tatsächlichen sig Länge (142 Zeichen) - ok
 (0x45 hex, dezimal 69, 138 chars)
Länge der R-Koordinate (66) >= 0 - ok
Länge der S-Koordinate (64) >= 0 - ok
S-Wert innerhalb scriptsig Grenzen - ok
Stellen Sie sicher, dass der R & S Länge deckt den gesamten Signatur - ok
S-Wert muss kleiner sein als N/2 - ok
streng geprüft, DER-kodierte Signatur - ok
#########################################################
21: OP_DATA_0x21: type Schild LÄNGE
03: OP_INT_0x03
1C9BFFF835236F58:9BA409B364A9D2C3
92971C053CDFBBAC:9CCDD9F30EABB15B

Damit wird der Öffentliche Schlüssel (X9.63 KOMPRIMIERTER form), und der entsprechende bitcoin-Adresse zu sein scheint: 19r8BDjwdmMUYecGX73CAnRCwHoynaeSxi Diese Adresse beginnt mit "1", so dass keine multisig-Adresse...

und

TX_OUT ZÄHLEN, hex=01, dezimal=1
TX_OUT[0]
 TX_OUT[0] Wert: hex=404B4C0000000000, --> bitcoin=0.05000000
 TX_OUT[0] PK_Script Länge hex=47, dec=71
 TX_OUT[0] pk_script (uchar[])
51210351EFB6E91A31221652105D032A2508275F374CEA63939AD72F1B1E02F477DA7821004F0331742BBC917BA2056A3B8A857EA47EC088DD10475EA311302112C9D24A7152AE
 51: OP_1, OP_TRUE
 21: OP_Data21 (= dezimal 33)
0351EFB6E91A3122:1652105D032A2508
275F374CEA63939A:D72F1B1E02F477DA
78
 bitcoin-Adresse: 1NdB761LmTmrJixxp93nz7pEiCx5cKPW44
 21: OP_Data21 (= dezimal 33)
004F0331742BBC91:7BA2056A3B8A857E
A47EC088DD10475E:A311302112C9D24A
71
 52: OP_Data52 (= dezimal 82)
 AE: OP_CHECKMULTISIG

Dies ist normalerweise das einlösen Skript Hex-codes: Es soll eine 1 von 2 multisig tx, und in der Regel würden Sie ripemd160(sha256()) dies und bekommen ein "Typ 3" bitcoin-Adresse. Allerdings: der zweite Teil nach OP_DATA21 beginnt nicht mit "02" oder "03", statt mit "004f..." - also keine "echte Adresse". Warum die blockchin.info nicht korrekt angezeigt wird, aufgrund der Tatsache, dass in der Tat, die redeemscript hash erwartet.

Sieht aus wie eine von Hand montiert tx, mit der redeemscript hex-codes, statt es ripemd(sha256()) hash.

Follow-up-Frage: wie ist es in der blockchain, es wurde eine gültige tx, wo sind dann die Mittel? :-) Habe ich versucht, hexdump, aber nicht sinnvoll... verbrannt?

+38
Wendy Lindsay 08.02.2018, 15:28:37

Ich bin ziemlich schockiert, als ich erfahren hab, jetzt über das ändern, was, wie ich überall zu Lesen über " paper wallets sicher zu sein, aber nicht, wo nicht Stand, dass, wenn Sie verbringen teilweise Beträge von Ihrem Papier-Brieftasche, die Sie könnte in der Tat alles verlieren, wenn Sie nicht über eine Adresse ändern setup.

Nun ist meine Frage, wie funktioniert blockchain.info behandeln Sie dieses Papier Geldbörse situation mit Adressen ändern? Es ist irgendwie scarey zu wissen, dass man Münzen einfach verschwinden kann, nur weil Sie nicht wissen, das Innenleben, wie Transaktionen funktionieren.

+20
Peter Bradshaw 18.09.2013, 17:25:27

Fragen mit Tag anzeigen

$200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil