Привет! Меня зовут Джош Ханнан, я инженер по смарт-контрактам в группе Flow в Dapper Labs. Я работаю в сфере блокчейнов с начала 2017 года, несколько лет работал над проектами Ethereum и начал работать с командой Flow в сентябре 2019 года. В Dapper Labs я пишу смарт-контракты и документацию Cadence, а также помогаю сообществу. .

Я собираюсь писать короткие (иногда не очень короткие) еженедельные (при условии, что я соблюдаю все установленные сроки) сообщения в блоге о том, что сейчас волнует меня в отношении смарт-контрактов Cadence. Я также выделю интересные проекты в сообществе, с которыми я сталкиваюсь, и, возможно, даже время от времени буду приглашать приглашенных писателей!

Я думал о том, чтобы назвать эту серию «Еженедельная каденция Джоша», но этот каламбур полностью утонул в сообществе Flow и больше никогда не должен быть услышан, поэтому я не буду подвергать вас еженедельной проверке.

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

Что такое Flow?

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

Когда начать?

В последнее время к Flow проявился большой интерес. Может быть, все решили в новогодние праздники узнать о Flow? Может быть, Flow был упомянут в твите Илона Маска ™? Может быть, существует игра NFT, построенная на Flow, популярность которой стремительно растет и побуждает разработчиков создавать инструменты для нее и других подобных приложений? Точно сказать невозможно. 😜

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

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

Я также рекомендую прочитать Flow Primer, чтобы получить базовое представление об архитектуре блокчейна Flow.



Шаг 1. Введение в каденс

Введение в Cadence отлично объясняет важные дизайнерские решения, лежащие в основе Cadence, и почему они так важны. Очень важно понять, прежде чем пытаться выучить язык.

Я также рекомендую ознакомиться с этим сообщением в блоге Детектора Ширли, технического директора Dapper Labs и одного из ведущих архитекторов Flow и Cadence, который всего в нескольких мемах и вирусных твитах находится от достижения культового статуса. Он объясняет, почему модель программирования Cadence, ориентированное на ресурсы программирование, является идеальной моделью для цифровых активов.

Еще одно сообщение в блоге о модели учетных записей Flow и Cadence от Decentology:



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

Пора сделать перерыв, правда? Нет? Что ж, не дай мне сдержать тебя!

Шаг 2: Учебные пособия по каденсу

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

Учебники помогут вам познакомиться с Flow Playground, замечательным инструментом для быстрого написания и ручного тестирования смарт-контрактов в вашем браузере!

Существует также расширение Visual Studio Code, которое вы можете установить, чтобы иметь подсветку синтаксиса и встроенный эмулятор Flow в VSCode! Довольно аккуратно, правда?

Шаг 3: стандартные интерфейсы

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

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

Стандарт взаимозаменяемых токенов



Стандарт нефинансовых токенов



Это будут ваши первые примеры смарт-контрактов, которые фактически развернуты в Flow Mainnet и используются в реальных приложениях.

Шаг 4. Расширенные темы по каденции

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

Также Шаг 4: Контракты с реальной частотой вращения педалей

К этому моменту, я уверен, вы уже полностью погрузились в культ Cadence, и вам уже не терпится узнать, что другие создали с помощью этого невероятного языка программирования.

Нет? Вы там выпили вкуснейшего кул-хелда? Довольно вкусно. Да, вот так. Теперь ты понимаешь.

Теперь, когда мы на той же странице, вот несколько отличных примеров смарт-контрактов Cadence, которые работают в тестовой и / или основной сети. (Я могу быть немного предвзятым, потому что помог написать несколько из них.)

Контракты ядра потока: Это репо содержит смарт-контракты и транзакции, которые являются частью основного протокола потока. Они обеспечивают соблюдение поведения для токена сети Flow, комиссий, ставок, эпох и т. Д.

Kitty Items. Команда Flow и Cryptokitties недавно собрала этот замечательный пример игры, торговой площадки и приложения NFT, в которых используются новейшие передовые методы разработки Cadence и Flow в полном приложении, которое работает в тестовой сети!

NBA Top Shot: » Вы наверняка слышали об этом. Top Shot и его торговая площадка работают в Flow Mainnet с июня 2020 года и стали чрезвычайно популярными. ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: контракты Top Shot были написаны давно, поэтому в них используются некоторые шаблоны дизайна Cadence, которые устарели и не рекомендуются для большинства будущих проектов NFT. Проект Kitty Items - лучший пример передового опыта Cadence.

Заключение

Если вы зашли так далеко, поздравляю! Надеюсь, теперь у вас достаточно инструментов и знаний для написания собственных смарт-контрактов в Cadence.

Попутно вся команда и сообщество Flow будут поддерживать вас! Не стесняйтесь обращаться через наш сервер Discord, форум Flow или через репозиторий Flow на Github.

Есть ли какие-то другие ресурсы или интересные проекты, которые, как вы знаете, будут полезны новичкам? Не стесняйтесь комментировать свои идеи, и я могу включить их в будущий пост!

Flow Discord: https://discord.gg/flow

Форум Flow: https://forum.onflow.org

Flow Github: https://github.com/onflow/flow

Увидимся на следующей неделе! 👋