搭建本地以太坊测试网时Geth报“personal is not defined”错误求助
解决Geth控制台中"personal is not defined"报错问题
问题原因
你添加的--http.api参数是用来配置HTTP RPC接口的可用API集合,而Geth内置的交互式控制台(console)的API权限由单独的--console.api参数控制,两者互不影响,所以之前的修改无法解决控制台内找不到personal模块的问题。
解决方案
方案1:启动时直接指定控制台可用API
修改启动命令,添加--console.api参数并包含personal:
geth --datadir ./data --nodiscover --console.api 'web3,eth,net,debug,personal' console 2>>geth.log
启动后再执行personal.newAccount("12345")即可正常创建账户。
方案2:进入控制台后手动加载personal模块
如果不想修改启动命令,进入Geth控制台后,执行以下命令加载personal模块:
loadScript("personal.js")
加载完成后即可使用personal相关方法。
额外提示
测试环境下虽可用简单密码,但建议尽量使用复杂度更高的密码,避免后续迁移到正式环境时养成不安全的习惯。
内容的提问来源于stack exchange,提问作者cystrix
相关产品推荐
相关产品推荐

