Ich schreibe eine Diplomarbeit über das Bitcoin-System und als Teil meiner Aufgabe muss ich den Bitcoin-Core-Quellcode untersuchen.
Ich habe den Code heruntergeladen, kompiliert und es geschafft, ihn auszuführen. Ich wollte jedoch eine triviale Änderung am Code vornehmen und einen einfachen benutzerdefinierten Befehl als Teil von blockchain.cpp hinzufügen . Das Problem ist, dass meine Änderungen nicht sichtbar sind, nachdem ich make ausgeführt habe und wenn ich bitcoin-cli -testnet ausgeführt habe.
Ich bekomme immer: Fehlercode: -32601 Fehlermeldung: Methode nicht gefunden
Außerdem habe ich versucht, eine bereits funktionierende Methode zu kommentieren und versucht, bitcoin-cli auszuführen und diese Funktion aufzurufen, und sie wird erfolgreich ausgeführt. HINWEIS: Der Befehl "make" läuft reibungslos und erkennt Fehler, falls vorhanden.
Kann mir jemand erklären, wie ich Bitcoin-Core ändern kann? Ich habe nicht vor, diese Änderungen in den Master-Branch zu pushen, ich bin nur daran interessiert, mit Code zu experimentieren.
Vielen Dank im Voraus :)
Um einen neuen RPC hinzuzufügen, müssen Sie die Funktion schreiben, die ihre Aktion implementiert, die Funktion zur Dispatch-Tabelle hinzufügen und die bitcoin-cli
Typumwandlungstabelle von aktualisieren.
Am Ende der RPC-Datei, zu der Sie Ihre Funktion hinzugefügt haben (in diesem Fall , src/rpc/blockchain.cpp
sehen Sie eine Tabelle mit allen RPCs in dieser Datei sowie einigen zusätzlichen Informationen über sie wie Kategorie, Name und Argumentnamen. Hinzufügen Ihren neuen RPC in diese Tabelle.
Wenn Ihr Befehl als Nächstes Argumente hat, die keine Zeichenfolgen sind, öffnen Sie src/rpc/client.cpp
diese Argumente und fügen Sie sie der vRPCConvertParams
dortigen Liste hinzu. In dieser Liste geben Sie den RPC-Namen, den Index des zu konvertierenden Arguments und den Namen dieses Arguments an.
ddavi031
ddavi031
Andreas Chow
ddavi031
ddavi031
Andreas Chow
make
kompiliert es.make install
kompiliert und kopiert dann die kompilierten Binärdateien an einen Installationsort. Wenn Sie die Binärdateien nicht direkt verwendet haben, indem Sie einen Pfad zu ihnen angegeben haben (dhsrc/bitcoind
undsrc/bitcoin-cli
), versucht Ihr System, sie zu finden, indem es sie in derPATH
.make install
kopiert die Binärdateien an einen Ort, der sich in derPATH
.