Что такое Solana? Для тех из вас, кто не знает, это общедоступная блокчейн-платформа, похожая на Ethereum. Solana имеет высокий показатель TPS (транзакций в секунду), более экологична и использует PoH (Proof-of-History).

Что мы можем сделать на Солане? Экосистема Solana предлагает множество различных типов Dapps (децентрализованных приложений), которые можно использовать для целей DeFi (децентрализованные финансы), игр и DEX (децентрализованных бирж). Ниже приведены несколько Dapps, с которыми пользователь может взаимодействовать в экосистеме Solana.

Хорошо, но что такое смарт-контракт? Итак, смарт-контракт — это «набор требований», закодированных в блокчейне, которые необходимо выполнить для выполнения функции. Dapp — это внешний интерфейс смарт-контракта, другими словами, веб-сайт, который позволяет вам взаимодействовать со смарт-контрактом удобным для пользовательского интерфейса способом.

Теперь, когда вы зашли так далеко, пришло время научиться развертывать наш первый смарт-контракт на Солане. Мы будем развертывать нашу первую программу «Hello World», написанную на Rust, в операционной системе Linux.

Требования

Если вы работаете в Windows, вам нужно будет либо использовать виртуальную машину Linux (виртуальную машину), либо выполнить двойную загрузку компьютера в Linux. Предоставляется ссылка, чтобы показать, как вы можете запустить виртуальную машину на своем компьютере. При загрузке Rust вы можете столкнуться с проблемой, показанной ниже.

Чтобы устранить проблему, выполните:

Затем повторите попытку установки rust. После успешной установки установите инструмент установки Solana. Этот инструмент позволит нам легко взаимодействовать с сетью Solana. Затем мы захотим клонировать пример проекта hello world из хранилища Solana GitHub. Мы также хотим установить проект с помощью npm. Вы можете выполнить эти шаги с помощью строк кода ниже.

После установки npm вы должны получить приведенный ниже код. Это будет означать, что вы успешно установили npm.

Быстрое обновление знаний:

Блокчейн Solana предлагает три основные сети: Mainnet Beta, Testnet и Devnet. Бета-версия основной сети — это работающая в настоящее время полностью функционирующая сеть. Testnet и Devnet предназначены для имитации основной сети, чтобы дать разработчикам возможность протестировать свои программы перед их развертыванием в основной сети. Они просто действуют как игровая площадка для нашей работы без необходимости платить реальные сборы. Чтобы глубже погрузиться в их различия, загляните здесь.

На следующем этапе мы настроим локальную разработку в сети разработчиков и создадим новый кошелек Solana. Это позволит нам сбрасывать себе немного Sol для запуска нашей программы в среде devnet блокчейна Solana.

Если вы не смогли получить свой Sol, повторите попытку и раздайте меньшую сумму, например 2. Вы можете продолжить работу в терминале Linux, но на этом этапе я перейду к VSC (Visual Studio Code) и открою пример-helloworld чтобы взглянуть на методы/функции внутри файлов. В терминале введите приведенный ниже код, чтобы скомпилировать смарт-контракт. Это должно занять несколько секунд.

Чтобы теперь развернуть вашу программу в среде devnet, введите:

В этот момент мы получим идентификатор программы, вы можете перейти в Solana Explorer Devnet, чтобы увидеть исполняемую программу. Вы успешно развернули смарт-контракт на блокчейне Solana, как здорово!

Теперь давайте взглянем на клиентскую часть программы. Чтобы взаимодействовать с только что развернутой программой, нам нужно запустить файлы main.ts и hello_world.ts. Программа сначала входит в main.ts (выполняет необходимые задачи), затем переходит в hello_world.ts.

В файле hello_world.ts клиент сначала проверяет метод checkProgram, чтобы увидеть, был ли развернут hello world BPF (BPF позволяет пользователю быстро и безопасно запустить небольшой фрагмент кода). Затем клиент пытается установить соединение с кластером с помощью метода installConnection.

Что такое кластер? Кластер — это группа валидаторов в блокчейне, работающих вместе для обслуживания транзакций клиента и поддержания целостности реестра. Подробнее о кластерах читайте здесь.

Затем клиент вызывает метод installPayer для проверки наличия адреса, доступного для оплаты комиссии за транзакцию. Если потребуется, найдет.

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

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

  • Справочная информация о Солане здесь
  • Чтобы узнать больше о развертывании вашего первого смарт-контракта, ознакомьтесь с видео Chainlink и их статьей.
  • Узнать больше о языке программирования Rust за 100 секунд можно здесь
  • Чтобы узнать больше о кластерах, нажмите здесь