Wie funktioniert CDataStream Daten finden Ihren Weg in eine Buchse?

Ich bin neugierig zu wissen, wie und wo im source-code, der Daten aus dem stream tatsächlich gesendet von einem Knoten. Gemäß meinem Verständnis passiert Folgendes:

  • ProcessMessage() gibt eine PushMessage() mit entsprechenden Parametern
  • PushMessage() wird im wesentlichen Nachricht senden Header und Parameter in einen Datenstrom ssData
  • ssData ist Gegenstand der CDataStream und definiert in CNode
  • CDataStream ist in src/stream.h hat keine Informationen zu IP-oder Port

Wie funktioniert die Daten geschoben, um einen stream, geht in die richtige Buchse in bitcoin arbeiten. Nur CNode - Klasse enthält Informationen über die Netzwerk-Adresse (IP) und TCP-Port. Wie werden diese Informationen aufgegriffen, indem der Datenstrom?

Hinzufügen von mehr Erkenntnisse:

Ich fand das von https://bitcointalk.org/index.php?topic=41727.0

Die socket-thread liest die buchsen und stellen Daten in eine CDataStream
im Zusammenhang mit den einzelnen Knoten genannt vRecv. Der Satoshi-client verwendet C++
Serialisierung-Operatoren >> und << zu Lesen und zu schreiben, um eine CDataStream
und verwendet dann die generische Routinen zum verschieben der Daten zwischen den Bächen
und Steckdosen

Meine genaue Frage ist, wo(was) sind diese genannten generische Routinen im source-code?

+758
Tatyana 06.09.2019, 21:30:34
31 Antworten

Bitcoin-Börsen sind komplexe Netzwerke entwickelt, um zu verfolgen bitcoin Preise und damit für den sicheren Kauf und Verkauf von bitcoins. Dies erfordert eine große Programmier-Kenntnisse, um. Zu sehen, dass Sie nicht viel von einem technischen hintergrund, den ich nicht empfehlen, sich in die Einstellung einer exchange-up. That being said gibt es mehrere Börsen, die bereits existieren, wie mein Lieblings-BTCe, dass Sie möchten, zu schauen.

+938
eskramer 03 февр. '09 в 4:24

getinfo ist jetzt veraltet. Verwenden getblockchaininfo statt:

bitcoin-cli -testnet getblockchaininfo 

Ich habe nicht 50 Ruf zu kommentieren. Ansonsten, ich würde Hinzugefügt haben, können Sie diese als Kommentar.

+906
Houcine 07.06.2015, 00:23:22
Weitere Antworten

Verwandte Fragen


Ähnliche Fragen

Die Einführung P2SH nicht bedeuten, neue OP-codes, noch die Wiederverwendung von alten.

Sie können nicht ändern, alle vorhandenen OP-code mit einem weichen Gabel per definition. Die einzige Sache, die Sie tun können, ist, Informationen zu interpretieren, die für neue Anwendungen. Zum Beispiel, können Sie den Hashwert eines Dokuments zu erstellen, einen Beweis der Existenz Schema.

+901
h31 23.05.2011, 23:58:53

OP_EVAL ist ein neuer opcode (operation code) für die Bitcoin block chain-scripting-Sprache, vorgeschlagen in diesem thread.

Was dieser Befehl tut, ist nehmen Sie eine binäre Darstellung von einem Skript aus den Daten, die für die unbefristete Nutzung einer Leistung, und fügen Sie das entsprechende Skript, was bewertet wird.

Das Ziel dieser ist die Schaffung Bitcoin-Adressen zu verwenden, erfordern eine beliebige Verifikations-Schema, ohne die Leute zu senden, die die Adresse kennen zu müssen, was das Skript.

Die "killer-app" für das ist für Leute, die nicht wollen, zu verlieren alle Ihre bitcoins, wenn Ihr computer kompromittiert wird. Verwenden Sie die Adressen, wo die Münzen können nur ausgegeben werden, wenn die Unterschriften von zwei verschiedenen Schlüsseln auf separaten devices gespeichert sind, zur Verfügung gestellt. Wieder, dies ist transparent für andere zu senden, um diese person, Sie müssen nur die Adresse kennen und nicht die details seiner gewünschten Skript.

+885
Simon Hay 18.10.2011, 07:26:25

Beim Blick auf die letzten Stunden des bitcoin-cash (BC/BCC) Transaktionen, sah ich eine massive Zunahme niedrig(oder nicht)-Gebühr für Transaktionen:

BCH mempool

In der Regel der graph sieht ähnlich aus wie die BTC-Fall (siehe unten), nur ohne den Rückstand von unbestätigten Transaktionen.

BTC mempool

Ist irgendetwas bekannt, wer das getan hat und warum? Ist es nur zum testen, wenn BCH in der Lage ist, zur Unterstützung der hohen Transaktionen Volumen ohne Probleme (zum Glück scheint es so, mit ~20k Transaktionen pro block) oder macht jemand mit böswilligen Absichten und versucht stall die BCH-Netzwerk?

Haben Menschen gemacht, die ähnliches mit BTC in der Vergangenheit?

Statistiken sind entnommen aus dieser Seite: https://core.jochen-hoenicke.de/queue/#8h

+867
Alidzariev 13.06.2013, 08:17:47

Ich habe einen bitcoin privaten Schlüssel mit etwas Geld auf der segwit bc1-Adresse, aber wenn ich versuche zu fegen, diesen privaten Schlüssel mit mycellium android wallet, zeigt es sich als eine 3... Adresse. Was andere mobile-app ermöglicht es mir, sweep a bc1 segwit-Adresse?

+863
Rebecca Amoako 23.05.2015, 22:34:28

Sie können die Installation der standard-Bitcoin-QT client, navigieren Sie zu

\Program Files (x86)\bitcoin\daemon\

und dann laufen

bitcoind -gen=1

Jedoch ist dies nicht empfohlen, außer auf dem Test-Netzwerk, weil es nahezu unmöglich ist, zu generieren, keine Münzen dieser Art und Weise auf die Produktions-Netzwerk.

+833
win 06.06.2014, 11:19:35

Für GateHub, ich musste Sie bitten, die Einzahlung 20 XRP auf mein Konto, so kann ich Handel beginnen in XRP. Dies ist auf der Oberseite der Kauf von BTC, LTC oder ETH ersten auf CoinBase und dann senden an GateHub exchange-Adresse für diesen spezifischen altcoin.

+775
Vasuki 22.06.2018, 06:24:53

Ich habe eine Papier-Unterstützung, ein digital wallet-backup und alle Passwörter: wie Kriege ich den privaten Schlüssel für eine watch-only-wallet, damit ich senden können Sie einige Münzen heraus (erstellt in der Waffenkammer und importiert, zum Beispiel blockchain.info)?

Wenn das nicht möglich ist, ist mit passphrase innerhalb der Rüstkammer der einzige Weg zum senden von Münzen aus der Waffenkammer watch-only-wallet?

+766
Anastasia32 08.07.2012, 10:16:20

Wie kann ich eine tronix (trx) cold wallet? Ich sehe keine info im Internet. Sowohl ein link zu einem key-generator-Skript und die website mit der Brieftasche Schöpfung wäre ok. Danke.

+762
Maarten Tibau 19.08.2014, 23:07:06

Ich Frage mich, ob es irgendwelche Probleme mit der Sicherheit der anderen zu wissen, dass meine RPC-Anmeldeinformationen. Ich bin nicht vertraut mit RPC und wie funktioniert es oder etwas.

Grund ich Frage... ich mache youtube-videos. Momentan bin ich am Bearbeiten, wo ich bin mit dem Lightning-Netzwerk. Alles in dem video ist auf dem testnet. Also ich bin nicht gefährdet, irgendeinen wirklichen Schaden getan, um mich. Die meisten verliere ich die Fortschritte, die ich gemacht einrichten des testnet-und Blitzschutz-network auf diese Maschine. Jedoch, wenn mein RPC-Anmeldeinformationen sind nicht wichtig, es würde mich retten viel Zeit mit der Unschärfe von Ihnen in meinem video.

Danke.

+744
user3180351 23.03.2019, 02:50:53

Jedes mal schicke ich ein paar bitcoins aus Blockchain.info es erlaubt mir, eine bestimmte Gebühr. Ich habe installiert bitcoind und ich kann nicht herausfinden, wie Sie ein 0.00013674 Gebühr für jede Gebühr.

Ich habe ein paar Artikel und ich sehe die Gebühren ist immer relativ zur Höhe der Transaktion. Also, ich bin mit paytxfee=0.00027348 in meiner config-Datei.

Problem ist diese Einstellung produziert:

gesendet Höhe=0.00106326 fes=0.0000618 gesendet Höhe=0.00086326 fes=0.00006153 gesendet Höhe=0.00106326 fes=0.00014166

Ich bin bereit, meine Transaktionen enthalten, die in der blockchain schneller. Eine Idee zu zwicken, meine Einstellungen zu haben und diese verbessern ?

+728
havlinnelic 09.01.2011, 18:35:12

Ich bin komplett neu in python (und Programmierung), und ich weiß, diese Frage klingt sehr dumm, die meisten von Euch Menschen. Ich experimentiere immer auf Daten aus der cryptocurrencies exchenge bittrex und steckte es in Variablen in meinem script für die weiteren Berechnungen. Ich versuche, mich dieses inoffizielle repository arbeiten zum abrufen von Daten aus Ihrer api. Ich habe zwar keine Probleme mit den öffentlichen Daten (abrufen mit curl), ich kann nicht dieses Stück von python zu arbeiten, und deshalb kann ich auch nicht Holen Salden noch irgendwelche anderen privaten Daten.

Um es zu installieren ich habe die folgenden:

wget https://github.com/ericsomdahl/python-bittrex/archive/master.zip
entpacken master.zip
cd python-bittrex-master
python setup.py installieren

Folgende Dateien wurden erstellt:

ls -la /usr/local/lib/python2.7/dist-packages/bittrex/
insgesamt 48
drwxr-sr-x 2 root staff 4096 Sep 30 15:04 .
drwxrwsr-x 3 root staff 4096 Sep 30 15:04 ..
-rw-rw-r-- 1 root staff 15357 Sep 12 18:34 bittrex.py
-rw-r--r-- 1 root staff 17302 Sep 30 15:04 bittrex.pyc
-rw-rw-r-- 1 root staff 0 Sep 12 18:34 __init__.py
-rw-r--r-- 1 root staff 145 Sep 30 15:04 __init__.pyc

Dann habe ich diese test-Dateien, aber Sie sind beide erzeugt keine Ausgabe:

Katze get_balances.py 
#!/usr/bin/env python 
von bittrex.bittrex import Bittrex
api = Bittrex('fXXXXXXXXXXXXXXXXXXXXXXXXXd', '1XXXXXXXXXXXXXXXXXXXXXXXXX0')
api.get_balances() 

und

Katze get_markets.py 
#!/usr/bin/env python 
von bittrex.bittrex import Bittrex 
api = Bittrex('fXXXXXXXXXXXXXXXXXXXXXXXXXd', '1XXXXXXXXXXXXXXXXXXXXXXXXX0') 
api.get_markets()

Bevor ich das Tat python setup.py installieren Sie die Ausgabe war: ImportError: cannot import name Bittrex

Ich habe versucht zu beheben, dann läuft es mit python -v in der front, aber es Tat produzieren Sie 500 Zeilen der Ausgabe, die ich nicht geschafft zu verstehen, dass ich teilen würde, es natürlich, wenn jemand danach fragt.

Während ich Schreibe, ich bin mir sicher, dass ich bin vermisste von etwas sehr trivial, sorry wenn es eine dumme Frage, aber Dokumentation fehlt jedes Prinzip, es sind sehr wenige und es wird davon ausgegangen, dass die who die Integration dieses Codes ist ein Entwickler; und ich bin es nicht.

Folgende Vorschläge aus einem anderen forum hab ich:

[email protected]:/home/me/test/python-bittrex-master# pip install bittrex
Download/entpacken bittrex
 Herunterladen bittrex-0.1.4.tar.gz
 Läuft setup.py (path:/tmp/pip_build_root/bittrex/setup.py) egg_info für Paket bittrex

Download/entpacken Anfragen==2.7.0 (von bittrex)
 Download Anfragen-2.7.0-py2.py3-keine-keine.whl (470kB): 470kB heruntergeladen
Installieren gesammelten Pakete: bittrex, Anfragen
 Läuft setup.py installieren Sie für bittrex

 Fand bestehenden installation: Anforderungen 2.2.1
 Nicht deinstallieren-requests auf /usr/lib/python2.7/dist-packages, die im Besitz von OS
Erfolgreich installiert bittrex Anfragen
Aufräumen...


python get_balances.py 
/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: Eine wahre SSLContext-Objekt ist nicht verfügbar. Dies verhindert, dass urllib3 von der SSL-Konfiguration entsprechend und kann bewirken, dass bestimmte SSL-verbindungen fehlschlagen. Weitere Informationen finden Sie unter https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning

So gibt es eine Warnung, aber noch keine Ausgabe.

Wenn Sie versuchen, den code, den ich eingefügt wird, sollte es wieder "invalid api", während es wirft keine Ausgabe auf meinem system. Wie kann ich dies beheben?

+709
Gayan Udayanga 29.09.2016, 21:55:21

Die meisten Bergleute spekulieren, dass der zukünftige Wert einer bitcoin wird größer sein, als der derzeitige Wert. Keine profit-orientierte Bergmann freut sich über die aktuelle rate in Schwierigkeiten zu erhöhen. Auch die aktuelle rate der Schwierigkeitsgrad ist nicht eine one-way-Phänomen. Viele Faktoren können die Schwierigkeit zu verringern, wie etwa ein Fehler, dass wahrgenommen wurde, werden un-reparierbar. Wenn das Vertrauen in den bitcoin im Allgemeinen zu fallen, mining-Schwierigkeit würde-drop-sowie Bergbau-Energie und Geld geflohen zu anderen virtuellen Währungen.

Andere Menschen, die wirklich wollen, schaffen eine Alternative payment-Netzwerk und/oder eine Währung, und sehen Ihren Beitrag in dieser Hinsicht, nicht in finanzieller Hinsicht. Für diese Leute ist der Preis von bitcoins ist nicht Ihre primäre motivation.

+684
Charles 01.09.2018, 18:00:21

Es ist möglich,. Ein solches ist jedoch KEINE GEBÜHR für die Transaktion mit einer geringen Menge an Bitcoin beteiligten konnte die Verzögerung der Transaktion. Ihre Transaktion möglicherweise bleiben unbestätigt, für eine lange Zeit.

Hier ist die grundlegende Idee, eine no-fee-Transaktion:

  • Teilen Sie Ihre eine Ihrer unspent_transaction_output in zwei Teil. UTXO_1 und UTXO_2
  • Senden UTXO_1 zu Empfänger Adresse, senden Sie UTXO_2 an Ihre eigene Adresse
  • Stellen Sie sicher, dass UTXO_1 + UTXO_2 == Ihr unspent_transaction_output
  • Folgen Sie diesem link, um eine no-fee-Transaktion. https://bitcoin.org/en/developer-examples#simple-spending

    +628
    Sharon Heila Peixoto 13.06.2015, 21:25:59

    Es wird nicht gespeichert, als Teil der block-Daten. Andere Klienten Antworten mit Ihrer Liste von hashes, die vor der ihrigen, wenn Sie broadcast-getblocks. Aus dieser Liste, jeder block header wird heruntergeladen und hielt in den lokalen block-Kette leveldb mit dem hash als Schlüssel.

    Von Bitcoin Wiki:

    Ersten block download

    Am Anfang einer Verbindung, senden Sie eine getblocks-Nachricht, die den hash der Letzte block, den Sie kennen. Wenn der peer nicht denken, dass dies ist der Letzte block, sendet es ein WR, das bis zu 500 Blöcke vor, die Sie aufgelistet. Sie werden dann verlangen alle diese Blöcke mit getdata, und die peer-senden Sie Nachrichten blockieren. Nachdem Sie heruntergeladen haben, und verarbeitet alle diese Blöcke, die Sie senden ein anderes getblocks, etc., bis Sie alle Blöcke.

    +602
    Vignesh Davins 27.06.2017, 02:34:12

    Wie verwende ich bitcoind über Terminal auf Mac OSX? Ich denke, das wird nicht angesprochen, durch diese Fragen, aber ganz ehrlich, ich bin mir nicht sicher:

    Bitcoin-Qt command-line-Steuerung auf dem Mac

    Was sind die Schritte beim Aufbau bitcoind auf Mac OS X 10.6?

    +529
    user63862 26.01.2012, 05:07:16

    Es scheint, dass einige der stärksten Spieler - z.B. Hersteller von ASIC-Geräte - absichtlich aufgeben, Ihre chance bei monopoly-im Austausch für den sofortigen Gewinn (verkaufen Sie Ihre Geräte, um mehrere Kunden) - gerade zur Erhöhung der Zuverlässigkeit des Netzes.

    Während das Netz ist anfällig für die "51% Angriff", Ihr Ergebnis wird sofort, katastrophalen und dauerhaften Absturz des bitcoin-Wirtschaft. Alle von der Investition in hardware, die lassen, wer auch immer das war, es zu erreichen das 51% hashpower unwiderruflich verloren - wie Sie in der Lage zu Dominieren den Markt für eine wertlose Ressource, kompromittierte bitcoin wird Ihnen jeden Wert.

    Die big Player verstehen und freiwillig auf einen Teil Ihrer hashing-power, einfach zu halten, Bitcoin stark, zuverlässig, und offen - halten die Preise nach oben. So produzieren Sie weniger, aber verdienen mehr einfach, denn das Gerät ist mehr Wert.

    In anderen Worten, es ist im besten Interesse von jedermann produzieren oder besitzen eine Menge von bitcoin zu halten, das bitcoin-Netzwerk reibungslos = halten, Wert bitcoins, die Sie produzieren/haben hohe. Bitcoin ist ein Netzwerk des Vertrauens, und die Pause, die Vertrauen und verliert es allen Wert.

    Ein solcher Angriff wäre möglich, z.B. durch eine finanzielle institution mit einem Groll gegen Bitcoin, oder eine Regierung. Es würde teuer werden, aber es ist nur zurück wäre in was auch immer profitieren zerstören bitcoin ganz bringen würde. Keine unmittelbaren Gewinne, wenn die Transaktion Prozess wäre relativ klein, und sehr kurzlebig im Vergleich zu den Schäden, die (einschließlich der eigenen hardware immer wertlos) - so ist es im besten Interesse von jedermann hält alle macht, die fähig ist, es zu tun, es nicht zu tun - einen starken wirtschaftlichen Anreiz, gegen das.

    +522
    laurenfisher 17.03.2012, 03:26:02

    Die Adresse und der Betrag, den der sender erhalten Sie von den "txid" und "vout" mit getrawtransaction Befehl. Schauen wir uns das Beispiel der vin Teil des Blocks ist wie folgt:

    "vin": [
    {
     "txid": "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000",
     "vout": 0,
     "scriptSig": {
     "asm": "304402203f198d9695a293c41d2124e790d473e68f4b35a09ece5517c7adfffc797f91760220304feb1cc2829d3c937665bcb4b7f9735acbcac50e9169bc53c9e689ce20b3bc[ALL] 025743bce4e775bb754e784dd2cfdc8dabc2023154eee539bb155612101a583e7e",
     "hex": "47304402203f198d9695a293c41d2124e790d473e68f4b35a09ece5517c7adfffc797f91760220304feb1cc2829d3c937665bcb4b7f9735acbcac50e9169bc53c9e689ce20b3bc0121025743bce4e775bb754e784dd2cfdc8dabc2023154eee539bb155612101a583e7e"
    },
     "sequence": 4294967294
    },
    {
     "txid": "aac498279d50ee81237d704cb495b243b50def5ecdcb36d9d78f596f73b1d3e9",
     "vout": 1,
     "scriptSig": {
     "asm": "3045022100b763b986b17beddac1ac96c3656fa7af188a28cfacfc87390e1e796b7fdbc0d102201e76f77db6093306028e681e2fe6354ae12649afb5c27c549243b67d505a1bb6[ALL] 0349ebb9d180938ab3a571d8c2e9771fb4fecb9f4484c337bb35d8fd8b48283ca9",
     "hex": "483045022100b763b986b17beddac1ac96c3656fa7af188a28cfacfc87390e1e796b7fdbc0d102201e76f77db6093306028e681e2fe6354ae12649afb5c27c549243b67d505a1bb601210349ebb9d180938ab3a571d8c2e9771fb4fecb9f4484c337bb35d8fd8b48283ca9"
    },
     "sequence": 4294967294
    }
    ]
    

    Es bedeutet, dass es gibt zwei Eingänge, der erste Eingang ist von der "vout" 0 der Transaktion "txid" "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000", der zweite Eingang ist von der "vout" 1 fo der Transaktion "txid": "aac498279d50ee81237d704cb495b243b50def5ecdcb36d9d78f596f73b1d3e9". Da die vout Teil einer Transaktion hat die Adresse und den Betrag, den wir bekommen können die input-Adresse und den entsprechenden Betrag.

    Zum Beispiel, schauen wir uns den ersten Eingang:

     "txid": "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000",
     "vout": 0,
    

    führen Sie folgende Kern-rpc-Befehl (beachten Sie, dass wir benötigen, lassen Sie die server-index jedes Transaktion zu unterstützen getrawtransaction, es kann getan werden, durch hinzufügen von "txindex=1" in die bitcoin.conf)

    bitcoin-cli -rpcuser=jun -rpcpassword=123 getrawtransaction "0d6cbc21a1b1a3e5df1eae4fc37aa849174b6b727e53f9f505a605f066b7f000" true
    

    Wir erhalten folgende vouts Teil wie folgt:

     "vout": [
    {
     "value": 0.01040000,
     "n": 0,
     "scriptPubKey": {
     "asm": "OP_DUP OP_HASH160 af9e84db382823b9c36c40d70090ff81890c5ef5 OP_EQUALVERIFY OP_CHECKSIG",
     "hex": "76a914af9e84db382823b9c36c40d70090ff81890c5ef588ac",
     "reqSigs": 1,
     "type": "pubkeyhash",
     "Adressen": [
    "1H1b9fN7wYYwTSweyPjE7wCGSHuduCcE2o"
    ]
    }
    },
    {
     "value": 147.75014395,
     "n": 1,
     "scriptPubKey": {
     "asm": "OP_DUP OP_HASH160 35f72ce8b9123a055e27be9a0bb723b6cb502419 OP_EQUALVERIFY OP_CHECKSIG",
     "hex": "76a91435f72ce8b9123a055e27be9a0bb723b6cb50241988ac",
     "reqSigs": 1,
     "type": "pubkeyhash",
     "Adressen": [
    "15vLvDZyAjWCrfWyazMtvHRe8hDJBxXJec"
    ]
    }
    }
    ],
    

    Dann haben wir die Adresse und den Betrag, der erste Teil der vout. Es ist der erste Eingang unseres Geschäfts.

    "Adressen": ["1H1b9fN7wYYwTSweyPjE7wCGSHuduCcE2o"]
    "value": 147.75014395
    

    Es ist ein sehr schöner blog über die vin und vout Erklärung http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/

    +518
    Marcin Gosiewski 06.11.2016, 08:52:38

    Sie können auch die folgenden Informationen, um eine EC_POINT von einem komprimierten Schlüssel:

    int EC_POINT_set_compressed_coordinates_gfp(const EC_GROUP * - Gruppe,
     EC_POINT *p,
     const BIGNUM *x, int y_bit,
     BN_CTX *ctx);
    

    und die folgenden, zum konvertieren der EC_POINT zu einem EC_KEY:

     int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub);
    

    Von EC_POINT_new Dokumentation:

    Punkte können auch beschrieben werden in Bezug auf Ihre komprimierte co-Ordinaten. Für einen Punkt (x, y), für jeden gegebenen Wert für x so, dass der Punkt auf der Kurve gibt es immer nur zwei mögliche Werte für "y". Daher ein Punkt kann eingestellt werden, mit der EC_POINT_set_compressed_coordinates_gfp() und EC_POINT_set_compressed_coordinates_gf2m () - Funktionen, wobei x die x - koordinieren und y_bit ist ein Wert 0 oder 1 zu identifizieren, welcher der beiden mögliche Werte für y verwendet werden soll.

    und EC_KEY_new Dokumentation:

    Die Funktionen EC_KEY_get0_group(), EC_KEY_set_group(), EC_KEY_get0_private_key(), EC_KEY_set_private_key(), EC_KEY_get0_public_key(), und EC_KEY_set_public_key() get-und set-die EC_GROUP Objekt, den privaten Schlüssel und die EC_POINT öffentlichen Schlüssel für die Schlüssel bzw.

    +514
    JustBreathe 19.10.2016, 02:42:01

    Importieren Sie jede Adresse, die Sie möchten, zu sehen oder zu "arbeiten", indem Sie die Navigation auf Konsole-Fensters und senden Sie den folgenden Befehl:

    bitcoin-cli importaddress "Adresse" "Konto" <rescan>
    

    nach der blockchain das Scannen abzuschließen, die Sie senden können

    bitcoin-cli listtransactions "Konto", "Zählen", "überspringen" watch-nur
    bitcoin-cli listtransactions "*" 1 0 wahr
    

    So erhalten Sie alle Transaktionen.

    Sie können alle Befehle aus bitcoin.org

    +441
    IceCreeper 25 07.11.2016, 02:01:30

    Je niedriger der hash hat, desto höher ist die Schwierigkeit. Suche nach einem hash, dessen erste 32 bit sind Nullen ist nicht so schwer wie der Suche nach einem hash, dessen ersten 36 bits sind null.

    Wenn Sie eine relativ langsame miner, die Sie wahrscheinlich nicht wollen, dass Ihre Aktien zu schwierig zu sein oder man findet Sie nur noch selten und die Genauigkeit der tracking-arm sein wird. Aber wenn Sie haben eine sehr schnelle miner, die Sie wahrscheinlich nicht wollen, dass Ihre Aktien zu einfach oder du wirst finden, so viele von Ihnen, die von Ihnen berichten an den pool kann zu einem Engpass werden.

    +380
    Katkat 03.12.2016, 11:54:03

    Um eine internationale überweisung mit bitcoins, die Sie brauchen, um herauszufinden, 2 Dinge: 1. Wie konvertieren von FIAT zu BTC und 2. Wie konvertiert man BTC mit FIAT.

    1. FIAT zu BTC
      Öffnen Sie ein Konto auf dem lokalen exchange. Ich finde diese Ressource nützlich: https://bitcoincharts.com/markets/list/ zu finden lokalen Börsen. Sie möchten ein Konto eröffnen, auf dem lokalen exchange-weil in der Regel, es ist billiger und schneller Geld zu überweisen lokal. Sobald Sie ein Konto Kauf von BTC ist in der Regel unkompliziert.

    Dinge im Auge zu behalten:

    • Stellen Sie sicher, dass Sie ein Konto eröffnen, in einem Austausch-und nicht ein Unternehmen, das sitzt oben auf einem exchange. Der Austausch in der Regel kostenlos von ~0,1 bis 0,5% pro Transaktion, während die Reseller in der Regel Kosten über 1%.
    • Stellen Sie sicher, dass Sie die spreads (die Differenz in den Kauf-und Verkaufspreisen) an der Börse. Wenn das tägliche Handelsvolumen auf einem exchange sind niedrig, die Chancen sind die spreads sind hoch, und Sie können am Ende overpaying für Ihre BTC.
    • Du bank Konto name und der eingetragene name auf den exchange übereinstimmen muss.

    Senden von BTC ist einfach.

    1. BTC mit FIAT
      Konvertieren BTC zurück zu FIAT müssen Sie sich auf einem exchange-in das Bestimmungsland. Sie benötigen, im Auge zu behalten, genau die gleichen Sachen wie bei Punkt 1. Darüber hinaus beachten Sie, dass die meisten Börsen verlangen 3-6 überprüfungen, bevor Sie verkaufen Ihre BTC auf den Austausch. Dies dauert im Durchschnitt 30 bis 60 Minuten und während dieser Zeit werden Sie ausgesetzt, um die Volatilität des Bitcoin.

    Um vereinfachen den Prozess der Herstellung für internationale überweisungen mit Bitcoin können Sie geben finmates.com versuchen. Das ist mein Unternehmen. Wir nehmen Ihre bitcoins und liefern der lokalen Währung an Ihre Empfänger und berechnen nur 1%.

    Having said, die oben IMO macht es Sinn, BitCoins, wenn: 1. Die Geld-transfer-Kanal nicht zu wenig (für Beispiel, nicht USA/Indien), daher gibt es nicht viel Konkurrenz und die Preise sind hoch. 2. Es gibt flüssigen Austausch an beiden enden der Transaktion (Letzte mal ich habe überprüft, breitet sich in Curacao (Karibik) wurden rund 10%. 3. Sie preisbewusst und machen transfers regelmäßig. IMO, wenn Sie die Antwort "ja" auf diese Fragen macht es Sinn, BitCoins, internationale Geldüberweisungen

    Für eine UK - /US-Senders Transferwise Gebühren ~0.5-1% je nach der Menge (mit einem minimalen von 2 Pfund oder 3 USD). Also IMO mit Transferwise ist einfacher und billiger.

    +291
    Grif2016 21.04.2014, 10:09:33

    Clark Moody ist was ich wähle für den schnellen Blick, denn es bietet grundlegende Leuchter, MA-und Auftragsbuch, aber das Orderbuch ist nicht visualisiert (soweit ich das sehen kann), sowieso wenn Sie wollen tiefer in beide Richtungen:

    beide haben Zugang zu den wichtigsten Bitcoin-Börsen und sind kostenlos.

    +283
    zevnicsca 05.09.2016, 11:43:19

    Ich sehe mehrere Münzen Werbung 1 Tag, PoW. Ein Beispiel ist diese Münze. https://github.com/concealcoin/concealcoin

    Ich studiere den code, aber müssen fehlt eine kritische Rolle, da keines der Mathematik, ergänzt um 1 Tag.

    Kann jemand Licht in diese? Welchen Teil von dem code bin ich?

    Main.cpp

    CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); // "standard" scrypt Ziel-Grenzwert für Nachweis von Arbeit, Ergebnisse mit 0,000244140625 proof-of-work-Schwierigkeit
    CBigNum bnProofOfStakeLimit(~uint256(0) >> 20);
    CBigNum bnProofOfWorkLimitTestNet(~uint256(0) >> 16);
    
    unsigned int nTargetSpacing = 1 * 30; // 30 Sekunden
    unsigned int nStakeMinAge = 24 * 60 * 60; // 24 Stunden
    unsigned int nStakeMaxAge = 30 * 24 * 60 * 60; // 30 Tage
    unsigned int nModifierInterval = 10 * 60; // Zeit, die verstreichen muss, bevor ein neuer Modifikator berechnet
    
    int nCoinbaseMaturity = 80;
    CBlockIndex* pindexGenesisBlock = NULL;
    int nBestHeight = -1;
    
    und die Belohnungen von main.cpp
    // miner Münze base-Belohnung
    int64_t GetProofOfWorkReward(int64_t nFees)
    {
     int64_t nSubsidy = 3500 * MÜNZE;
    
     wenn (fDebug && GetBoolArg("-printcreation"))
     printf("GetProofOfWorkReward() : create=%s nSubsidy=%"PRId64"\n", FormatMoney(nSubsidy).c_str(), nSubsidy);
    
     zurück nSubsidy + nFees;
    }
    

    Main.h

    static const int LAST_POW_BLOCK = 2880;
    
    static const unsigned int MAX_BLOCK_SIZE = 1000000;
    static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2;
    static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
    static const unsigned int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100;
    static const unsigned int MAX_INV_SZ = 50000;
    static const int64_t MIN_TX_FEE = 1000;
    static const int64_t MIN_RELAY_TX_FEE = MIN_TX_FEE;
    static const int64_t MAX_MONEY = 17000000 * MÜNZE;
    static const int64_t COIN_YEAR_REWARD = 3 * PROZENT; // 3% pro Jahr
    static const int64_t MAX_MINT_PROOF_OF_STAKE = 0.03 * MÜNZE; // 3% Zinsen jährlich
    static const int MODIFIER_INTERVAL_SWITCH = 2000;
    
    +278
    Rana001 31.10.2017, 05:45:24

    In dieser Zeit (2017) niemand wird geben Sie kostenlos Bitcoin, es sei denn, Sie gekauft haben, haben es irgendwo oder etwas ähnliches.

    Es ist wahrscheinlich ein spam - /phishing-Versuch @Greg sagte.

    +190
    lkraav 24.07.2014, 08:13:57

    Ich komme aus China und bin ein internationaler student in der U. S.. Meine Familie würde, wie Sie etwas Geld, um mich für meine Studiengebühren und Lebenshaltungskosten.

    Die übertragung über Banken kostenpflichtig, und den Verlust von Geld-Wert durch die Differenz zwischen den veränderungsraten von RMB zum US-Dollar und Umgekehrt.

    Kann bitcoin verwendet werden, für die übertragung von Geld mit weniger Kosten? Ich bin Total neu auf Bitcoin, und schätzen Ihre Beratung.

    Danke!

    +151
    Garrom 01.03.2018, 00:07:56

    Ich weiß, dass software für den Blitz-Netzwerk kann nur verwendet werden, mit testnet und nicht mit echten Bitcoins noch.

    Ich versuche zu wählen, die eine LN-software unter C-Lightning, ACINQ, AmikoPay, Donner, Beleuchtet und Lnd, um zu studieren und zu testen. Was sind die wichtigsten Unterschiede zwischen Ihnen?

    Danke!!!

    +125
    Lucas Pestana 24.07.2012, 20:19:43

    In der bitcoin-Transaktion version 2 gibt es zusätzlich zwei bytes (hex: "0001") zwischen Transaktions-version (hex: "02000000"), und die Anzahl der Eingänge (hex: "01"). Was ist es?

    Hier ist ein Beispiel https://btc-explorer.com/tx/4f692e7fb63256e4e741b952935e929ad545838d3697c5ee3f044a250c45fb4a

    Transaktion hex: "020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff4b031a0608048187145b622f4254432e434f4d2ffabe6d6dec50b9ca7f0e6731e89a2516f3df5fd7d65462ed2e68df7bf8e375232b7b28c701000000000000006200de217cb2aaea00000000ffffffff0212b0bf4a000000001976a91478ce48f88c94df3762da89dc8498205373a8ce6f88ac0000000000000000266a24aa21a9ed89dbbf72d51df862d19e0baa551d87e69b65a452496ec9d8203de66c754c30330120000000000000000000000000000000000000000000000000000000000000000000000000"

    +114
    Evan Cathcart 21.03.2019, 14:51:15

    ich habe nicht Lesen Sie den source-code für bitcoind, aber ich möchte wissen, ob es downloads "bad blocks", die später zurückgewiesen werden, die durch das Netz (und vermutlich auch später entfernt von bitcoind-block-Dateien)?

    ich habe ein script, das analysiert, block-Dateien in eine Datenbank und wenn ein block in den Dateien, die an einem Punkt in der Zeit, dann wird später entfernt, dann mein script (wie derzeit) wird am Ende das importieren der falsche block.

    wenn bitcoind nicht herunterladen, schlechte Blöcke, wie sollte ich vermeiden, importieren Sie diese in meine Datenbank? soll ich einfach warten und nie importieren Sie die aktuelle, sagen wir, 5 Blöcke?

    +56
    KorimLiDano 25.01.2010, 14:58:01

    Jedes mal, wenn ich mit bitcoin cash testnet Kern auf raspberry pi 3, es nur aus irgendeinem Grund beendet und der debug-Protokolle Ende beim laden der Brieftasche.

    So sieht der raspberry pi 3 cant handle bitcoin cash testnet Brieftasche?

    Hier ist das Protokoll, das endet jedes mal: 2018-01-29 00:53:20 init-Nachricht: die Belastung der Brieftasche...

    +32
    whyoz 20.04.2016, 06:06:04