December 13, 2021

Solana / Регистрация в SFDP

Итак, пара слов о Solana Foundation Delegation Program, или сокращенно SFDP. В сети Solana поднять свою ноду и помогать сети работать может любой, но тут возникает сразу же 2 проблемы:

  • Если мы это делаем в сети Testnet - то у нас нет токенов для того, чтобы появились слоты и можно было создавать лидер-блоки (о том, как работает блокчейн Solana читаем тут). А без токенов мы можем только голосовать. Тестовые токены мы не можем купить на бирже, но можем попробовать подоить кран, который в последнее время токенов не дает вообще, или попросить у тех, кто уже валидирует в тестовой сети и заработал на этом тестовых токенов.
  • Если мы это делаем в сети Mainnet - мы можем купить токены на бирже, но Solana потребляет за 1 эпоху (в среднем 2 дня 18 часов) около 2 SOL на голосование внутри сети (о расчете прибыльности в Mainnet читаем тут), соответственно заниматься этим никто не будет, так как это получается сжиганием собственных денег.

Для того, чтобы держать ноду в тестовой и основной (Mainnet) сети было выгодно и интересно команда придумала программу делегации от фонда Solana и назвала эту программу Solana Foundation Delegation Program.

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

Для того, чтобы приступить к регистрации, нам нужны:

  1. Электронная почта
  2. Учетная запись в Discord
  3. Паспорт
  4. Собственное лицо
  5. Ключ (или его еще можно назвать кошельком) для сети Testnet;
  6. Ключ для сети Mainnet
  7. Пополнить ключ в сети Mainnet на 0,002 Sol
  8. Связать ключи между собой

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

Установка Solana CLI

Для данной процедуры нам нужно установить Solana CLI (Command Line Interface - интерфейс командной строки для Solana). CLI можно установить на Linux, Mac и Windows. В данной инструкции я буду использовать операционную систему Ubuntu. Вы можете арендовать любой VPS или выделенный сервер для этих процедур. Итак, приступим.

  1. Подключаемся к серверу по SSH с помощью любого клиента (как арендовать сервер и азы командной строки можно узнать в этой статье).
  2. На всякий случай обновляем все приложения в системе, вводим команду:
sudo apt update && sudo apt upgrade -y

и видим следующий скрин:

Все нормально, мы обновили ядро и программы.
  1. Переходим по ссылке на официальную документацию Solana и видим следующее:
Этот скриншот может отличаться от того, что находится в доках Соланы в данный момент.

Обратите внимание, что версия CLI может отличаться от той, что вы видите на скриншоте. Ничего страшного. Используйте ту версию, которая в находится в официальной документации Соланы в тот момент, когда вы читаете этот мануал.

3. Копируем команду полностью (можно нажать на правый краешек, там будет кнопка Copy и вставляем ее в командную строку (ctrl+v). Нажимаем Enter и видим процесс установки Solana CLI:

Все нормально, пакет скачивается, далее будет процедура установки.

4. После завершения процесса установки система предложит нам ввести команду:

export PATH="/root/.local/share/solana/install/active_release/bin:$PATH"

Копируем команду из терминала (выделяем ее мышкой и нажимаем ctrl+c) и вставляем в терминал (ctrl+v) или можно скопировать прям из этого мануала, со временем эта команда не изменится.

5. Далее проверяем, все ли нормально установилось, проверить это можно командой:

solana --version

В итоге вы увидите текущую версию Solana CLI, которую вы только что установили, идем дальше.

Создание ключей

Создаем ключ для тестнета

Очень легкая процедура, нам нужно создать 2 ключа, один для тестнета, второй для майннета. Пишем следующую команду в терминале:

solana-keygen new -o ~/validator-keypair.json

В результате мы увидим такую информацию:

Generating a new keypair

For added security, enter a BIP39 passphrase

NOTE! This passphrase improves security of the recovery seed phrase NOT the
keypair file itself, which is stored as insecure plain text

BIP39 Passphrase (empty for none):

В этом сообщении система предлагает нам ввести пароль, который будет являться дополнительным словом к вашей мнемонической фразе, это значит, что каждый раз, когда вы будете восстанавливать свой кошелек с помощью мнемонической фразы (смотреть команду для этого тут), вам будет необходимо вводить этот пароль. Если вы считаете, что самой мнемонической фразы вам хватит, просто нажимаем Enter. Видим следующее:

На скриншоте мы видимо адрес, по которому в данный момент находится наш ключ:

/root/validator-keypair.json

Его публичный ключ (по этому адресу вам можно отправить токены Sol):

BZwURm4QzNVHC4KPrJKboeh4hzdANdA26EgmBvLiufFq

И ваша мнемоническая фраза:

patch security safe middle panda wonder remind way valley second cable plunge

Создаем ключ для майннета

Процедура абсолютно одинаковая, отличаться будет только имя вашего ключа, поэтому вводим следующую команду в терминале:

solana-keygen new -o ~/mainnet-validator-keypair.json

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

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

Связывание ключей

Эта процедура нам необходима для того, чтобы система понимала, какой валидатор из тестнета будет работать или работает в майннете. Хочется уточнить один важный момент. В этой связке основным ключом является ключ от тестнета, именно по этому ключу вы будете отслеживать себя в очереди. Если вы потеряете ключ майннета (до вхождения в майннет), то ничего страшного, вы сможете привязать новый ключ майннета к тестнету и не потеряете свою очередь. Но если вы потеряете все данные от ключа тестнета, то вам придется начинать все заново.

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

  1. Переходим на сайт https://rustup.rs/ и копируем следующую команду (можно нажать на иконку справа от строчки):

Вводим ее в терминал, нажимаем Enter и видим:

Нажимаем 1 и Enter. Ожидаем когда программа скачает необходимые пакеты, после этого программа предлагает нам или перезапустить нашу сессию (отключиться от сервера и подключиться снова) или ввести команду. Я ввожу команду:

source $HOME/.cargo/env

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

sudo apt install build-essential clang libudev-dev pkg-config libhidapi-dev librust-openssl-sys-dev librocksdb-dev
sudo apt install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang

Вводим команду и видим:

Нажимаем Y и потом Enter. Теперь мы можем увидеть процесс установки. Ожидаем окончания и идем дальше.

3. Запускаем следующую команду

cargo install solana-foundation-delegation-program-cli

Запасайтесь терпением, процедура может длиться минут 5-10, это нормально.

Перевод Sol на кошелек.

Как я писал в самом начале, теперь нам нужно пополнить наш кошелек реальными Sol с биржи или с другого кошелька.

А теперь заходим на вашу биржу или кошелек и переводим 0,002 Sol на публичный ключ для тестнета. Проверяем, поступили ли они командой

solana balance validator-keypair.json -um

Обратите внимание, мы добавили к команде флаг -um, который позволяет нам проверить баланс именно в кластере майннет. Чтобы посмотреть баланс в кластере тестнет (если он не задан по дефолту у нас), используем флаг -ut.

Если токены поступили, то вводим следующую команду:

solana-foundation-delegation-program apply --mainnet mainnet-validator-keypair.json --testnet validator-keypair.json --keypair validator-keypair.json --confirm

Я хотел бы чтобы вы понимали все команды, которые вводите в командную строку, особенно это касается команд самой Соланы. В некоторых мануалах написано, что токены нужно переводить на кошелек майннета, в других написано, что на кошелек тестнета. Вы должны понимать, что нет никакой разницы, на какой кошелек вы будете переводить токены, которые будут служить комиссией за транзакцию (связку ключей, которая записывается в блокчейне). Обратите внимание на эту часть команды:

--keypair validator-keypair.json

Именно эта часть команды и указывает, откуда мы будем списывать комиссию за совершение транзакции.

Все, кошельки мы связали, статус их можно проверить следующей командой:

solana-foundation-delegation-program status validator-keypair.json --keypair validator-keypair.json

Если вы увидите статус Pending - значит все хорошо. Когда статус сменится на Approved, это будет значить, что вас ждут в качестве валидатора в майннете.

Регистрация в программе SFDS

  1. Переходим на сайт по ссылке и нажимаем на Apply now:

Вводим свои данные:

  1. Ваше гражданство
  2. Публичный ключ майннета
  3. Публичный ключ тестнета

Жмем Next.

Далее вводим:

  1. Ваше имя (на латинице)
  2. Вашу фамилию (на латинице)
  3. Адрес электронной почты
  4. Имя учетной записи в дискорде
  5. Проходим проверку, что мы человек, а не робот

Жмем Next.

Далее вам на почту придет электронное письмо с кодом, который будет необходимо ввести на следующей странице. После этого попадаем на страницу:

Где указываем:

  1. Фамилию и имя на английском языке, например, Ivanov Ivan
  2. В эту графу записываем Individual (если вы физическое лицо)
  3. Здесь пишем страну вашего гражданства, например, Russia

На сколько я знаю вы не сможете участвовать в SDFP, если ваше гражданство Беларусь.

Далее спускаемся вниз и видим следующую информацию:

  1. Это поле у вас уже будет заполнено автоматически, там будет Фамилия и Имя.
  2. В это поле вам нужно будет кликнуть и с помощью мышки или тачпада поставить свою подпись, вот тут:

3. В этом поле у вас также будет ваше Имя и Фамилия, они должны там отобразиться автоматически.

4. В это поле вводим Mr. - если вы мужчина, Mrs или Miss - если женщина.

Жмем Далее (справа сверху синяя кнопка)

Теперь осталось дело за малым. Вам нужно выбрать документ, с помощью которого вы будете проходить процедуру KYC. Можно выбрать:

  1. Паспорт
  2. Водительские права
  3. Национальное удостоверение личности

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

Выбирайте то, что вам нравится.

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

Бывают ситуации, когда у вас или плохой свет, или просто фото документа сделали размытым, тогда система предложит вам или загрузить фото заново или сделать новые фото.

Через несколько минут (или часов) вам придет письмо, в котором будет написано следующее:

Dear Ivan,

Thank you for signing up for the Solana Foundation Delegation Program. You have passed KYC successfully. This email address is now registered with the following validator keys:

Testnet: Ключ тестнета
Mainnet-Beta: Ключ майннета

Внимание! Если вам пришло письмо с другим содержанием:

Thank you so much for signing up for the Solana Foundation Delegation Program and completing our KYC process. You did not pass KYC, most likely because of your photo quality.

Make sure to use high-quality images of your documents so that all the information is clearly visible. The photos have to be clear, with proper contrast and sharpness; be careful that the image is not blurry. When taking the photo of the documents, place the documents in a well-lit room or in natural lighting, and make sure there isn’t any glare from a light obstructing any of the details on the image.

Your ID documents must be visible end-to-end, which means all four corners of your ID are visible in the photo.

То вам нужно заново пройти всю процедуру регистрации (связывать ключи уже не надо), снова идем на сайт https://solana.foundation/delegation-program, вводим там свои ключи (этого может быть и не потребуется, но KYC заново проходить точно придется) и проходим всю процедуру заново, снова заполняем и подписываем документ, снова подгружаем или фотографируем свои документы, но уже с лучшим качеством, чем было до этого. И делаем это снова и снова, пока не придет письмо с текстом подтверждения, что вы успешно прошли KYC.

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