Развернутые методы смарт-контракта не обновляют значение при перезапуске экземпляра geth. Почему?

Запустил Geth с помощью следующей команды

geth --identity "testpvtnode" --rpc --rpcport "8545" --rpccorsdomain "*" --datadir <pvtnetdatapath> --port "30303" --rpcapi db,eth,net,web3,personal --networkid 123 console 2>> Logfile

Доступ к развернутому контракту через пользовательский интерфейс, созданный по следующим ссылкам: ( счетчик , Stack Exchange Question, связанный с созданием пользовательского интерфейса )

Я успешно создал пользовательский интерфейс и взаимодействовал со SmartContract, но функции не работают должным образом (можно вызвать функцию и успешно выполнить транзакцию, но значение счетчика не обновляется) после перезапуска экземпляра Geth.

Обратите внимание: частная сеть находится на моем компьютере (не настроен как сервер)

вы заминировали транзакции?

Ответы (1)

Я думаю, вам нужно добывать свои транзакции, используя:miner.start()

вам следует подождать некоторое время после того, как вы добыли, вы можете остановить процесс майнинга, используяminer.stop()

Но перед этим вы должны загрузить minerAPI, используя командную строку geth:

--rpcapi db,eth,net,web3,personal,miner 
Я использовал miner.start()и miner.stopв своем коде DApp, но он не выполняется (используется как web3.miner.start()и web3.miner.stop()). Код застрял на web3.miner.start(). С той же проблемой я сталкиваюсь web3.personal.unlockAccount. Поэтому мне всегда приходится запускать майнер и разблокировать учетную запись через консоль geth. Вы знаете, как решить эту проблему?
используйте miner.start и stop на вашей консоли geth, а не на вашем коде.
Я всегда делаю только так. Но это очень сложно делать на консоли каждый раз. Почему API нельзя использовать в коде DApp?
вы можете использовать скрипт для автоматизации майнинга ethereum.stackexchange.com/questions/10262/…
Но я хочу добавить API майнинга в свой код DApp.