Мое путешествие от Web Dev к Web 3.0 Dev — часть 2

Привет!

Я снова здесь, чтобы поделиться своими последними знаниями в области Web3.

🏦 Приложение DeFi

Я начал создавать свое собственное децентрализованное приложение.
Это Dapp будет иметь несколько реализаций и функций, таких как Staking, Farming, Oracles и Proxy Contracts.

Markkop / markkop-defi

Fullstack DeFi приложение, созданное с помощью Solidity, Hardhat и Nextjs.

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

Я обратился к приложению DeFi, которое использовал на Binance Smart Chain, и проанализировал его контракт.
Позже я выяснил, что это просто копия контракта Masterchef от Sushiswap — очень популярного контракта на стакинг.

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

В следующей статье блога я подробно объясняю, как это работает.

Понимание вознаграждения за ставку на MasterChef в SushiSwap

Марк Коп ・ Apr 20 ・ 7 min read

#солидность #блокчейн #дефи #смартконтракт

Затем, после реализации моего собственного контракта по стакингу, основанного на исследовании, которое я провел выше, я приостановил этот проект, чтобы разобраться в Zero-Knowledge Proofs.

🔎 Доказательство нулевого знания

Изучая содержание исследования Web3, я встретил Zero-Knowledge DAO на блокчейне Harmony, продвигающую когорты для обучения разработчиков ZK-доказательствам.

Harmony zkDAO
@harmonyzkdao
Zero-Knowledge University — это онлайн-курс и неформальная учебная группа для разработчиков программного обеспечения, где они узнают, как создавать готовые к продаже продукты в web3 с использованием технологии доказательств нулевого знания.
13:29 PM — 12 Apr 2022

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

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

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

ZKu Неделя 1: Введение в ZKP

Марк Коп ・ May 9 ・ 6 min read

#блокчейн #web3 #программирование #todayilearned

Я решил снова изучить ZK после получения большего опыта работы с Web3.

💣 Эфириум OpenZeppelin

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

OpenZeppelin / ethernaut

Wargame на основе Web3/Solidity

Ethernaut

Ethernaut — это основанный на Web3/Solidity варгейм, вдохновленный сайтом overthewire.org, в который можно играть в виртуальной машине Ethereum. Каждый уровень представляет собой смарт-контракт, который необходимо «взломать».

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

PR уровней приветствуется!

Развернутые версии

Текущую, официальную версию вы можете найти на сайтеethernaut.openzeppelin.com.

Запуск локально (локальная сеть)

  1. Установите
git clone git@github.com:OpenZeppelin/ethernaut.git
yarn install
  1. Запустите детерминированный rpc
yarn network
  1. Возможно, вы захотите импортировать один из приватных ключей из ganache-cli в ваш кошелек Metamask.
  2. Скомпилируйте контракты
yarn compile:contracts
  1. Установите для client/src/constants.js ACTIVE_NETWORK значение NETWORKS.LOCAL
  2. Разверните контракты
yarn deploy:contracts
  1. Запустите Ethernaut локально
yarn start:ethernaut

Запуск локально (ropsten network)

То же самое, что и при использовании локальной сети, но шаги 2, 3 и…

Посмотреть на GitHub

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

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

Я пытался получить помощь на нескольких каналах discord, но мне удалось понять проблему, только когда парень из OpenZeppelin ответил мне на Linkedin.

Эта история и решение зарегистрированы в записи в блоге ниже:

Причина, по которой внутренние транзакции ethereum могут потерпеть неудачу

Mark Kop ・ Apr 28 ・ 4 min read

#солидность #ethereum #блокчейн #газ

Спойлер: Metamask не получал параметр Gas Limit от Remix, а оценка лимита газа не учитывает базовые транзакции, такие как трансфер в вызове.

🛡️ Защитник OpenZeppelin

Задачи Ethernaut заставили меня заинтересоваться OpenZeppelin, и пока я искал больше информации о компании, я наткнулся на их приложение Defender.

OpenZeppelin | Defender

Доставляйте продукты быстрее с меньшим риском. Автоматизируйте операции с Ethereum, чтобы поставлять высококачественные продукты быстрее и с меньшим риском для пользователей.

openzeppelin.com

Я из тех людей, которые могут понять инструмент по-настоящему только тогда, когда создадут что-то с его помощью.

Поэтому я придумал какой-то случайный контекст, например, NFT Game, и использовал Defender, чтобы помочь мне управлять некоторыми смарт-контрактами.

Результат описан в следующей записи блога:

Открытие возможностей OpenZeppelin Defender с помощью NFT Game

Mark Kop ・ May 10 ・ 7 min read

#блокчейн #web3 #openzeppelin #dapp

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

💭 Мои следующие планы

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

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

Я буду продолжать делиться своими знаниями со всем миром, поэтому обязательно следите за мной в этом блоге и социальных сетях 😀

Twitter | Linkedin | Github

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