以太坊錢包是你通往以太坊系統的門戶。它擁有你的密鑰,并且可以代表你創建和廣播交易。選擇一個以太坊錢包可能很困難,因為有很多不同功能和設計選擇。有些更適合初學者,有些更適合專家。即使你現在選擇一個你喜歡的,你可能會決定稍后切換到另一個錢包。以太坊本身在不斷變化,“最好”的錢包往往是適應它們的。
別擔心!如果你選擇一個錢包而不喜歡它的工作方式,那么你可以很容易地更換錢包。你只需進行一項交易,即將資金從舊錢包發送到新錢包,或者通過導出和導入私鑰來移動密鑰。
首先,我們將選擇三種不同類型的錢包作為整本書的示例:移動錢包,桌面錢包和基于網絡的錢包。我們選擇了這三款錢包,因為它們代表了廣泛的復雜性和功能。然而,選擇這些錢包并不是對其質量或安全性的認可。他們只是示范和測試。
起始錢包:
MetaMask
MetaMask是一款瀏覽器擴展錢包,可在你的瀏覽器(Chrome,Firefox,Opera或Brave Browser)中運行。它易于使用且便于測試,因為它可以連接到各種以太坊節點和測試區塊鏈(請參閱“testnets”)。
Jaxx
Jaxx是一款多平臺和多幣種錢包,可在各種操作系統上運行,包括Android,iOS,Windows,Mac和Linux。對于新用戶來說,它通常是一個不錯的選擇,因為它的設計簡單易用。
MyEtherWallet (MEW)
MyEtherWallet是一款基于網絡的錢包,可在任何瀏覽器中運行。它具有多個復雜的功能,我們將在許多示例中探討這些功能。
Emerald Wallet
Emerald錢包設計用于以太坊經典區塊鏈,但與其他以太坊區塊鏈兼容。它是一款開源桌面應用程序,適用于Windows,Mac和Linux。Emerald錢包可以運行一個完整的節點或連接到一個公共的遠程節點,工作在“輕量”模式下。它還有一個配套工具來在命令行中執行所有操作。
我們將首先在桌面上安裝MetaMask
前提:可正常訪問谷歌瀏覽器
安裝 MetaMask
打開Google Chrome瀏覽器并導航至:
https://chrome.google.com/webstore/category/extensions
搜索“MetaMask”并點擊狐貍的標志。你應該看到這樣的擴展的詳細信息頁面:
配置好進入錢包首頁
你的帳戶頁面會顯示你帳戶的名稱(默認情況下為“Account 1”),以太坊地址(示例中為0x9E713 …?)以及彩色圖標,以幫助你將此帳戶與其他帳戶區分開來。在帳戶頁面的頂部,你可以看到你當前正在使用哪個以太坊網絡(示例中的“主網絡”)。
恭喜!你已經建立了你的第一個以太坊錢包!
切換網絡
正如你在MetaMask帳戶頁面上所看到的,你可以在多個以太坊網絡中進行選擇。默認情況下,MetaMask將嘗試連接到“主網絡”。其他選擇是公共測試網,你選擇的任何以太坊節點或在你自己的計算機上運行私有區塊鏈的節點(本地主機):
新增錢包并沒有鏈接任務網絡
查看網絡:
Ethereum Network
主要的,公開的以太坊區塊鏈。真正的ETH,真正的價值,真正的后果。
你的MetaMask錢包在連接的所有網絡上使用相同的私鑰和以太坊地址。但是,每個以太坊網絡上的以太坊地址余額將有所不同。例如,你的密鑰可以控制Ropsten上的以太和合約,但不能控制主網上的。
更多網絡選擇
外部所有賬戶(EOAs)和合約
我們在MetaMask錢包中創建的賬戶類型稱為 Externally Owned Account(EOA) 。外部所有賬戶是那些擁有私人密鑰的賬戶,它控制對資金或合約的訪問。現在,你可能猜測還有另一種帳戶,_合約_帳戶。合約賬戶由以太坊區塊鏈記錄,由EVM執行的軟件程序的邏輯所擁有(和控制)。
將來,所有以太坊錢包可能會作為以太坊合約運行,模糊了外部所有賬戶和合約賬戶之間的區別。但是永遠保持的重要區別在于:人們通過EOA做出決定,而軟件通過合約做出決定。
合約有一個地址,就像EOAs(錢包)一樣。合約可以發送和接收ether,就像錢包一樣。當交易目的地是合約地址時,它會導致該合約在EVM中_運行_,并將交易作為其輸入。
除了ether之外,交易還可以包含_數據_,用于指示合約中要運行的特定方法以及傳遞給該方法的參數。通過這種方式,交易通過合約_調用_方法。最后,合約可以產生調用其他合約的交易,建立復雜的執行路徑。其中一個典型的用法是合約A調用合約B,以便在合約A的用戶之間保持共享狀態。