Построение на основе Flow: изучите FCL — Введение


Обзор

После изучения примеров в этом посте вы будете знать.

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

💡 Учиться лучше с помощью видео? К счастью для вас, есть видео, которое вы можете смотреть вместе с этим руководством. Рассказывает один и единственный защитник разработчиков Flow Кимкодеашиан!

Kimazing Content

Что такое FCL?

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

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

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

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

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

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

Более подробную информацию о блокчейне Flow можно найти на сайтах https://flow.com и https://docs.onflow.org/.

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

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

Мы будем использовать платформу Codesandbox (https://codesandbox.io), чтобы было проще поделиться окончательным решением, в то же время позволяя вам форкнуть песочницу и попробовать свои собственные идеи.

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

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

Шаг 2 — Импорт

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

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

Шаг 3 — Настроить FCL

FCL необходимо знать, куда отправить скрипт для выполнения. Следующая строка установит конечную точку Access Node с помощью метода config:

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

Войти в полноэкранный режим Выйти из полноэкранного режима

Шаг 4 — Выполнение сценария в Testnet

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

  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"
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 });
})();

Войти в полноэкранный режим Выйти из полноэкранного режима

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

Полная песочница доступна здесь: Codesandbox | Learn FCL — 01. Введение

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

  • Сайт 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 — удивительная браузерная IDE, позволяющая быстро создавать прототипы.

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