Transactions
在 web3.js 中解鎖帳戶並進行交易
這個問題與this和this有關。它在這里和這裡也有部分答案。
在第三個連結中,該帳戶正在使用web3.js解鎖一段時間:
web3.personal.unlockAccount("0x..", "<passs>", 1000);
解鎖週期參數是可選的。
如何檢查帳戶是否被鎖定(在進行交易之前)?
解鎖已經解鎖的帳戶是否有任何功能後果?
目前在 web3 JS API 中沒有檢查帳戶是否被鎖定的方法。
但是,從程式碼來看,如果一個賬戶已經解鎖,那麼再次呼叫解鎖是沒有問題的。
// If the account address is already unlocked for a duration, TimedUnlock extends or // shortens the active unlock timeout. If the address was previously unlocked // indefinitely the timeout is not altered. func (am *Manager) TimedUnlock(a Account, passphrase string, timeout time.Duration) error {
為什麼我們只看
TimedUnlock()
,它大概只有在我們傳遞第三個參數時才會被呼叫?如您所述,解鎖週期參數是可選的。如果沒有提供,那麼我們呼叫
Unlock()
,它是一個 wrapper ,但它作為時間段TimedUnlock()
傳遞。0
因此,我們只需要考慮TimedUnlock()
解釋中的功能。