В браузере Mist, как я могу переместить данные (блокчейн) на другой диск в Mac OSX?

Мой системный диск Mac почти заполнен. Поскольку у меня на самом деле два диска, я хочу переместить блок-цепочку из местоположения по умолчанию на второй диск. Как мне это сделать ?

Как вы получаете обновления блокчейна для синхронизации с новым местоположением? И какую папку нужно копировать - chaindata или lightchaindata?
Это не дает ответа на вопрос. Когда у вас будет достаточно репутации , вы сможете комментировать любой пост ; вместо этого предоставьте ответы, которые не требуют разъяснений от спрашивающего . - Из обзора

Ответы (2)

Подкаталог по умолчанию, в котором хранятся ваши файлы данных Ethereum на 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/

Копия вашего chaindataподкаталога Ethereum теперь будет находиться в /Volumes/Drive2/Ethereum/chaindata.

Переименуйте подкаталог Ethereum по умолчанию 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 Soft Linking — Весь каталог данных Ethereum

Скопируйте свой ~/Library/Ethereumподкаталог в новое место /Volumes/Drive2/Ethereum, используя следующую команду:

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

Копия всего вашего каталога Ethereum теперь будет находиться в /Volumes/Drive2/Ethereum.

Переименуйте каталог Ethereum по умолчанию для тестирования:

mv ~/Library/Ethereum ~/Library/OldEthereum_to_delete_when_tested

Мягко свяжите ваш новый каталог Ethereum с расположением по умолчанию:

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

Протестируйте браузер Mist и удалите старый каталог Ethereum ТОЛЬКО ПОСЛЕ успешного тестирования :

rm -rf ~/Library/OldEthereum_to_delete_when_tested


Способ 3 — запуск вручнуюgeth

Обратите внимание , что этот метод не рекомендуется, так как у вас будут наборы файлов и каталогов в двух разных местах, и вам нужно будет не забыть запустить gethвручную с правильными параметрами перед запуском браузера Mist. Вы можете сделать это безопаснее, используя файлы сценариев.

В этом методе вы вручную запускаете gethперед запуском браузера Mist. Браузер Mist будет подключаться gethчерез файл ~/Library/Ethereum/geth.ipcпо протоколу IPC, и вы можете указать в gethкомандной строке расположение каталога данных Ethereum.

gethпо умолчанию файл IPC будет создан в каталоге Ethereum, но Mist будет искать этот файл в каталоге Ethereum по умолчанию.

Ссылаясь на Как подключить Mist к удаленной частной сети? , копия gethпрограммы упакована с вашим браузером Mist. Это можно найти в:

{MISTINSTALLDIRECTORY}/resources/node/geth/geth

Скопируйте каталог Ethereum в новое место:

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

Начните gethс каталога Ethereum, указывающего на ваше новое местоположение, а путь к файлу IPC укажите обратно на расположение каталога Ethereum по умолчанию.

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

После успешного тестирования вы сможете удалить ~/Library/Ethereum/chaindataподкаталог.


Заметки

  • Если вы держите настоящие (виртуальные) эфиры в своем каталоге Ethereum, убедитесь, что у вас всегда есть актуальная резервная копия вашего keystoreподкаталога. Это расположено в ~/Library/Ethereum/keystoreили в /Volumes/Drive2/Ethereum/keystore, если вы переместили gethкаталог данных по умолчанию. См. Как сделать резервную копию туманных кошельков? для дополнительной информации.

  • Из резервного копирования и восстановления :

    Mac: ~/Library/Ethereum
    Linux: ~/.ethereum
    Windows: %APPDATA%/Ethereum
    

    Методы 1 и 2 будут работать только на платформах Mac и Linux, поскольку для этого мы используем программную ссылку Unix — ln (Unix) .

Отличный ответ, спасибо! Первый подход работал просто отлично.
Кажется, что эти решения хороши, если вы хотите загрузить блок-цепочку локально, а затем переместить ее, но что, если вы хотите, чтобы она была загружена во внешнее место с самого начала? Нужна помощь!
работа в процессе .... $ geth --datadir /Volumes/Seagate-Backup-Plus/Ethereum/chaindata, кажется, сработало, но как я могу заставить Mist распознавать и постоянно синхронизировать это местоположение? Нужно ли мне запускать какую-то команду каждый раз, когда я хочу обновить кошелек?
Пытаюсь использовать первый подход, но не уверен в нескольких моментах, которые я хотел бы проверить: - Вы говорите, что chaindata обычно находится в ~/Library/Ethereum, но я нашел его в user/username/library/ethereum/geth? Мне нужно что-то изменить в команде или это все еще будет работать? Изменилось ли местоположение в новых версиях Mist? - Если мой диск является внешним (не является разделом встроенного диска), нужно ли мне по-прежнему использовать /volumes/имя_диска? Как указать совершенно другой диск?
Я считаю, что метод 1 намного медленнее по USB 3.0 на внешний жесткий диск, кто-нибудь еще сталкивался с этим? Думаю, 5 блоков в час будет точно. Я также должен перезапустить его несколько раз, чтобы убедиться, что сеть подключена. Не происходит, если я загружаю напрямую :/

Мне потребовалось некоторое время, чтобы понять это, поэтому я решил опубликовать это:

Я хотел переместить каталог Ethereum на внешний жесткий диск, но не смог определить адрес для ввода в терминал.

Я ввел «cd» в терминал и перетащил свой диск с рабочего стола в окно терминала. Затем он заполнил точный адрес, который мне был нужен:

поэтому я заменил:

/Тома/Диск2/

с

/Volumes/ 1\ ТБ\ WD/ (1 ТБ WD - так назывался мой жесткий диск)

Не могли бы вы добавить некоторые подробности о том, в каком файле вы заменяете этот путь?