完成同步的以太坊區塊鏈節點後,就能夠經過使用GETH CLI在以太坊網絡上執行交易。php
首先咱們來連接GETH控制檯,查詢以太坊賬戶的餘額:前端
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4")
> 7500000000000000000
我想,你可能會想爲何7.5ETH在Geth控制檯中顯示爲75000000000000000?java
以太坊虛擬機不支持小數或浮點數。顯然,金融計算在整數中更容易。node
所以,爲了可以發送1 ETH的一小部分,以太坊基金會決定建立本身的單位系統,其中最小單位爲1 Wei,1 Ether爲1e18 Wei。python
但不用擔憂,有些工具可讓你的生活更輕鬆。例如,我強烈推薦Ether to Wei在線轉換器:android
https://etherconverter.online程序員
爲了發送價值15美圓的以太,其中1 ETH == $200(舊時代......),你將發送0.0740 ETH的交易,這必須在Wei中表示爲74000000000000000。web
在線Ether to Wei轉換器:mongodb
以太坊單位系統概述:編程
實戰中來掌握。讓咱們實際發送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價格等。
如今能夠查詢兩個賬戶的餘額並查看已更改的狀態:
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4") > 7425979000000000000
eth.getBalance("0x7aa4a14286a25e3a275d7a122c23dc3c107a636a") > 74000000000000000
奇蹟般有效。恭喜你:
======================================================================
分享一些比特幣、以太坊、EOS、Fabric等區塊鏈相關的交互式在線編程實戰教程:
- java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
- php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
- c#比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在C#代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是C#工程師不可多得的比特幣開發學習課程。
- java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
- python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
- php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
- 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
- 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
- ERC721以太坊通證明戰,課程以一個數字藝術品創做與分享DApp的實戰開發爲主線,深刻講解以太坊非同質化通證的概念、標準與開發方案。內容包含ERC-721標準的自主實現,講解OpenZeppelin合約代碼庫二次開發,實戰項目採用Truffle,IPFS,實現了通證以及去中心化的通證交易所。
- C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
- EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
- 深刻淺出玩轉EOS錢包開發,本課程以手機EOS錢包的完整開發過程爲主線,深刻學習EOS區塊鏈應用開發,課程內容即涵蓋帳戶、計算資源、智能合約、動做與交易等EOS區塊鏈的核心概念,同時也講解如何使用eosjs和eosjs-ecc開發包訪問EOS區塊鏈,以及如何在React前端應用中集成對EOS區塊鏈的支持。課程內容深刻淺出,很是適合前端工程師深刻學習EOS區塊鏈應用開發。
- Hyperledger Fabric 區塊鏈開發詳解,本課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、nodejs鏈碼與應用開發的操做實踐,是Nodejs工程師學習Fabric區塊鏈開發的最佳選擇。
- Hyperledger Fabric java 區塊鏈開發詳解,課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、java鏈碼與應用開發的操做實踐,是java工程師學習Fabric區塊鏈開發的最佳選擇。
- tendermint區塊鏈開發詳解,本課程適合但願使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。
匯智網原創翻譯,轉載請標明出處。這裏是如何使用GETH CLI在以太坊網絡上轉帳資金