Build in Flow | Learn FCL — 1. Введение

Резюме
После изучения примеров, приведенных в этом посте, вы будете знать:

  • Что такое FCL и как его использовать.
  • Как настроить FCL JS для взаимодействия с блокчейном Testnet компании Flow.
  • Как запускать скрипты в Cadence 💪.

Что такое FCL?

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

Со стороны JavaScript это пакет NPM, используемый для взаимодействия с кошельками пользователей и блокчейном Flow как в браузере, так и в серверной среде.

Подождите, что такое блокчейн Flow?

Хорошо, что вы спросили! Flow — это блокчейн, созданный для следующего поколения игр, приложений и цифровых активов, которые их расширяют.

Есть много различных особенностей, которые делают Flow уникальным. Вот некоторые из них:

  • Cadence — новый язык программирования, ориентированный на ресурсы, который легко изучить, разработанный для dapps и цифровых активов.
  • Обновляемые смарт-контракты — исправление ошибок и обновление заранее определенных частей смарт-контракта безопасным способом.
  • Быстрая и детерминированная окончательность — Flow создан для быстрой и отзывчивой работы — достижение глобальной окончательности за считанные секунды.

Для получения дополнительной информации о блокчейне Flow посетите сайт flow.com и docs.onflow.org.

Простой пример

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

Мы будем использовать платформу Codesandbox, чтобы облегчить обмен конечным результатом и позволить вам клонировать песочницу и тестировать свои собственные идеи.

Шаг 1 — Установка

Добавьте "@onflow/fcl": "1.0.0" в качестве зависимости в ваш проект.

Шаг 2 — Импорт

FCL JS раскрывает множество методов из пакета для построения взаимодействий, конфигурирования FCL, взаимодействия с блокчейном и т.д. Мы будем импортировать методы:

import { query, config } from "@onflow/fcl";
Войдите в полноэкранный режим Выход из полноэкранного режима

Шаг 3 — Настройка FCL

FCL должен знать, куда отправить этот сценарий для выполнения. Следующая строка установит конечную точку узла доступа с помощью метода config.

const api = "[https://rest-testnet.onflow.org](https://rest-testnet.onflow.org/)"
config().put("accessNode.api", api);
Войдите в полноэкранный режим Выход из полноэкранного режима

Шаг 4 — Запуск сценария на Testnet

Чтобы запустить скрипты Cadence на блокчейне Flow, мы можем отправить их с помощью метода query. В нашем базовом примере аргументы не используются, поэтому мы просто передадим сценарий в Cadence.

const cadence = `
    pub fun main(): Int{
       return 42     
    }
`;
const theAnswer = await query({ cadence });
console.log({ theAnswer });
Войдите в полноэкранный режим Выход из полноэкранного режима

Наконец — Полный код

import { query, config } from "@onflow/fcl";

const api = "[https://rest-testnet.onflow.org](https://rest-testnet.onflow.org/)"
config().put("accessNode.api", api);

// We will use IIFE to execute our code right away
(async () => {
    console.clear();

    const cadence = `
    pub fun main(): Int{
       return 42     
        }
    `;
    const theAnswer = await query({ cadence });
    console.log({ theAnswer });
})();
Войдите в полноэкранный режим Выход из полноэкранного режима

В следующем посте мы расскажем о том, как передавать аргумент в ваши скрипты. Следите за новостями! 👋

Полная версия песочницы доступна здесь: https://codesandbox.io/s/dev-to-fcl-introduction-zbhz0v.

Ссылки и источники

  • Сайт Flow Docs — https://docs.onflow.org/ — более подробная информация о блокчейне Flow и о том, как с ним взаимодействовать.
  • Портал Flow Portal — https://flow.com/ — ваша точка входа в Flow.
  • FCL JS — https://github.com/onflow/fcl-js — исходный код и возможность внести свой вклад в библиотеку FCL JS.
  • Cadence — https://docs.onflow.org/cadence/ — введение в Cadence.
  • Codesandbox — https://codesandbox.io — классный текстовый редактор для создания прототипов в браузере.

Это перевод на английский язык первой статьи из цикла «Build on Flow | Learn FCL», написанной Максимусом Старка.

Оцените статью
Procodings.ru
Добавить комментарий