您好,登錄后才能下訂單哦!
如何使用GETH CLI在以太坊網絡進行資金轉賬交易,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
完成同步的以太坊區塊鏈節點后,就可以通過使用GETH CLI在以太坊網絡上執行交易。
首先我們來鏈接GETH控制臺,查詢以太坊帳戶的余額:
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4")
> 7500000000000000000
我想,你可能會想為什么7.5ETH在Geth控制臺中顯示為75000000000000000?
以太坊虛擬機不支持小數或浮點數。顯然,金融計算在整數中更容易。
因此,為了能夠發送1 ETH的一小部分,以太坊基金會決定創建自己的單位系統,其中最小單位為1 Wei,1 Ether為1e18 Wei。
但不用擔心,有些工具可以讓你的生活更輕松。例如,我強烈推薦Ether to Wei在線轉換器:
https://etherconverter.online
為了發送價值15美元的以太,其中1 ETH == $200(舊時代......),你將發送0.0740 ETH的交易,這必須在Wei中表示為74000000000000000。
在線Ether to Wei轉換器:
以太坊單位系統概述:
實戰中來掌握。讓我們實際發送74000000000000000 wei(15美元)到另一個帳戶。
在一個終端中,請記住運行完全同步的區塊鏈節點:
geth --rinkeby --datadir=~/.gophersland_ethereum_r1 --port=30304 --cache=2048 --rpc --rpcport=8546 --rpcapi=eth,web3,net,personal --syncmode=fast
在另一個終端,我們將創建我們的第二個以太坊帳戶。
ls -la ~/.gophersland_ethereum_r1/keystore/> drwx------ 2 enchanter enchanter 4096 sep 24 15:36 .> drwx------ 4 enchanter enchanter 4096 sep 24 15:26 ..> -rw------- 1 enchanter enchanter 491 sep 24 15:36
UTC--2018-09-24T13-36-43.069452577Z--ceee57f2b700c2f37d1476a7974965e149fce2d4geth --datadir=~/.gophersland_ethereum_r1 account new> INFO [09-24|15:36:33.566] Maximum peer count ETH=25 LES=0 total=25> Your new account is locked with a password. Please give a password. Do not forget this password.
> Passphrase: > Repeat passphrase: > Address: {7aa4a14286a25e3a275d7a122c23dc3c107a636a}ls -la ~/.gophersland_ethereum_r1/keystore/> drwx------ 2 enchanter enchanter 4096 oct 25 20:14 .> drwx------ 4 enchanter enchanter 4096 oct 25 19:48 ..> -rw------- 1 enchanter enchanter 491 sep 24 15:36
UTC--2018-09-24T13-36-43.069452577Z--ceee57f2b700c2f37d1476a7974965e149fce2d4
現在,讓我們將Geth控制臺鏈接到當前運行的區塊鏈節點,就像我們在上一篇文章中所做的那樣,以便通過執行eth.sendTransaction
命令將15美元轉賬到這個新創建的帳戶。
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4",to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})
Error: authentication needed: password or unlock.
,錯誤提示:需要驗證密碼或解鎖。
你應該看到類似上面一個錯誤。這是因為發送以太是一個交易transaction
,一個交易改變狀態,花費成本,并花費資金。這意味著它需要使用存儲在密鑰庫中的私鑰進行簽名。為了解密密鑰,我們必須提供密碼,換句話說,解鎖帳戶。
執行以下命令以解鎖帳戶并設定解鎖有效期60s,并再次執行sendTransaction
命令。
web3.personal.unlockAccount(web3.personal.listAccounts[0], null, 60)
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4", to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})
我們也可以將密碼作為第二個參數而不是null傳遞。但這種方式更安全,因為你的密碼只在緩沖區中,而不是存儲在任何日志中或屏幕上可見。
這次命令成功,并返回了一個交易的哈希收據!
當我們連接到Rinkeby網絡時,我們可以利用Rinkeby GUI瀏覽器來檢查此交易的狀態,gas消耗,gas價格等。
1.打開資源管理器。
2.將交易收據哈希粘貼到搜索欄。
3.完成后,我們花了21,000個Gas(發送資金的標準)并且交易成功了!
現在可以查詢兩個帳戶的余額并查看已更改的狀態:
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4") > 7425979000000000000
eth.getBalance("0x7aa4a14286a25e3a275d7a122c23dc3c107a636a") > 74000000000000000
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。