DEV Community

EgorMajj
EgorMajj

Posted on

Создаем на Flow | Изучение FCL 1 — Введение

Краткий обзор

После работы с кодом в этом посте вы должны знать, как:

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

Kimazing Контент
https://youtu.be/DWz8Plv5n3k
Что такое FCL?
Клиентская библиотека Flow (FCL) — это стандартизированный набор шаблонов связи между кошельками, приложениями и пользователями, который используется для выполнения самых разных действий вашего децентрализованного приложения. Различные языки имеют свои собственные реализации концепции и стандарта FCL.

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

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

Существует множество различных функций, которые делают Flow уникальным. Вот некоторые из них:

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

Дополнительную информацию о Flow Blockchain можно найти на https://flow.com и https://docs.onflow.org/.

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

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

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

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

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

Шаг 2 — Импорт

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

import { query, config } from "@onflow/fcl";
Enter fullscreen mode Exit fullscreen mode

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

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

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

Enter fullscreen mode Exit fullscreen mode

Шаг 4. Выполните скрипт в тестовой сети.

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

  const cadence = `
    pub fun main(): Int{
      return 42
    }
  `;
  const theAnswer = await query({ cadence });
  console.log({ theAnswer });
Enter fullscreen mode Exit fullscreen mode

Наконец - полный код

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

Enter fullscreen mode Exit fullscreen mode

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

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

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

  • Сайт Flow Docshttps://docs.onflow.org/ — более подробная информация о блокчейне Flow и о том, как с ним взаимодействовать.
  • Портал Flowhttps://flow.com/ — ваша точка входа в Flow
  • FCL JShttps://github.com/onflow/fcl-js — Исходный код и возможность внести свой вклад в библиотеку FCL JS
  • Cadencehttps://docs.onflow.org/cadence/ — Введение в Cadence
  • Codesandboxhttps://codesandbox.io — потрясающая IDE для браузера, позволяющая быстро создавать прототипы.

Top comments (0)