延长钱包锁定时间的解决方案如下
# 指定锁定时间为 1 天 = 86400 秒 keosd --unlock-timeout=86400
EOS 合约开发的时候,动不动就会提示 钱包已经锁定,很是烦人
Error 3120003: Locked wallet Ensure that your wallet is unlocked before using it!
有没有办法改变呢?
有的,答案就是启动钱包的命令 keosd
中的选项 --unlock-timeout
这个选项的解释如下
--unlock-timeout arg (=900) Timeout for unlocked wallet in seconds (default 900 (15 minutes)). Wallets will automatically lock after specified number of seconds of inactivity. Activity is defined as any wallet command e.g. list-wallets.
该参数以 秒 为单位钱包的锁定时间。默认是 15分钟,也就是 900 秒
但要注意的是,这个锁定时间是根据最后一次解锁,也就是 cleos wallet unlock
执行的时间开始计算的。
另一个需要注意的是,该选项的值必须大于 0, 如果设定为小于等于 0 的值会报错
keosd --unlock-timeout=-1 info 2018-11-10T00:51:26.912 thread-0 wallet_plugin.cpp:42 plugin_initialize ] initializing wallet plugin warn 2018-11-10T00:51:26.913 thread-0 se_wallet.cpp:283 check_signed ] Application does not have a valid signature; Secure Enclave support disabled warn 2018-11-10T00:51:26.914 thread-0 wallet_plugin.cpp:68 plugin_initialize ] 3120011 invalid_lock_timeout_exception: Wallet lock timeout is invalid Please specify a positive timeout -1 {"t":-1} thread-0 wallet_plugin.cpp:55 plugin_initialize
也就是说,不可以设定为永久性解锁状态,不过,我们可以设置的更长一些时间,比如一年
# 指定锁定时间为 1 年 = 60*60*24*365 keosd --unlock-timeout=31536000
目前尚无回复