Найти потерянный закрытый ключ в текстовых файлах на Mac

Я разрабатывал веб-приложение и использовал много автоматически сгенерированных адресов ETH. Я сохранил их все в одну папку в следующем формате:

/storage
  123456789/
    mainnet.eth.privateKey:
      "0xdeadbeefdeadbeef...deadbeef"
    mainnet.btc.privateKey
      "Kw123123123...AbCDeF"
  .../

Где каталог всегда представляет собой сгенерированное число, и в нем хранятся необработанные закрытые ключи (WIF для биткойнов).

Во время разработки я использовал несколько адресов для хранения реального ETH. Но, к сожалению, я не отслеживал идентификаторы этих адресов. И на одном из этих адресов теперь есть некоторое количество ETH, которое было бы неплохо вернуть.

Однако количество каталогов огромно (по крайней мере, более 100), потому что они автоматически генерировались для каждого запуска, если не были предоставлены.

Тем не менее, я почти уверен, что он находится на одной из машин, на которых я разрабатывал. Конечно, сейчас я могу пройтись по ним вручную, проверяя один за другим, но это было бы слишком долго, в конце концов, нет заблокированных миллионов.

Итак, вопрос в том, есть ли какая-либо утилита, которая автоматически ищет закрытый ключ и сопоставляет адрес с заданным адресом, или инструмент, который просто проверяет баланс для любой строки, похожей на закрытый ключ?

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

ethereum.stackexchange.com/questions/16785/… — на этот вопрос ответы не распространяются, так как файл представляет собой сырой приватный ключ без адресов и дополнительных данных.

Ответы (1)

Похоже, что web3 должен выполнять эту работу за вас через файлы accounts.privateKeyToAccount(privateKey). Он принимает строку закрытого ключа, а затем возвращает объект, который включает связанный адрес. Помните, что адрес Ethereum — это детерминированная функция закрытого ключа, поэтому, если у вас есть закрытый ключ, у вас есть адрес.

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