本文作者:陳進堅
博客地址:https://jian1098.github.io
CSDN博客:https://blog.csdn.net/c_jian
聯繫方式:[email protected]
版權聲明:文章僅在本人博客和CSDN博客中發佈,所有文章未經授權禁止轉載!
修改錢包密碼
其中–datadir參數是你的geth目錄,這個目錄裏面包含geth和keystore目錄
$ geth account update "aad71aaaef7ce2ca356b9b80d0c385eecd8ed1ae" --datadir "./data0"
先輸入舊的密碼解鎖
Unlocking account 0xaad71aaaef7ce2ca356b9b80d0c385eecd8ed1ae | Attempt 1/3
Passphrase:舊的密碼
再輸入兩次新的密碼,按回車完成
Unlocked account address=0xAAd71aAAEF7ce2CA356B9B80d0c385eeCD8eD1Ae
Please give a new password. Do not forget this password.
Passphrase:新的密碼
Repeat passphrase:再次輸入新的密碼
進入geth console解鎖錢包檢驗新的密碼
$ geth --port 3000 --networkid 15 --datadir="./data0" --maxpeers=3 --rpc --rpcport 8545 --rpccorsdomain "*" console
> personal.unlockAccount("0xaad71aaaef7ce2ca356b9b80d0c385eecd8ed1ae")
Unlock account 0xaad71aaaef7ce2ca356b9b80d0c385eecd8ed1ae
Passphrase:
true
修改默認賬號coinbase
geth console中執行
> miner.setEtherbase("0xa91Ae941e92eb6Fa78FE0d8215F01cbE6b7C014c")
覆蓋交易
當發送的交易還沒有交易完成時,以太坊是可以用新的交易將那筆未完成的交易覆蓋的,當交易的數量爲0時表示將交易覆蓋取消。當然,第二筆交易的gasPrice需要比被覆蓋掉的高。
nonce的作用:每個錢包地址發送都會產生一個nonce值,默認從0開始,這個地址每發送一筆交易nonce+1,類似數據庫的自增id,覆蓋交易就是發送相同nonce的一筆交易,將該筆交易覆蓋。當nonce比之前交易成功的nonce小,交易會被直接拒絕;當nonce比之前交易成功的nonce大2或以上,就是兩筆nonce不連續,那麼交易會一直等待。比如說上一筆交易成功的交易nonce爲4,這次交易的nonce爲6,那麼在nonce爲5的交易完成之後,nonce爲6以及大於6的交易都會暫停,不會交易成功。
1.查詢該錢包當前的nonce
> eth.getTransactionCount('0xa94183a1d6982a9703791Ec1DfF0093746030A78')
1827
說明從nonce爲0到1826的交易都成功了
2.發送指定nonce的交易
假設nonce爲1827的交易已經發送,但是未交易完成,我們可以將這筆交易覆蓋
> eth.sendTransaction({from:eth.coinbase,to:"0x8E9e5Db2Dd8B468CC9edC1f72Dd2948828d5285a",value:web3.toWei(0.01,'ether'),gasPrice:web3.toWei(0.000000004,'ether'),nonce:1827})
如果1826和1828之間缺了一筆1827,造成交易無法繼續,可以用同樣的方法發送交易補全nonce爲連續的數,當然發送的幣量可以爲0
Unable to attach to remote geth問題
如果使用geth attach命令打開控制檯出現:Unable to attach to remote geth: dial unix /home/www/.ethereum/geth.ipc: connect: permission denied"],一般爲權限問題,
輸入下面的命令修改權限爲www即可(LNMP環境),geth.ipc的路徑根據實際路徑修改:
cd /ethdb/ethereum/
chown -R www:www geth.ipc