Подготовка к развертыванию в mainnet

Завершено

Перед развертыванием в mainnet Ethereum необходимо полностью протестировать и проверить код. Для работы в mainnet требуются реальные эфиры, которые стоят реальных денег и быстро тратятся.

После разработки, тестирования и аудита кода запустите проект по крайней мере в одной сети testnet и устраните все проблемы. Большинство проектов проходят комплексную процедуру до развертывания в mainnet. Этот процесс включает аудит, тестирование, обеспечение безопасности и систему управления. Этот процесс позволяет снизить риски и издержки ошибок в mainnet.

Процесс подготовки и развертывания в mainnet Ethereum включает ряд действий:

  1. Проверка смарт-контрактов.
  2. Проверка открытого кода.
  3. Управление ключами.
  4. Работа с системой управления проектом.

В следующих разделах подробно описаны эти действия.

Проверка смарт-контрактов

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

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

Проверка открытого кода

Непосредственно после развертывания смарт-контракта в mainnet проверьте его исходный код, отправив код Solidity третьей стороне. Общедоступные службы, такие как Etherscan, компилируют код контракта и проверяют, соответствует ли он развернутой сборке. Этот процесс позволяет пользователям, просматривающим код вашего контракта в обозревателе блоков, проверить, соответствует ли он сборке, выполняемой по этому адресу.

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

Безопасное управление ключами

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

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

Работа с системой управления проектом

Децентрализованные проекты управляются различными способами в зависимости от сообщества и базы пользователей. Чтобы определить, как управлять обновлениями и другими аспектами работающей децентрализованной системы, часто создаются организации.

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