乙太坊錢包 vs. Mist(vs. 測試網 vs. 主網)
我在完全理解 ETH 和乙太坊錢包 UI 與 Mist 的內部運作(使用測試網時)時遇到了一些麻煩,我需要問一些相當愚蠢的問題來理解歷史和推理。如果不是這個地方,我很抱歉。
- 通常我不明白 Mist 和 Etherum Wallet 應用程序之間的區別?各自的歷史是什麼?
- 我也不完全理解的是,即使切換回主網,我相信我在測試網上創建的錢包合約和一些代幣似乎在 Ehereum 錢包中仍然可見?如果我在主網中將資金轉移到上述錢包合約中,它們不會失去嗎?
我知道一個地址可以存在於兩個網路中,並且如果我有特定地址的 pk,我可以在任何網路中檢索資金,但是當它是僅存在於測試網上的錢包合約時,而不僅僅是一個帳戶, 發生什麼了?
- 我一般如何知道我是否“擁有”錢包合約,以及我是否能夠訪問它並從中發送資金?它“附加”到我的 Etherbase 地址,或者它是如何工作的?
- 現在,如果我打開“Mist”應用程序,一切都如我所料——我可以看到我的主帳戶,但看不到任何測試網內容。我所有的煩惱實際上都是 Mist 解決的嗎?
謝謝
乙太坊錢包和 Mist 共享相同的源儲存庫 ( https://github.com/ethereum/mist )。Mist 是支持錢包的瀏覽器,而“乙太坊錢包”是 Mist,但禁用了瀏覽器功能,因此您可以將其用作錢包。我不知道最新版本,但在某些時候,您可以使用命令行選項在它們之間切換。
主網和測試網是兩個獨立的區塊鏈。它們使用相同的類型或私鑰,因此您可以在兩者中使用相同的“地址”,但您不能在區塊鏈之間交換資金或代幣,每個區塊鏈都有自己獨立的狀態。
契約的所有權可能意味著不同的事情。有部署了合約的地址,但它沒有合約的其他特殊屬性,除非它在原始碼中編碼。
Ownable是契約聲明特殊所有者的常用模式。最初分配給部署地址,但以後可以更改。它提供了一個修飾符來限制只有合約所有者才能訪問關鍵方法。
我不確定,但我認為Ethereum Wallet/Mist 有一個單獨的儲存用於 mainnet/testnet,所以你可以毫無問題地在它們之間切換。但是在任何情況下都應該採取適當的措施,確保在切換時備份您的密鑰,因為某些操作在發生錯誤時無法撤消。感謝 Thomas Jay Rush 確認 Mist/Ethereum 錢包中主網和測試網的獨立儲存。
首先,感謝您花時間回答。我已經做了一些進一步的調查,我將嘗試在新的答案中總結我的發現。
我希望有人會對下面的陳述進行最終驗證並糾正我以防萬一不正確,也許它可以幫助其他有類似知識差距的人。
我從https://klmoney.wordpress.com/beta7-contract-wallets/獲得了很多資訊,它適用於 0.4 版(我們是 0.8 版),但應該沒問題;並從這裡https://forum.daohub.org/t/do-you-need-to-backup-eth-wallet-contracts/887
$$ Wallet Contracts $$
- 在乙太坊中,有兩種類型的賬戶:
$$ Externally Owned Accounts $$(EOA)(或簡稱“賬戶”)和$$ Contract Accounts $$.
- “賬戶”可以簡單地被認為是私鑰/地址對,並且有兩個角色;作為乙太坊本身的裸儲存,以及合約錢包的所有者(或控制者)。
- “賬戶”具有受密碼保護的私鑰和地址,而合約賬戶沒有私鑰,但具有地址、程式碼和儲存空間。
- 合約錢包(或基於合約的錢包)是使用合約賬戶建構的,利用合約賬戶的能力來保存和執行具有相關持久儲存的程式碼。
- 某些接收方,尤其是交易所可能沒有設置為從合約錢包接收,而且,從合約錢包發送乙太幣會產生 gas 費用,你只需要錢包以防你需要多重簽名、交易跟踪或其他類似功能。
- 由於合約錢包/合約賬戶歸基本 ETHERBASE 賬戶(外部擁有賬戶)所有,因此始終可以通過將其導入 MIST 來檢索它。Network 和 MIST 將知道它屬於 EOA,並允許支出。
- 如果您只有密鑰庫,但忘記了合約錢包地址,請在 etherchain.io 上查找您的基本帳戶並查看它創建了哪些錢包合約,然後將它們導入 MIST。
$$ MIST (vs. Etherum Wallet) - vs. Testnet vs. Mainnet $$
MIST 和乙太坊錢包是同一事物的兩個方面。MIST 是 DApp 瀏覽器,Etherum Wallet 也是 DApp 瀏覽器,但只能顯示一個 DApp,即乙太坊錢包 DApp。
主網和測試網在 MIST/Ethereum 中的儲存是分開的,但由於某種原因,乙太坊錢包在主網模式下仍然顯示測試網錢包合約和交易,而 MIST 沒有。這對我來說絕對是最大的困惑點,為什麼在乙太坊錢包中做出了設計決定。
測試網和主網具有完全相同的地址空間。
- 如果您在主網上不小心將資金發送到您擁有的測試網賬戶地址,您可以使用與測試網相同的 PK 從主網上取回資金。
- 如果您在主網上不小心將資金發送到您擁有的測試網 WALLET CONTRACT 地址,資金將會失去。錢包合約不會存在於主網上,並且假設資金將落在您沒有私鑰的基本賬戶地址上。它是否正確 ??
謝謝