Mining im Testnet nicht möglich

Ich möchte versuchen, im Testnet zu minen, ich verwende cgminer und ich habe es im Hauptnetzwerk zum Laufen gebracht, aber wenn ich es im Testnet ausführe, habe ich (im Debug-Modus):

] Testing pool http://127.0.0.1:18332
] Probing for GBT support
] HTTP request failed: The requested URL returned error: 500 Internal Server Error
] Failed to connect in json_rpc_call
] No GBT coinbase + append support found, pool unusable if it has no stratum
] HTTP request failed: The requested URL returned error: 500 Internal Server Error
] Failed to connect in json_rpc_call
] No Stratum, GBT or Solo support in pool 0 http://127.0.0.1:18332 unable to use

Ich habe es mit den Optionen generate=0 und gen=0 versucht, aber es scheint keine Wirkung zu haben.

Derzeit sieht meine .conf-Datei so aus: testnet=1 server=1 txindex=1 rpcallowip=0.0.0.0/24 rpcbind=0.0.0.0:18332 printtoconsole=-1 debug=1

Ich verwende die Bitcoin-Version 130100.

Es scheint, dass viele Tutorials veraltet sind und dass sich einige Optionen/Features geändert haben (wie Bitcoin-Kern Entfernung des internen Miners ).

Gibt es etwas, das ich übersehen habe?

EDIT : @lavajumper: Eigentlich hattest du Recht mit rpcallowip, aber in meinem Fall gab es andere rpcallowip-Definitionen und es war nicht die Ursache meines Problems (0.0.0.0/24 führt zu einem 403 (nicht autorisierten) Fehler).

Nach dem Upgrade der Version von bitcoind (Version 140100, Protokollversion 70015) konnte ich es ausführen (aber während der Blockchain-Verifizierung gab es auch 500 Fehler).

Im Moment kann ich es immer noch nicht mit Bitcoin 130100 ausführen, und ich weiß nicht warum ...

Antworten (2)

Ein möglicher Grund könnte sein, dass mit Bitcoin Core 0.13.1 die Verwendung einer SegWit-kompatiblen Mining-Software obligatorisch war. Wenn SegWit-Transaktionen in einem Block enthalten sind, ist eine Coinbase-Verpflichtung gegenüber den Zeugen gemäß den Konsensregeln erforderlich. Da die letztendliche Auswahl der Transaktion im Block von der Mining-Software vorgenommen wird, kann alte Mining-Software nicht zum Erstellen eines SegWit-Blocks verwendet werden. Auf testnet ist SegWit (BIP141) seit Mai 2016 aktiv.

In Bitcoin Core 0.14 wurde eine Änderung vorgenommen, die es erlaubt, alte Mining-Software weiter zu betreiben. Wenn eine solche Software erkannt wird, gibt Bitcoin Core einfach eine Blockvorlage zurück, die alle SegWit-Transaktionen ausschließt, wodurch die Notwendigkeit einer Coinbase-Verpflichtung verringert wird.

Ich denke, Ihre Subnetzdefinition in rpcallowip ist wackelig. Sie erlauben nur den Verbindungen 0.0.0.1 - 0.0.0.254, sich mit Ihrem Client zu verbinden. Dies schließt Ihren Localhost und wahrscheinlich Ihr LAN aus.

http://jodies.de/ipcalc?host=0.0.0.0&mask1=24&mask2=

Was Sie wahrscheinlich suchen, ist 127.0.0.1/32 oder verwenden Sie Ihr LAN-Subnetz (192.168.0.1/24?).

rpcallowip=127.0.0.1
rpcbind=127.0.0.1:18332
Nun, allowip=0.0.0.0 erlaubt alles (die aktuelle Konfiguration ist ziemlich die gleiche wie die, die ich im echten Netzwerk verwende, Hexe funktioniert). Ich habe Ihre Lösung ausprobiert, aber es war nicht das Problem, habe immer noch den gleichen Fehler :/
Ich würde die Datei bitcoind debug.log überprüfen, sie könnte einen Hinweis enthalten. Verbinden Sie cgminer direkt oder verwenden Sie eine Stratum-Schicht?
Auch aus dem lokalen Netzwerk versucht, aber ich habe die gleichen Ergebnisse in der Bitcoin-Debug-Konsole: > Empfangen einer POST-Anforderung für / von 192.168.0.15:44976 > Empfangen einer POST-Anforderung für / von 192.168.0.15:44978``` es hieß, dass es die Anfrage erhält, aber andererseits gibt cgminer den gleichen Fehler aus --- Bearbeiten: Ich verbinde cgminer direkt mitcgminer --anu-freq 250 -o http://192.168.0.15:18332 -u $BITCOIN_CORE_USER -p $BITCOIN_CORE_PASS --btc-address $ADDRESS --btc-sig $SIG -D
de.bitcoin.it/wiki/Running_Bitcoin ; rpcbind verwendet die Host:Port-Notation für IPv6, ansonsten setze ich die Option 'rpcport'. Außerdem setze ich normalerweise rpcuser und rpcpassword. Der 500-Fehler deutet darauf hin, dass auf der Bitcoin-Seite etwas nicht stimmt.
rpcuser und rpcpassword sind gesetzt, ich habe es nur nicht gepostet, mit oder ohne rpcbind versucht, das Bitcoin-Log meldet zu diesem Zeitpunkt keinen Fehler, eigentlich gar nicht ...
Da bin ich selbst etwas ratlos. Dinge, die ich zuerst überprüfen würde: Sind Sie mit Testnet verbunden? Haben Sie die Verbindung mit bitcoin-cli überprüft, um die Synchronisierung zu bestätigen? Kannst du 'getpeerinfo' bekommen? Kannst du 'getmininginfo' bekommen? Versuchen Sie vielleicht, einen Stratum-Proxy einzurichten und zu sehen, ob dieser eine Verbindung herstellen kann. ? Wie gesagt, die 500-Fehler deuten darauf hin, dass cgminer mit Bitcoin spricht, aber Bitcoin (zumindest der Teil des Json-RPC-Servers) erstickt. Ich glaube nicht, dass cgminer 500 melden würde, wenn es sie nicht von Bitcoin bekommen würde.