Я скомпилировал версию geth, в которой я изменил CalcDifficulty() в core/block_validator.go , чтобы сделать сложность майнинга постоянной, см . ссылку . Запуск частной сети, создание учетных записей и майнинг работают нормально.
Если я попытаюсь через консоль javascript разблокировать учетную запись, она сработает и вернет true .
personal.unlockAccount(eth.accounts[0])
Но когда я пытаюсь отправить транзакцию:
personal.sendTransaction({from:eth.accounts[0], to: eth.accounts[1], значение: 20000000})
Я получаю следующее:
Error: could not decrypt key with given passphrase
at web3.js:3104:20
at web3.js:6191:15
at web3.js:5004:36
at <anonymous>:1:1
Метод personal.sendTransaction
ожидает второй аргумент, пароль для эфемерной разблокировки учетной записи и отправки транзакции за один раз. Если вы не укажете пароль, эта конечная точка по умолчанию использует пустой пароль, что приводит к вашей проблеме.
Если вы хотите использовать уже разблокированную учетную запись для отправки транзакции (вместо эфемерной разблокировки и отправки), вы можете сделать это с помощью eth.sendTransaction
.
актуальный_кенгуру
актуальный_кенгуру