Geth Error: account unlock with HTTP access is forbidden

当在geth控制台使用personal.unlockAccount()方法解锁指定的账户时, 或者在程序中调用Geth的personal_unlockAccount接口时,有可能会操作失败 并提示错误:Error: account unlock with HTTP access is forbidden

故障原因

这是因为在更新后的Geth中,出于安全考虑,默认已经禁止从HTTP通道解锁账户了, 你可以查看Github上的这个17037# issue 了解这一更新。

解决方案

如果你了解安全风险并一定要通过HTTP来访问账户解锁功能,可以在启动geth时 添加--allow-insecure-unlock选项。例如:

1
geth --rpc --rpcapi eth,web3,personal --allow-insecure-unlock