Можно ли хранить блокчейн в другом каталоге?

Я работаю gethна Linux в Chromebook. Блокчейн хранится внутри ~/.ethereumвместе с другими важными файлами. Проблема в том, что объем памяти на моем Chromebook довольно ограничен, поэтому хранить данные в каталоге пользователя сложно.

У меня есть SD-карта, на которой я хотел бы сохранить блокчейн, сохраняя при этом установку geth в домашнем каталоге и локально на компьютере. Как я могу это сделать? Я не верю, что это связано с --datadir(это только для keystore, верно?). Любое руководство или документация полезны, так как я в основном не могу синхронизироваться с сетью с моим ограниченным хранилищем как есть. Спасибо!

--datadirдля chaindataтоже, но не для DAG
Проще говоря, если у меня есть резервная копия пароля и хранилища ключей, но я потеряю свой компьютер, как именно я смогу восстановить эфир? Я прочитал документы по резервному копированию и восстановлению , но не чувствую, что этот ответ изложен просто и ясно (т. Е. Шаг первый, шаг два, шаг три и т. Д.). Если кто-то даст мне ответ, я буду рад добавить запрос на внесение изменений, чтобы улучшить документы.
Просто скопируйте свою (резервную) keystoreпапку в папку, на которую указывает --datadir. Пароли остаются прежними.

Ответы (4)

Флаг --datadir указывает каталог данных местоположения.

geth --datadir <path to data directory>

Этот каталог должен содержать следующие подкаталоги:

  • цепочка данных
  • хранилище ключей
  • узлы

При запуске GETH попытается открыть unix-сокет IPC (межпроцессное взаимодействие) в вашем каталоге данных geth.ipc. Однако файловые системы FAT32 не поддерживают необходимые операции для создания сокетов unix. Поэтому, если каталог находится в файловой системе FAT32 (например, на внешнем флэш-накопителе), вам потребуется:

  • Отключите межпроцессное взаимодействие, добавив --ipcdisableфлаг
  • Если вы хотите использовать консоль IPC, вы можете указать, что geth.ipcона должна находиться в файловой системе linux ipcpath.--ipcpath some/path/on/linux/geth.ipc
Спасибо за ваш ответ. Я выполнил эту команду с путем, ведущим к моей SD-карте (которая автоматически сгенерирована chaindataи nodes, но выдала ошибку). Поэтому я вручную создал keystoreи добавил в него свой ключ. Однако я получаю сообщение об ошибке: «Ошибка запуска стека протоколов — /path/to/sd/card/geth.ipc bind: операция не разрешена».
@eth @JackWinters Я подробно прочитал документацию здесь ( github.com/ethereum/go-ethereum/wiki/Managing-your-accounts ), но я все еще не совсем понимаю, как начать gethс моих существующих учетных записей, но с блокчейн (например, большой файл), расположенный на внешнем носителе.
Проблема, похоже, связана с использованием внешнего диска. В этом посте на Reddit Петер Силаджи предлагает добавить --ipcdisable или --ipcpath некоторые флаги/path/on/linux/ geth.ipc
Спасибо @JackWinters, это сделало это.geth --datadir path/to/SD/datadir --ipcdisable
Что касается проблемы «открытого сокета IPC»: поддерживается ли SMB? Потому что я хотел бы смонтировать хранилище файлов Microsoft Azure в свой каталог ~/.ethereum — и мне нужен IPC.
@Munchkin, если вы используете --ipcpathфлаг, вы можете указать, где создается сокет IPC. Если вы просто поместите его куда-нибудь на локальный диск, он должен работать нормально. Я предполагаю, что ошибка связана с попыткой создать сокет IPC на устройстве FAT.

Запустите geth с флагом --datadir "путь/к/нужному/каталогу". См . https://ethereum.gitbooks.io/frontier-guide/content/cli.html .

Каталог по умолчанию:

  • Мак:~/Library/Ethereum
  • Линукс:~/.ethereum
  • Windows: %LOCALAPPDATA%/Ethereum(источник говорит %APPDATA%, но это неверно)

Взято с: https://geth.ethereum.org/docs/install-and-build/backup-restore

Этот вопрос описывает, как можно запустить узел Geth с помощью внешнего файла конфигурации.

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

Например

geth --config usb-config.toml

Повозившись, я обнаружил, что вам нужно отключить параметр «Настроить на летнее время» (при условии, что он говорит вам, что вы отключены на ~ 1 час).

Всем привет. Можете ли вы объяснить, какое отношение ваш ответ имеет к вопросу...? :)
@Justin, ты хотел опубликовать это где-то еще? Пожалуйста, рассмотрите возможность удаления с этой страницы, так как она не отвечает на вопрос.