Blockchain

在 Mist 瀏覽器中,如何將數據(區塊鏈)移動到 Mac OSX 上的另一個驅動器?

  • April 4, 2018

我的 Mac“系統”驅動器快滿了。因為我實際上有兩個驅動器,所以我想將區塊鏈從預設位置移動到第二個驅動器。我該怎麼做 ?

您的乙太坊數據文件儲存在 Mac 上的預設子目錄是~/Library/Ethereum.

在此子目錄中,您的區塊鏈數據儲存在子目錄chaindata中,即~/Library/Ethereum/chaindata.

讓我們假設您的新驅動器已安裝在~/Volumes/Drive2此範例中。

這裡有 3 種選擇,第一種是最安全的。

方法 1 - Unix 軟連結 -chaindata僅子目錄

使用以下命令將您的~/Library/Ethereum/chaindata子目錄複製到新位置:/Volumes/Drive2/Ethereum/chaindata

mkdir /Volumes/Drive2/Ethereum
cp -rpv ~/Library/Ethereum/chaindata /Volumes/Drive2/Ethereum/

您的 Ethereumchaindata子目錄的副本現在將位於/Volumes/Drive2/Ethereum/chaindata.

重命名您的預設乙太坊chaindata子目錄以進行測試:

mv ~/Library/Ethereum/chaindata ~/Library/Ethereum/OldChaindata_to_delete_when_tested

將您的新子目錄軟連結chaindata回預設位置:

ln -s /Volumes/Drive2/Ethereum/chaindata ~/Library/Ethereum/chaindata

測試您的 Mist 瀏覽器並僅在測試成功後刪除舊的 chaindata 目錄:

rm -rf ~/Library/Ethereum/OldChaindata_to_delete_when_tested

方法 2 - Unix 軟連結 - 整個乙太坊數據目錄

使用以下命令將您的~/Library/Ethereum子目錄複製到新位置:/Volumes/Drive2/Ethereum

cp -rpv ~/Library/Ethereum /Volumes/Drive2/

您的整個 Ethereum 目錄的副本現在將位於/Volumes/Drive2/Ethereum.

重命名您的預設乙太坊目錄以進行測試:

mv ~/Library/Ethereum ~/Library/OldEthereum_to_delete_when_tested

將您的新乙太坊目錄軟連結回預設位置:

ln -s /Volumes/Drive2/Ethereum ~/Library/Ethereum

測試您的 Mist 瀏覽器並僅在測試成功後刪除舊的 Ethereum 目錄:

rm -rf ~/Library/OldEthereum_to_delete_when_tested

方法 3 - 手動啟動geth

請注意,不建議使用此方法,因為您將在兩個不同的位置擁有一組文件和目錄,並且您必須記住geth在執行 Mist 瀏覽器之前使用正確的參數手動啟動。您可以使用腳本文件使這更安全。

geth在這種方法中,您在執行 Mist 瀏覽器之前手動執行。Mist 瀏覽器將使用 IPC 協議geth通過文件連接,您可以在命令行中指定乙太坊數據目錄的位置。~/Library/Ethereum/geth.ipc``geth

geth預設情況下會在 Ethereum 目錄中創建 IPC 文件,但 Mist 會在預設 Ethereum 目錄中查找此文件。

請參閱如何將 Mist 連接到遠端專用網路?,該geth程序的副本與您的 Mist 瀏覽器一起打包。這可以在以下位置找到:

{MISTINSTALLDIRECTORY}/resources/node/geth/geth

將您的 Ethereum 目錄複製到您的新位置:

cp -rpv ~/Library/Ethereum /Volumes/Drive2/Ethereum

從指向新位置的乙太坊目錄開始geth,同時將 IPC 文件路徑指向預設的乙太坊目錄位置。

{MISTINSTALLDIRECTORY}/resources/node/geth/geth    \
 --datadir "/Volumes/Drive2/Ethereum"             \
 --ipcpath "~/Library/Ethereum/geth.ipc"

成功測試後,您應該可以刪除~/Library/Ethereum/chaindata子目錄。

筆記

  • 如果您在乙太坊目錄中持有真實(虛擬)乙太幣,請確保您始終擁有keystore子目錄的最新備份。如果您已移動的預設數據目錄,則它位於~/Library/Ethereum/keystore或位於其中。請參閱如何備份霧錢包?了解更多資訊。/Volumes/Drive2/Ethereum/keystore``geth
  • 備份和恢復
Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%/Ethereum

方法 1 和 2 僅適用於 Mac 和 Linux 平台,因為我們使用 Unix 軟連結來實現這一點 - ln (Unix)

引用自:https://ethereum.stackexchange.com/questions/3307