Go-Ethereum
智能合約賬戶儲存在 geth 的什麼位置?
我有一個執行具有網路 ID
N
和數據目錄的私有區塊鏈的單個 geth 節點data/
。我在上面部署了一個智能合約ContractName
,一切正常。我想重新開始,所以我data/geth/
完全刪除了目錄並執行geth init
並使用相同的網路 ID 啟動了我的節點N
。但是,當我進入truffle console
並執行ContractName.address
時,我仍然返回一個地址。區塊數據已被重置,新的區塊號為0,這是怎麼回事?
最後我找到了原因。原來
truffle console
使用它自己的建構文件作為合約地址。因此,我在 truffle 建構目錄中擁有了之前編譯和部署的 JSON 文件。刪除該目錄顯示 myContractName
未按預期定義。
數據目錄的 Keystore 文件夾儲存帳戶的資訊。刪除以下文件夾以刪除帳戶資訊。
Mac:~/Library/Ethereum Linux: ~/.ethereum Windows: %APPDATA%\Ethereum