如何使用GETH CLI在以太坊網(wǎng)絡(luò)進(jìn)行資金轉(zhuǎn)賬交易,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括沿河網(wǎng)站建設(shè)、沿河網(wǎng)站制作、沿河網(wǎng)頁(yè)制作以及沿河網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,沿河網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到沿河省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
完成同步的以太坊區(qū)塊鏈節(jié)點(diǎn)后,就可以通過(guò)使用GETH CLI在以太坊網(wǎng)絡(luò)上執(zhí)行交易。
首先我們來(lái)鏈接GETH控制臺(tái),查詢以太坊帳戶的余額:
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4")
> 7500000000000000000
我想,你可能會(huì)想為什么7.5ETH在Geth控制臺(tái)中顯示為75000000000000000?
以太坊虛擬機(jī)不支持小數(shù)或浮點(diǎn)數(shù)。顯然,金融計(jì)算在整數(shù)中更容易。
因此,為了能夠發(fā)送1 ETH的一小部分,以太坊基金會(huì)決定創(chuàng)建自己的單位系統(tǒng),其中最小單位為1 Wei,1 Ether為1e18 Wei。
但不用擔(dān)心,有些工具可以讓你的生活更輕松。例如,我強(qiáng)烈推薦Ether to Wei在線轉(zhuǎn)換器:
https://etherconverter.online
為了發(fā)送價(jià)值15美元的以太,其中1 ETH == $200(舊時(shí)代......),你將發(fā)送0.0740 ETH的交易,這必須在Wei中表示為74000000000000000。
在線Ether to Wei轉(zhuǎn)換器:
以太坊單位系統(tǒng)概述:
實(shí)戰(zhàn)中來(lái)掌握。讓我們實(shí)際發(fā)送74000000000000000 wei(15美元)到另一個(gè)帳戶。
在一個(gè)終端中,請(qǐng)記住運(yùn)行完全同步的區(qū)塊鏈節(jié)點(diǎn):
geth --rinkeby --datadir=~/.gophersland_ethereum_r1 --port=30304 --cache=2048 --rpc --rpcport=8546 --rpcapi=eth,web3,net,personal --syncmode=fast
在另一個(gè)終端,我們將創(chuàng)建我們的第二個(gè)以太坊帳戶。
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
現(xiàn)在,讓我們將Geth控制臺(tái)鏈接到當(dāng)前運(yùn)行的區(qū)塊鏈節(jié)點(diǎn),就像我們?cè)谏弦黄恼轮兴龅哪菢?,以便通過(guò)執(zhí)行eth.sendTransaction
命令將15美元轉(zhuǎn)賬到這個(gè)新創(chuàng)建的帳戶。
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4",to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})
Error: authentication needed: password or unlock.
,錯(cuò)誤提示:需要驗(yàn)證密碼或解鎖。
你應(yīng)該看到類(lèi)似上面一個(gè)錯(cuò)誤。這是因?yàn)榘l(fā)送以太是一個(gè)交易transaction
,一個(gè)交易改變狀態(tài),花費(fèi)成本,并花費(fèi)資金。這意味著它需要使用存儲(chǔ)在密鑰庫(kù)中的私鑰進(jìn)行簽名。為了解密密鑰,我們必須提供密碼,換句話說(shuō),解鎖帳戶。
執(zhí)行以下命令以解鎖帳戶并設(shè)定解鎖有效期60s,并再次執(zhí)行sendTransaction
命令。
web3.personal.unlockAccount(web3.personal.listAccounts[0], null, 60)
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4", to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})
我們也可以將密碼作為第二個(gè)參數(shù)而不是null傳遞。但這種方式更安全,因?yàn)槟愕拿艽a只在緩沖區(qū)中,而不是存儲(chǔ)在任何日志中或屏幕上可見(jiàn)。
這次命令成功,并返回了一個(gè)交易的哈希收據(jù)!
當(dāng)我們連接到Rinkeby網(wǎng)絡(luò)時(shí),我們可以利用Rinkeby GUI瀏覽器來(lái)檢查此交易的狀態(tài),gas消耗,gas價(jià)格等。
1.打開(kāi)資源管理器。
2.將交易收據(jù)哈希粘貼到搜索欄。
3.完成后,我們花了21,000個(gè)Gas(發(fā)送資金的標(biāo)準(zhǔn))并且交易成功了!
現(xiàn)在可以查詢兩個(gè)帳戶的余額并查看已更改的狀態(tài):
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4") > 7425979000000000000
eth.getBalance("0x7aa4a14286a25e3a275d7a122c23dc3c107a636a") > 74000000000000000
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。