Das hinzufügen neuer Dateien Makefile.bin

Ich brauche etwas Hilfe mit dem hinzufügen von Dateien in die code-Basis, indem Sie das autotools-build-system. Andere Beiträge , die versuchen, Sie zu beantworten die gleiche Frage habe mir nicht geholfen. Ich bin das Experimentieren mit Bitcoin Codebasis und ich bin versucht, neue Dateien hinzufügen, um die codebase. Ich bin versucht, fügen Sie eine statische Bibliothek in src/Makefile.bin durch hinzufügen der folgenden Zeilen:

LIBGLYPH=libglyph.ein

libglyph_a_SOURCES = \
Glyphe ' /glp.c \
 Glyphe ' /glp_utils.c \
 Glyphe ' /glp_rand.c \
 Glyphe ' /glp_rand_openssl_aes.c \
 Glyphe ' /FFT/FFT_1024_65537.c \
Glyphe ' /Konverter.c
libglyph_a_CPPFLAGS = $(AM_CPPFLAGS)
libglyph_a_CFLAGS =
libglyph_a_CXXFLAGS = $(AM_CXXFLAGS)

 EXTRA_LIBRARIES += \
 $(LIBBITCOIN_CRYPTO) \
 $(LIBBITCOIN_UTIL) \
 $(LIBBITCOIN_COMMON) \
 $(LIBGLYPH) \
 $(LIBBITCOIN_CONSENSUS) \
 $(LIBBITCOIN_SERVER) \
 $(LIBBITCOIN_CLI) \
 $(LIBBITCOIN_WALLET) \
$(LIBBITCOIN_ZMQ)

bitcoin_tx_LDADD = \
 $(LIBUNIVALUE) \
 $(LIBBITCOIN_COMMON) \
 $(LIBBITCOIN_UTIL) \
 $(LIBBITCOIN_CONSENSUS) \
 $(LIBBITCOIN_CRYPTO) \
 $(LIBGLYPH) \
$(LIBSECP256K1)

bitcoind_LDADD = \
 $(LIBBITCOIN_SERVER) \
 $(LIBBITCOIN_COMMON) \
 $(LIBUNIVALUE) \
 $(LIBBITCOIN_UTIL) \
 $(LIBBITCOIN_WALLET) \
 $(LIBBITCOIN_ZMQ) \
 $(LIBBITCOIN_CONSENSUS) \
 $(LIBBITCOIN_CRYPTO) \
 $(LIBLEVELDB) \
 $(LIBLEVELDB_SSE42) \
 $(LIBMEMENV) \
 $(LIBGLYPH) \
$(LIBSECP256K1)

Ich habe versucht, mindestens 30 verschiedene Zusammenstellung versucht, wo ich neu geordnet, die Zusammenstellung und/oder umbenannt die Bibliothek.

Fehler:

make[3]: Entering directory '/home/joe/Glyphe/glyphCodebase/BitcoinUnlimited/src/secp256k1'
make[3]: Leaving directory '/home/joe/Glyphe/glyphCodebase/BitcoinUnlimited/src/secp256k1'
 CXXLD bitcoind
libbitcoin_common.ein(libbitcoin_common_a-Taste.o): In function `CKey::MakeNewKey()':
/home/joe/Glyphe/glyphCodebase/BitcoinUnlimited/src/ - Taste.cpp:25: undefined reference to `glp_gen_sk(glp_signing_key_st*)'
libbitcoin_common.ein(libbitcoin_common_a-Taste.o): In function `CKey::GetPubKey() const':
/home/joe/Glyphe/glyphCodebase/BitcoinUnlimited/src/ - Taste.cpp:48: undefined reference to `glp_gen_pk(glp_public_key_st*, glp_signing_key_st)'
collect2: Fehler: ld zurückgegeben, 1 exit status
Makefile:3556: Rezept für Ziel 'bitcoind' ist fehlgeschlagen
make[2]: *** [bitcoind] Fehler 1
make[2]: Leaving directory '/home/joe/Glyphe/glyphCodebase/BitcoinUnlimited/src'
Makefile:9207: Rezept für Ziel "all-recursive' ist fehlgeschlagen
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory '/home/joe/Glyphe/glyphCodebase/BitcoinUnlimited/src'
Makefile:670: Rezept für Ziel "all-recursive' ist fehlgeschlagen
Hersteller: *** [all-recursive] Fehler 1

Dieser Fehler tritt auf, trotz libglyph.ein gemacht und, die Funktionen enthalten. Ich habe versucht, fügen Sie die Bibliothek-header und C-Dateien, um gemeinsame Bibliothek mit kein Glück entweder. Ich ordnete die EXTRA_LIBRARIES Abschnitt des Makefile.bin mit kein Glück.


Um Sie zu vereinfachen das problem, hier ist ein wirklich einfaches Beispiel, das spuckt die selbe Fehlermeldung aus:

Hinzufügen 1 .h und 1 .cpp-Datei zu 1 bereits gemacht-Bibliothek: libbitcoin_common neue Dateien: src/testFile.cpp src/testFile.h

testFile.h:

void testFunction();

testFile.cpp

#include "testFile.h"
#include <stdio.h>

void testFunction() {
 printf("ich bin eine test-Funktion");
}

folgende Zeilen Hinzugefügt key.cpp:

#include "testFile.h"

void CKey::MakeNewKey()
{
testFunction();
...
...
...
}

Dann in src/Makefile.bin

BITCOIN_CORE_H = \
testFile.h \
...
...

und das testFile, um die gemeinsame Bibliothek, wo key.cpp ist aber wie gesagt von Pieter Wuille hier

# common: gemeinsame zwischen bitcoind, und bitcoin-qt und nicht-server-tools
libbitcoin_common_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
libbitcoin_common_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
libbitcoin_common_a_SOURCES = \
 Betrag.cpp \
 base58.cpp \
 chainparams.cpp \
 Münzen.cpp \
 Kompressor.cpp \
 core_read.cpp \
 core_write.cpp \
 keystore.cpp \
 netaddress.cpp \
 netbase.cpp \
 Protokoll.cpp \
 scheduler.cpp \
 Skript/sign.cpp \
 Skript/standard.cpp \
 Schlüssel.cpp \
 testFile.cpp \
$(BITCOIN_CORE_H)

Der Fehler:

libbitcoin_common.ein(libbitcoin_common_a-Taste.o): In Funktion 
`CKey::MakeNewKey()':
/home/joe/Glyphe/glyphCodebase/BitcoinUnlimited/src/ - Taste.cpp:23: undefined reference to `testFunction()

Bitte helfen Sie mir mit diesem. Vielen Dank

+486
user1624173 21.12.2018, 05:32:27
25 Antworten

Möchten, senden BTC von einer Adresse zu einer anderen Adresse ohne Verwendung JSON-RPC.

Gefolgt und verwendet:

  1. https://bitcore.io/api/

  2. https://www.npmjs.com/package/bitcoin-transaction/v/1.1.1

2.: bitcoin-Transaktion zu Arbeiten gut für testnet aber geben jedes mal neue Fehler für die Mainnet.

Wenn jemand weiß, eine bessere Möglichkeit zum senden von BTC, bitte lassen Sie mich wissen.

+987
user168257 03 февр. '09 в 4:24

Ich habe das Problem durch das anbringen von input-info bei Abschluss der Transaktion.

createrawtransaction:

createrawtransaction '[{"txid":"0cb0c97c206bf2229fac8800fe05410d23bbc5afe2b243ff921ef2065b210b34","vout":1,"scriptPubKey":"76a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac"}]' '{"mtRWdkBpAyz8pUoCYobABvnEe1xFPqvkjn":0.36972432}'

Ergebnis:

0100000001340b215b06f21e92ff43b2e2afc5bb230d4105fe0088ac9f22f26b207cc9b00c0100000000ffffffff0280969800000000001976a9148d9222948aff2a22c6c0fe7a05f7edd3c1b0ab9f88ac10919b01000000001976a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac00000000

dann signrawtransaction:

signrawtransaction '0100000001340b215b06f21e92ff43b2e2afc5bb230d4105fe0088ac9f22f26b207cc9b00c0100000000ffffffff0280969800000000001976a9148d9222948aff2a22c6c0fe7a05f7edd3c1b0ab9f88ac10919b01000000001976a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac00000000' '[{"txid":"0cb0c97c206bf2229fac8800fe05410d23bbc5afe2b243ff921ef2065b210b34","vout":1,"scriptPubKey":"76a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac"}]' '["cUhHXQLPaNSPNh2rRiWSarn5jEoJ26Hvrayjlcfxndsayzentthe"]'

Ergebnis:

{ "hex" : "0100000001340b215b06f21e92ff43b2e2afc5bb230d4105fe0088ac9f22f26b207cc9b00c010000006a47304402200d3f8a6430f952199d7f4550328ae980f9926b13f7c78f8a5640ecd445aa20bf022074a7e1ec5d27d83da6bb19a8fe9ef9757e40fa86a9b1437c27031be015d82db40121032effa843ad1052540de3ae323a165101bc2e980c76b69bdc69444e3ef599054effffffff0280969800000000001976a9148d9222948aff2a22c6c0fe7a05f7edd3c1b0ab9f88ac10919b01000000001976a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac00000000" "vollständig" : true }
+934
Geza 26.08.2013, 13:36:05

Ist es nicht möglich, die person zu identifizieren, die hinter einer wallet Adresse. Vielleicht ist die Adresse geschrieben, auf einer persönlichen website oder etwas wie das. Aber wenn es nicht es gibt keinen Weg, um mehr info über die person hinter dieser Adresse.

+888
Alexander Taikh 06.11.2019, 07:56:23

Der Autor dieses Papieres zu haben scheinen, setzen einige Gedanken in das problem, das Sie beschreiben, und hat vorgeschlagen, eine Lösung, scheint relevant zu deiner Frage:

Ein neuer HD-wallet, das verträgt Schlüssel Leckage Master-key-generation. Statt einer master-private-key, unsere HD-Brieftasche verwendet m master private Schlüssel ˆd1, . . . ,ˆdm für einige Recht-Größe m werden determinedby die Anforderungen der Brieftasche. (Zum Beispiel in der kombinierten Schatzmeister-Rechnungsprüfer use-case-Abschnitt 2 m muss größer sein als die Anzahl t der Abteilungen in der Organisation.) Halten Sie die master-private-key Größe nach unten, diese master-private-keys erzeugt werden, die pseudorandomly ohne Verlust an Sicherheit mit, sagen wir, therudimentary deterministische wallet wie in Abschnitt 1 beschrieben.*

https://eprint.iacr.org/2014/998.pdf

+869
Brian Clozel 10.12.2015, 07:31:29

Dies könnte als Ergebnis einer vorherigen ChainDB mit initialisiert wurde unter ~/.bcoin/Kette.ldb/ . Sie finden Informationen in der debug.log-Datei. z.B.

[I:2017-07-17T09:11:47Z] (chaindb) Eröffnung ChainDB... [E:2017-07-17T09:11:47Z] (node) Netzwerk-mismatch für die Kette.

  1. erstellen Sie einen neuen Speicherort für die Kette, z.B. ~/.bcoin/testnet/
  2. kopieren Sie die oben genannten config mit der aktualisierten Präfix gemäß der obigen
  3. ausführen bcoin --prefix ~/.bcoin/testnet/

Standard-Präfix ist "~/.bcoin/", Sie können dies überschreiben, indem Sie das Präfix cli flag

+832
Pazzilivo 14.12.2015, 17:30:08

Sie sollten warten, bis die Bestätigungs-Zeit. wenn es angenommen wurde, durch die blockchain dann ja, es wird bestätigt und werden in Kürze ausgestrahlt.

+677
allena gashti 13.09.2015, 10:13:37

Da die Blöcke wurden nicht abgebaut in weniger als 10 Minuten im Durchschnitt in dieser Zeit (so die Schwierigkeit würde nur verringern und nicht erhöhen), und die Schwierigkeit kann nicht niedriger als 1 ist.

+648
user1517108 10.11.2016, 11:49:05

Erstellen Sie einfach eine neue Bitcoin-exchange-Vergleichstabelle auf 99Bitcoins.

+635
kombot 25.02.2017, 15:29:09

Was sind die Schwächen, die wir Gesicht mit lightning-routing derzeit?

Wie viele Knoten erwarten wir es handhaben kann, jetzt?

Was wird getan, um es Maßstab in der Zukunft?

+635
Bois 14.06.2019, 01:13:09

Ich bin nicht in der Lage zu finden, die bitcointalk-thread/github Thema reden, sondern ein block-index opcode wurde in Betracht gezogen und verworfen.

Der Grund (wenn ich mich Recht erinnere) ist, dass es wichtig ist, dass, wenn eine Transaktion nicht in einem block, kann es immer noch in einem anderen block. Es wäre sehr verwunderlich, wenn eine Transaktion storniert wurde, weil der block es war ausgestorben, und der block, der ersetzt es hatte einen timestamp von zehn Sekunden später.

Natürlich könnte man dies vermeiden, indem Sie erkennen, wenn eine eingehende Zahlung hat man von der Zeit/block abhängig opcodes in es. Das nächste problem, das Sie lösen müssen, ist, dass jemand könnte eine Zeit-abhängige Transaktion, dann verbringen Sie einen dieser Ausgänge mit einer normalen Transaktion. Würde es Aussehen wie eine normale Transaktion, um die person, die Sie schickte es an, aber würde es tatsächlich davon abhängen, eine Transaktion, die ungültig werden, wenn in einem anderen block.

Keines dieser Probleme unlösbar, aber ohne eine überzeugende nutzen-Falle, Sie sind nicht Wert, die Komplexität. In dem Beispiel, das Sie geben, die gleiche Sache könnte erreicht werden, indem Sie Ihre privaten Schlüssel in einem Safe und bereit, Ihre Inhalte zu Ihrem Enkel.

Außerdem kann dein problem Art gelöst werden nLockTime. Sie können eine Transaktion senden Sie Ihre Bitcoins an eine Adresse gesteuert, die von Ihrem Enkel; die nLockTime verfallen zu einem bestimmten Zeitpunkt; und zerstören die privaten Schlüssel signieren, die Transaktion. Das problem dabei ist, dass die Transaktion nicht gehalten, auf die blockchain. Auch Ihr Enkel hatte besser nicht verlieren, dass private Schlüssel. :)

Kommentatoren, bitte läuten, wenn Sie finden, wo dies diskutiert wurde.

+606
ElizabetBennet 27.10.2017, 22:32:35

Ich glaube, btc haben eine viel höhere wirtschaftliche Aktivität zum Zeitpunkt der Gabel. Wenn jemand sendet Kapital in btc, was hält jemand, der nicht gerne btc2x nur wiedergeben, dass die gleiche Transaktion auf btc2x? Das wird mischen, um Mittel, um die verschiedenen Adressen und verursachen viel Kapital, um am Ende im Geldbeutel, die niemals gefunden.

Ein Schutz gegen replay-Angriffe ist die erste verschieben, die andere Münze zu einem neuen Geldbeutel, aber wenn jemand bewegt sich automatisch die Münzen in der anderen Brieftasche aswell durch die Veröffentlichung der gleichen Transaktion auf dem anderen Netzwerk, ist dieser Schutz nicht funktionieren.

+571
3hough 03.12.2018, 06:08:54

Ich studiere das bitcoin-Protokoll und ich don ' T haben sehr klare Dinge, zum Beispiel der logische Faden, der besteht zwischen einer Ausgabe-Transaktion und einer anschließenden input-Transaktion, wo die Ausgabe erfolgt direkt.

Ich erkannte, dass die input-Transaktion enthält den Verweis auf den Ausgang der Transaktion durch die Outpoint-Typ, aber jetzt, wie konnte die input-Transaktion in Bezug auf die Ausgabe-Transaktion erkannt werden?

ein Beispiel

Bob verkauft einen Kaffee zu Alice und Alice zahlt in Bitcoin, dann bob verbringt seine input-Transaktion aus der alice-Ausgang Transaktion, Jetzt will ich zu finden, und die beiden Rawtransactions, wo die alice-Transaktion Informationen und die bob-Informationen enthalten sind, die für die Verbindung der zwei RawTransactions. Ich glaube, dass habe ich nicht verstanden, keine wichtige Schritte, um dies zu tun

Sorry für mein schreckliches Englisch, aber ich Lerne

+533
JRT 24.12.2016, 01:32:14

Ich habe eine Brieftasche auf Breadwallet, die ich verschieben möchten, um Myzel. Beide apps unterstützen Sie die Regeneration Sätze, jedoch Breadwallet verwendet BIP39 Sätze, während die Myzel verwendet BIP44 Sätze. Ist es möglich, zu konvertieren von einem format in das andere, und wenn ja, könnten Sie mir alle Werkzeuge, die dies tun können?

+524
Assolina 19.04.2011, 09:09:37

Öffnen Sie den alten client und bekommen Sie die privaten Schlüssel aus der Brieftasche. Dann vermeiden Sie die gesamte blockchain, um ein SPV-client wie Electrum, und importieren Sie den Schlüssel.

+469
Andrew Horner 25.12.2010, 10:18:55

Ich habe das problem gelöst, indem die änderung der url, wie folgt. http://'rpcuser':'rpcpassword'@127.0.0.1:8332'

+469
Ananas 02.06.2018, 23:05:20

createrawtransaction hat eine option für die Daten. Das schafft eine OP_RETURN Ausgang mit welchem hex-codierte Daten, die Sie wollen in ihm. So hätte man ein createrawtransaction Befehl, der ungefähr so aussieht:

createrawtransaction '[]' '{"data":"deadbeef"}'
+383
Chokoladka 19.08.2018, 17:04:38

Ich Frage mich, ob es möglich ist zu drucken, was Los ist unter der Haube, was den Prozess der von a-random-Binär-Zahl in eine BTC Adresse.

Es wird in etwa so Aussehen:

Input: eine zufällige 256 binäre Zahl

Ausgabe: print()

Drucken Sie alle möglichen sequentiellen Staaten aus, die Zahl auf eine BTC Adresse.

PRIVATEN SCHLÜSSEL STAATEN

binäre privKey [k] -> dezimal-privKey -> hexadezimal-privKey -> WIF-privKey

PUBLIC-KEY-STAATEN

decimal print pubKey(x,y) -> print K, wobei [K=(x,y)] -> hexadezimal PubKey (A) -> print A=RIPEMD160(SHA2569(K))

Es wird helfen, eine Menge Menschen interessiert, die details der Erstellung BTC-Adressen, die von der elliptischen Kurve privaten zur public-key-Verfahren (K=k*G) zu den anderen encoding-Schritte, bis die Letzte Adresse.

Auf GitHub und anderen Orten .js oder .py - Bibliotheken einfach drucken Sie die WIF-Schlüssel und die Adresse, und manchmal der hexadezimale öffentlichen Schlüssel als gut.

Danke.

+345
Akaedintov 29.09.2017, 14:54:05

Obwohl es noch nicht lanciert noch, irgendwann http://codeforbitcoins.com wird es ermöglichen, die Entsendung und die Arbeit über die Programmierung jobs für bitcoins

+307
Monica Yelle 24.07.2016, 05:53:05

Finden Sie die hardfork Wunschzettel auf dem Bitcoin-wiki.

+279
Matt Green 28.06.2017, 17:59:52

Nach der Fisherine Menge Geld...

Die Anwendung der Gedanken des Fisherine Quantitätstheorie zu BTC könnte eine mögliche Antwort:

  • P = Fairer Wert der BTC (D. H. in einer Fremdwährung)
  • Y = Volumen des Handels (jeweils in fremder Währung) -> Güter und Dienstleistungen gekauft!
  • V = Geschwindigkeit des BTC
  • M = Menge der BTC

P = Y/(V*M) -> z.B.: 5 USD/BTC= USD 5'000'000/ (1*1'000'000)

Oder nach Hazlitt & Mises...

Die Kritiker der Fisherine Theorie behaupten, dass Veränderungen im Preisniveau sind unabhängig von der Geldmenge, sondern abhängig von Veränderungen im Menschen die relativen Bewertungen von Geld und Gütern, verursacht eine höhere/ niedrigere Lautstärke des Handels, die Ergebnisse zu Veränderungen des V (http://mises.org/daily/2916).

Kombiniert diese Aussage mit der Tatsache, dass flexible Preise verhindern, dass die Möglichkeit der arbitrage könnte man sagen, dass es keine fundamentalen oder Ziel hohen oder niedrigen Wert der BTC im Vergleich zu anderen Währungen. Dies führt zu der Annahme, dass Personen, die BTC, die Käufer von G&S und regelmäßige Spekulanten** , haben den Wert der Wert Ihrer Brieftasche relativ zu dem Wechselkurs, für die Sie gekauft Ihre BTC (und Ihr Vertrauen in die künftige Entwicklung der Wechselkurse), zu entscheiden, zu kaufen waren und Dienstleistungen oder den Austausch Ihrer BTC gegen ausländische Währungen, die an beiden enden bis in eine erhöhte Zufuhr von BTC** und außerdem scheint höchst subjektiv und unberechenbar.

** Darüber hinaus hat man zu überlegen, welche Anreize die verschiedenen Individuen ausgesetzt sind, tauschen Ihre BTCs in ausländischen Währungen: die Lieferanten von Gütern und Dienstleistungen haben sollten, fast kein Anreiz holding BTC in Bezug auf das Risiko der Wechselkurse - so nutzen Sie einfach BTC als ein Mittel des Austausches mit eigenen (ausländischen) Währung, die für die Speicherung Wert. Käufer von Waren und Dienstleistungen, angesichts der Menge an BTC, die Sie halten, verteilt sich auf eine größere Anzahl von Personen (eine kleinere Menge von BTC pro Kopf im Vergleich zu den Lieferanten) nicht stehen so das ein erhebliches Risiko, und deshalb haben Sie weniger Anreize, den Austausch von BTC in die Fremdwährung, in der Tat scheint es mehrere Gründe für die Käufer zu halten BTC. Nur als Lieferanten Bergleute sollte auch Gesicht einen Anreiz, den Austausch von BTCs, die aufgrund Ihrer Kosten, der Bergbau, die sind auch gekennzeichnet in einer ausländischen Währung. Regelmäßige Spekulanten/ Anleger reagieren antizyklisch: Kaufen BTC zu niedrigen Preisen und verkauft Sie zu hohen Preisen.

+276
WestStreetWalker 10.04.2012, 02:07:10
Dieser tag sollte verwendet werden, für Fragen bezüglich Bitcoin Core-Entwicklung. Dies beinhaltet Fragen über den Quellcode und die Entwicklung des Bitcoin-Core.
+240
Marc Claesen 18.03.2010, 01:33:41

Die Erfolg-Nachricht sagt Ihnen, dass Ihre Anfrage eine Bestellung erfolgreich war, nicht, dass der Auftrag erfüllt wurde. Für die Umfrage Geld/Auftrag/Ergebnis.

Außerdem benutze ich die übermittlung der Bestellung API V2 und es antwortet mit einer unzureichenden Mitteln Fehler. Wenn Sie mit der älteren V0/V1-APIs, können Sie ein upgrade durchführen möchten.

+202
Sfrice 02.06.2015, 01:57:40

Nein, bitcoin core nicht über einen solchen verfügen.

+128
hector 27.12.2015, 01:21:30

Wenn Sie sich eine Transaktion mit schnorr-Signaturen, nicht den pubkey in den Bewegungsdaten.

1)bedeutet dies, dass die input-Adressen werden unbekannte, auch bekannt als die Schaffung einer undurchsichtigen blockchain ?

2) Wie kann man sicherstellen, dass beispielsweise bitcoin immer noch nur 21 Millionen bitcoins ?

3) Wie funktioniert die UTXO set aktualisiert und als später verifiziert durch andere, sehen nur die output-Adresse schon bekannt ist.

+64
kamal derhamoune 15.12.2010, 01:33:40

Ich kann nicht herausfinden, warum dieser block hat 0 coinbase mit 0 Transaktionen... aber immer noch ein Gültiger block ist? Oder ist es leer? Nach whalepanda dies coinbase geopfert wurde, von unbekannten Bergmann.

Finden Sie den block an der Höhe 501,726

+52
jasonhu5 24.01.2013, 00:08:42

Fragen mit Tag anzeigen