Создайте новые учетные записи Ethereum и сохраните их в узле, используя JSON-RPC.

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

  • Создайте новый адрес Ethereum, когда пользователь захочет, и сохраните ключи в моем узле Ethereum, что упростит работу пользователей и позволит им вывести свои средства в любое время.

  • Создайте новую учетную запись через JSON-RPC, если это возможно и безопасно. Я спросил об этом по этой ссылке и прочитал много сообщений, в которых говорилось, что это небезопасный способ, но я действительно не понимаю, почему. Я новичок в среде Ethereum, но я хочу начать разработку своего проекта, и у меня нет других проблем с запуском другим способом, отличным от JSON-RPC, если он безопасен, и я могу хранить учетные записи в своем узле.

Я думаю, что, возможно, я чего-то не понимаю в среде Ethereum, потому что не вижу безопасного и простого способа сделать это. И если я не ошибаюсь, Coinbase работает таким образом: они генерируют, сохраняют кошельки ethereum, и пользователю просто нужно отправить или вывести свои деньги; так что должен быть способ сделать это. Если бы кто-то мог подсказать мне, как начать работу, как использовать geth для этой цели или библиотеку, был бы признателен.

Ответы (1)

Безопасность использования JSON-RPC обычно связана с безопасностью любой системы, в которой он работает. JSON-RPC сам по себе относительно небезопасен — это означает, что если порт, который он прослушивает, открыт, любой может контролировать ваш узел, включая аспекты управления учетными записями.

В прошлом было несколько инцидентов, когда кто-то оставил свой узел прослушивать общедоступный порт, и его средства были украдены.

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

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