miner.start(1) срабатывает, но не запускает майнинг

Я создаю свой собственный блокчейн Эфириума.

sudo geth --rpcapi eth,web3,personal --rpc --networkid=15

Команда выше дает следующие журналы.

INFO [09-18|10:16:42.151] Maximum peer count                       ETH=25 LES=0 total=25
INFO [09-18|10:16:42.153] Starting peer-to-peer node               instance=Geth/v1.8.15-stable-89451f7c/linux-amd64/go1.10
INFO [09-18|10:16:42.153] Allocated cache and file handles         database=/home/blockchain/.ethereum/geth/chaindata cache=768 handles=512
INFO [09-18|10:16:42.171] Initialised chain configuration          config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Constantinople: <nil> Engine: ethash}"
INFO [09-18|10:16:42.171] Disk storage enabled for ethash caches   dir=/home/blockchain/.ethereum/geth/ethash count=3
INFO [09-18|10:16:42.171] Disk storage enabled for ethash DAGs     dir=/home/blockchain/.ethash               count=2
INFO [09-18|10:16:42.171] Initialising Ethereum protocol           versions="[63 62]" network=15
INFO [09-18|10:16:42.173] Loaded most recent local header          number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [09-18|10:16:42.173] Loaded most recent local full block      number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [09-18|10:16:42.173] Loaded most recent local fast block      number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [09-18|10:16:42.174] Loaded local transaction journal         transactions=0 dropped=0
INFO [09-18|10:16:42.174] Regenerated local transaction journal    transactions=0 accounts=0
INFO [09-18|10:16:42.174] Starting P2P networking
INFO [09-18|10:16:46.891] UDP listener up                          self=enode://e919e98154dcddc4e6e6f847332795cbaf072607e410c2330702d3b66b4219eb98c4ebf39dc1ee2b21af74049926a5fb646542636f8835eb420157d825cc3102@[::]:30303
INFO [09-18|10:16:46.892] RLPx listener up                         self=enode://e919e98154dcddc4e6e6f847332795cbaf072607e410c2330702d3b66b4219eb98c4ebf39dc1ee2b21af74049926a5fb646542636f8835eb420157d825cc3102@[::]:30303
INFO [09-18|10:16:46.896] IPC endpoint opened                      url=/home/blockchain/.ethereum/geth.ipc
INFO [09-18|10:16:46.897] HTTP endpoint opened                     url=http://127.0.0.1:8545               cors= vhosts=localhost
INFO [09-18|10:16:59.561] Etherbase automatically configured       address=0xa76D511FCddEB3bCCa1Eb5B6bf4EC39a8d95668d

Затем я запускаю miner.start(1), используя консоль geth sudo geth attach ../.ethereum/geth.ipc, чтобы она добавляла строки ниже в журналы выше.

INFO [09-18|10:18:06.859] Updated mining threads                   threads=1
INFO [09-18|10:18:06.860] Transaction pool price threshold updated price=1000000000
INFO [09-18|10:18:06.860] Commit new mining work                   number=1 sealhash=d91037…57fc0d uncles=0 txs=0 gas=0 fees=0 elapsed=648.451µs

И после этого ничего не происходит.

К вашему сведению, miner.start(1)возвращается , nullно это не проблема, я думаю.

Не могли бы вы дать мне несколько советов, чтобы я мог найти возможные обходные пути, чтобы начать майнинг.

Ваш узел, по-видимому, неправильно настроен. действительно, если вы посмотрите на журналы, вы увидите, что он использует основную цепочку (ChainID = 1), а не сетевой идентификатор, который вы указываете. Вы уже создали DAG перед майнингом? (Обычно это требует некоторого времени).
Да, @Briomkez, на самом деле это заняло много времени.

Ответы (3)

вы можете попробовать использовать эту команду (rm -rf $HOME/.ethash) перед запуском geth. вот подробно

это уже пробовал.

Если вы используете окна с пользовательским каталогом данных, как я. Оказывается, Ethash все еще живет здесь: C:\Windows\System32\config\systemprofile\AppData. Мое решение состояло в том, чтобы удалить содержимое этого каталога вместо моего каталога данных. В среде Linux может быть эквивалент. См. свой отзыв о запуске канала IPC:

[2019.02.19-11:16:04.464350]: INFO [02-19|11:16:02] Starting peer-to-peer node instance=Geth/v1.7.3-stable-4bb3c89d/windows-amd64/go1.9. [2019.02.19-11:16:04.474094]: INFO [02-19|11:16:02] Allocated cache and file handles database=C:\\DTS\\Ledgers\\1111\\Ledger\\geth\\chaindata cache=128 handles=1024. [2019.02.19-11:16:04.485756]: INFO [02-19|11:16:02] Initialised chain configuration config="{ChainID: 1111 Homestead: 0 DAO: <nil> DAOSupport: false EIP150: <nil> EIP155: 0 EIP158: 0 Byzantium: <nil> Engine: unknown}". [2019.02.19-11:16:04.491861]: INFO [02-19|11:16:02] Disk storage enabled for ethash caches dir=C:\\DTS\\Ledgers\\1111\\Ledger\\geth\\ethash count=3. [2019.02.19-11:16:04.497462]: INFO [02-19|11:16:02] Disk storage enabled for ethash DAGs dir=C:\\WINDOWS\\system32\\config\\systemprofile\\AppData\\Ethash count=2. [2019.02.19-11:16:04.503220]: INFO [02-19|11:16:02] Initialising Ethereum protocol versions="[63 62]" network=1111. [2019.02.19-11:16:04.508075]: INFO [02-19|11:16:02] Loaded most recent local header number=0 hash=95ae19…a63ec2 td=0. [2019.02.19-11:16:04.512925]: INFO [02-19|11:16:02] Loaded most recent local full block number=0 hash=95ae19…a63ec2 td=0. [2019.02.19-11:16:04.518492]: INFO [02-19|11:16:02] Loaded most recent local fast block number=0 hash=95ae19…a63ec2 td=0. [2019.02.19-11:16:04.523792]: INFO [02-19|11:16:02] Loaded local transaction journal transactions=1 dropped=0. [2019.02.19-11:16:04.528894]: INFO [02-19|11:16:02] Regenerated local transaction journal transactions=1 accounts=1.

В частности, обратите внимание: C:\WINDOWS\system32\config\systemprofile\AppData\Ethash

Комментарий от @Briomkez - правильное начало - при запуске команды geth показывает, что вы подключились к ChainID: 1чему-то неправильному - это не ваша частная сеть.

Чтобы запустить частную сеть, создайте файл генезиса (мне нравится использовать puppeth).

После того, как вы создали файл генезиса, запустите geth init, здесь важно определить каталог данных.

geth --datadir test init ./testpow.json

Это «создаст базу данных, которая использует этот блок генезиса, запустите следующую команду. Это импортирует и установит канонический блок генезиса для вашей цепочки» — https://github.com/ethereum/go-ethereum/wiki/Private-network

Теперь запустите ту же команду, которую вы включили выше, но снова включите каталог данных здесь ->

geth --datadir test --rpcapi eth,web3,personal --rpc --networkid=15

когда вы запускаете эту команду, она покажет вам файл ipc, который используется напротив элемента строки:

ipc открыт

Убедитесь, что вы используете этот IPC при запускеgeth attach

После входа в консоль — при условии, что у вас есть созданная и разблокированная учетная запись, вы можете запустить , в miner.start(1)противном случае вам может потребоваться запустить personal.newAccount, чтобы создать учетную запись для майнинга, прежде чемrunning miner.start(1)

Вы также можете использовать эти флаги, чтобы начать майнинг из вашей команды geth.-unlock '0xaddress' --password ./password.txt --mine