Развертывание

SDK tools

Как показано на диаграмме выше, автор программы создает программу, компилирует ее в общий объект ELF, содержащий байт-код BPF, и загружает ее в кластер Solana с помощью специальной транзакции deploy. Кластер делает его доступным для клиентов через program ID. Идентификатор программы представляет собой адрес, указанный при развертывании, и используется для ссылки на программу в последующих транзакциях.

После успешного развертывания учетная запись, содержащая программу, помечается как исполняемая. Если программа помечена как «окончательная», данные ее учетной записи становятся неизменяемыми навсегда. Если в окончательной версии программы требуются какие-либо изменения (функции, исправления и т. д.), новая программа должна быть развернута с новым идентификатором программы.

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

Интерфейс командной строки Solana поддерживает развертывание программ. Для получения дополнительной информации см. документацию по использованию командной строки deploy.