Go-Ethereum
“eth.accounts”和“web3.eth.accounts”有什麼區別?
在 Geth 控制台狀態下創建新賬戶的說明:
提示:如果您使用的是 Geth,那麼您可以只使用 eth 而不是 web3.eth 命令。
意思是帳戶可以通過使用
eth.accounts
而不是必須使用來引用web3.eth.accounts
。這兩個命令在幕後做了什麼不同的事情,還是同一件事?
web3
如果我們使用 Geth,為什麼我們可以省略命令的一部分?
它們完全相同。我的猜測是,在 geth 控制台中定義了 web3 傘式收集器,以允許粘貼基於 web3 的程式碼並讓它工作,而不是要求您從所有呼叫中刪除 web3。
它們是兩種不同的實現,它們的功能完全相同,但在命令行介面呼叫方面沒有簡化。
值得閱讀最新的 Ethereum DEV C++ Update,Christian Reitweissner 解釋說他們最終將
eth console
使用 nodejs 應用程序刪除並允許geth attach
附加到正在執行的eth
實例。你的問題的“為什麼”部分很難在沒有主觀性的情況下回答。我最好的猜測是,這些命令的開發不是專注於可用性和直覺性,而是客戶端的開發專注於穩定性和功能。
未來的版本會解決這個問題,我很確定。