Как создать nft на opensea
Перейти к содержимому

Как создать nft на opensea

  • автор:

Как бесплатно создать NFT на OpenSea за 5 минут и продать его? Полный гайд

Заходим на оф. сайт маркетплейса OpenSea.io и тыкаем «Create».

Как только вы нажали Create, сайт предложит залогиниться через один ваш кошелек. Мне по душе кошелек от Metamask.

После авторизации переходим на страницу создания NFT где вы увидите слова «Create New Item» — не пугайтесь, вам нужно загрузить ваш файл NFT(это может быть картинка, видео, аудио или даже 3D модель.

Далее мы загружаем наш NFT и добавляем название с описанием. Думаю это итак понятно)

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

Далее мы лицезреем блок где можно указать доп. свойства NFT, или если есть 18+ контент.

После заполнения всех данных, нажмите «Create». Все, ваш NFT готов, вы справились!

Самое главное! Выбирайте сеть Blockchain — Polygon! Иначе будете платить комиссию.

Мы создали свой личный NFT, пора теперь и выставить его на продажу.

Нажимаем кнопку «Sell» в правом верхнем углу и указываем цену и период. Все цены в Ethereum — ETH.

Как только вы указали желанную цену, и период продажи, тыкаем — «Complete listing»

Потом авторизуемся метамаском и сидим в ожидании чуда, пока кто-то купит ваш NFT.

Если Вы дочитали до этого момента, то для Вас бонус: БЕСПЛАТНАЯ МЕТОДИЧКА ПО NFT 2022. Для этого переходим сюда

OpenSea и Polygon: как создать NFT без комиссии… Совсем без комиссии

На OpenSea создание NFT всегда было бесплатным. Но была одна оговорка: за первое выставление на продажу в своем аккаунте нужно заплатить комиссию. Она составляет от $50 до $300, в зависимости от загруженности блокчейна Эфириум.

В 2022 году появилась возможность избежать этой проблемы. В статье покажем, как создать NFT без комиссии на OpenSea. Вы узнаете о новой функции, которая позволяет изменить блокчейн с Ethereum на Polygon.

Входит в серию статей «NFT-новичок»:

Видео-версия

Мы подготовили видео-инструкцию для тех, кому удобнее смотреть. В ней по очереди показываем, как бесплатно создать NFT на OpenSea и двух других маркетплейсах. Если вас интересует какой-то конкретный, можете переходить по таймкодам в описании видео.

Пошаговая инструкция

1. Для входа на OpenSea понадобится криптокошелек. Это приложение, которое позволяет хранить токены. Если у вас его еще нет, то рекомендуем посмотреть инструкцию по регистрации OpenSea при помощи MetaMask.

Подключение MetaMask к OpenSea

1 — кнопка для подключения кошелька к OpenSea. 2 — окно выбора кошелька для подключения

2. Перейдите во вкладку «‎Create‎», чтобы создать новый NFT.

Вкладка Create на Opensea

Вкладка «‎Create‎» на главной странице сайта OpenSea

3. В первое поле вставьте файл, который хотите превратить в токен, а ниже напишите его название. Остальные параметры можно будет изменить позже. Если с этим процессом у вас возникнут сложности, то рекомендуем прочитать подробную инструкцию о создании NFT на OpenSea.

Создание NFT на Opensea

1 — поле для файла. 2 — поле для названия

4. Пролистайте страницу до конца вниз и найдите поле «‎‎Blockchain». В нем нужно изменить Ethereum на Polygon. Это позволит избежать комиссий в будущем, при выставлении на продажу.

Выбор блокчейна на Opensea

Поле для выбора блокчейна между Ethereum и Polygon

5. Нажмите кнопку «‎‎Create». Токен будет создан и вы автоматически будете перенаправлены на его страницу.

Уведомление OpenSea о том, что NFT создан

6. Теперь нужно выставить NFT на продажу и выбрать цену. Для этого нажмите синюю кнопку «Sell» в правом верхнем углу.

Кнопка продажи NFT на Opensea

Кнопка «Sell» на странице с NFT

7. В поле «Priсe» выставьте цену своего NFT и нажмите кнопку «Complete listing».

Листинг NFT на Opensea

1 — поле для ввода цены в токенах WETH. 2 — кнопка для выставления про продажу

8. Осталось поставить подпись с помощью кошелька. Нажмите «Sign» в OpenSea, а затем «Подписать» в кошельке.

Подтверждение листинга на Opensea

1 — кнопка, которая запрашивает подпись кошелька. 2 — кнопка, которая ставит подпись в кошельке

9. Теперь NFT выставлен на продажу. В общедоступном поиске на OpenSea он появится в течении недели. Но уже можно отправлять прямую ссылку на страницу с NFT потенциальным покупателям или разместить его в NFT-галерее в метавселенной. А открыть галерею вам поможет Metaverse-агентство Maff.

Рекомендуем видео
После продажи NFT на блокчейне Polygon вы получите WETH, который сразу обменять на рубли нельзя. В видео-инструкции мы показали, как выгодно вывести заработок из OpenSea на карту.

Заключение

В инструкции мы показали, как разместить NFT на OpenSea полностью бесплатно. Так как при создании был выбран блокчейн Polygon, комиссии за выставление на продажу платить не пришлось. Эфириум кошелек запросил только подпись, но никаких средств не списывал.

Как создать NFT на OpenSea? Инструкция.

Из этой статьи вы узнаете, как создать коллекцию и разместить свой NFT на платформе OpenSea.io, как включить получение роялти при перепродажах и какие комиссии существуют на маркетплейсе. Вы также узнаете как создать кастомные фильтры для своих работ и как добавить бонусный контент, доступный …

MrVector

Дата публикации: 27.02.2022

Из этой статьи вы узнаете, как создать коллекцию и разместить свой NFT на платформе OpenSea.io, как включить получение роялти при перепродажах и какие комиссии существуют на маркетплейсе. Вы также узнаете как создать кастомные фильтры для своих работ и как добавить бонусный контент, доступный лишь покупателю NFT.

Как создать NFT на OpenSea? Инструкция.

Коллекция Crypto Punks является одной из первых и самых успешных на рынке. Ее по праву можно называть «голубой фишкой» рынка.

Введение

Создать NFT на OpenSea можно на основе двух блокчейнов: Ethereum (Токен: ETH) и Polygon (Токен: MATIC). Основное их отличие заключается в том, что создавая NFT на Polygon, вам не нужно уплачивать дополнительную комиссию за газ, в отличие от Ethereum. Но стоить помнить, что Polygon менее популярен чем Ethereum. Т.е. пользователи в некоторой степени уже привыкли к Ethereum и переход на Polygon может вызывать у них некоторый дискомфорт при перенастройке системы.

При создании NFT на Ethereum вы заплатите комиссию, которая может включать несколько единовременных платежей, за газ лишь один раз, в самом начале, за создание смарт-контракта и инициализацию учетной записи. Размещение последующих работ будет бесплатным. Комиссия будет, но уже при продаже или трансфере ваших работ, распределяется она следующим образом:

  • Покупатели платят за газ, при покупке товара по фиксированной цене.
  • Продавцы платят за газ, при принятии предложений на покупку от клиентов.
  • OpenSea платит за газ при использовании аукциона, который подразумевает продажу по самой высокой предложенной цене.

Комиссии

В OpenSea существует две категории комиссий за газ: разовые комиссии и регулярные комиссии.

Единоразовые комиссии

Как уже упоминалось выше, при первом использовании Ethereum вам придется заплатить несколько единовременных комиссий. Эти транзакции необходимы для предоставления разрешений на транзакции между вашим кошельком и OpenSea.

№ 1: Плата за регистрацию аккаунта

Предположим, вы никогда раньше не продавали NFT на OpenSea. В этом случае вам нужно будет заплатить комиссию за инициализацию учетной записи, прежде чем вы сможете разместить ее на Ethereum.

Стоимость комиссии за инициализацию учетной записи может сильно различаться в зависимости от нагрузки на сеть Ethereum. Обычно она немного выше, чем обычная Ethereum транзакция, потому что вы предоставляете OpenSea и вашему кошельку разрешение на транзакцию и позволяете OpenSea получать доступ к элементам NFT, когда происходят будущие продажи.

№ 2: Новый токен или одобрение контракта (например, WETH, USDC)

Предположим, что предмет, который вы размещаете, был отчеканен не в OpenSea, а в рамках кастомного NFT контракта (например в Bored Ape Yacht Club). В этом случае вам нужно будет заплатить единовременный сбор за авторизацию транзакций между этим контрактом и вашим кошельком.

Если вы впервые участвуете в аукционе , вам также необходимо одобрить WETH, определенный тип ETH, используемый для аукционов.

Утверждение токена требуется всякий раз, когда вы взаимодействуете с криптовалютой в первый раз. Это касается и других популярных валют, таких как USDC и DAI.

Регулярные комиссии

Комиссия за газ в Ethereum платится каждый раз в следующих случаях:

  • Принятие офферов от покупателей.
  • Передача или дарение NFT кому-либо.
  • Покупка NFT.
  • Делистинг NFT.
  • Снижение цены на указанный вами NFT (для токенов стандарта ERC-1155).
  • Отмена ставки.
  • Преобразование WETH обратно в ETH и наоборот.
  • Замораживание ваших метаданных.
  • Перевод ETH или вывод ETH в Polygon и обратно.

Бесплатные действия

Указанные ниже действия не требуют комиссий за газ:

  • Чеканка нового NFT, т.н. Lazy Minting.
  • Создание коллекции.
  • Листинг NFT по фиксированной цене.
  • Размещение NFT на аукционе (WETH требуется только тогда, когда вы принимаете или создаете предложение)).
  • Снижение цены на указанный вами NFT (для токенов стандарта ERC-721).

Создание и размещение NFT

Вход в аккаунт

Шаг 1. Заходим на сайт OpenSea.io.

Шаг 2. Входим в крипто-кошелек MetaMask. Вводим пароль от кошелька и активируем его.

Обратите внимание! Если вы используете другой кошелек, то войдите и активируйте его.

Шаг 3. Входим в учетную запись на OpenSea.io. В верхнем меню нажимаем Account -> Profile или Create:

Как создать NFT на OpenSea? Инструкция.

Затем выбираем MetaMask, при необходимости ставим цифровую подпись и попадаем к себе в аккаунт:

Как создать NFT на OpenSea? Инструкция.

Создание коллекции в менеджере коллекций

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

Создание коллекции бесплатно и мгновенно. Менеджер коллекций позволяет создавать NFT совершенно бесплатно, не платя за газ. Выставление на продажу этих NFT также не требует газа — вам просто нужно один раз инициализировать свою учетную запись OpenSea.

Менеджер коллекций позволяет авторам создавать NFT без каких-либо предварительных затрат на газ, поскольку NFT не передается по цепочке до тех пор, пока не будет совершена первая покупка или трансфер. Это называется Lazy Minting.

Шаг 1. Создаем коллекцию. Кликаем по аватару и в выпадающем меню выбираем: My Collections:

Как создать NFT на OpenSea? Инструкция.

Нажимаем на кнопку Create a Collection:

Коллекции можно создавать либо непосредственно в OpenSea, либо импортировать из существующего смарт-контракта. Вы также можете использовать другие сервисы, такие как Rarible или Mintable, и импортировать элементы в OpenSea

Как создать NFT на OpenSea? Инструкция.

Шаг 2. Подготавливаем оформление. Рекомендую оформить все аккуратно и отнестись к процедуре со всей серьезностью, т.к. витрина — это лицо коллекции.

      • Logo image — Логотип коллекции. Загружается в обязательном порядке. Рекомендуемый размер 350×350 пк.
      • Featured image — Изображение коллекции. Это изображение будет использоваться при размещения вашей коллекции на домашней странице, страницах категорий или других рекламных разделах OpenSea. Рекомендуемый размер 600×400 пк.
      • Banner image — Изображение баннера коллекции. Это изображение появится в верхней части страницы вашей коллекции. Не добавляйте слишком много текста в это изображение, так как его размеры могут варьироваться от размера экрана различных устройств. Рекомендуемый размер 1400×400 пк.

      Как создать NFT на OpenSea? Инструкция.

      Шаг 3. Заполняем необходимые поля.

          • Name — Имя коллекции. Поле заполняется в обязательном порядке.
          • URL — Адрес коллекции. URL-адрес может состоять только из строчных букв, цифр и дефисов.
          • Description — Описание коллекции. Описание помогает коллекционерам понять смысл произведения. Данное поле может вмещать до 1000 символов.

          Как создать NFT на OpenSea? Инструкция.

              • Category — Категория. Добавление категории делает доступным вашу коллекцию для поиска на OpenSea. Доступные следующие варианты: art, collectibles, music, photography, sports, trading cards и utility.
              • Links — Cсылки. Можно оставить ссылки на ваши ресурсы, которые помогут коллекционерам лучше понять ваши работы и пообщаться с вами.
              • Royalties — Роялти. Вы можете установить размер роялти, которые будете получать при последующих перепродажах предметов. Максимальный процент роялти: 10%.

              Как создать NFT на OpenSea? Инструкция.

                  • Blockchain — Блокчейн. Опция отвечает за выбор блокчейна, в который по умолчанию будут добавляться новые элементы коллекции. Доступны следующие варианты: Ethereum, Polygon.
                  • Payment tokens — Платежные токены. Здесь можно добавить токены, которые можно использовать при покупке или продаже предметов вашей коллекции.
                  • Display theme — Шаблон оформления коллекции.
                    • Padded — Рекомендуется для предметов с прозрачным фоном.
                    • Contained — Рекомендуется для предметов с пропорцией сторон не равной 1:1.
                    • Covered — Рекомендуется для предметов, которые могут растянуться до краев без потери качества и смысла.

                    Как создать NFT на OpenSea? Инструкция.

                    Шаг 4. Создаем коллекцию. Проверив правильность и актуальность данных нажимаем Create:

                    Как создать NFT на OpenSea? Инструкция.

                    Коллекция создана. Теперь можно переходить к созданию NFT.

                    Как создать NFT?

                    Шаг 1. Создаем NFT. В верхнем правом меню на сайте OpenSea.io нажимаем Create:

                    Как создать NFT на OpenSea? Инструкция.

                    Добавить NFT можно также войдя в коллекцию и нажав в верхнем меню на кнопку Add item. Оба варианта рабочие.

                    Шаг 2. Оформляем листинг NFT. На этом этапе нам необходимо загрузить превью работы, указать ее название, описание и при необходимости дать ссылку на внешний сайт с описанием работы.

                    Обратите внимание! Все данные желательно заполнять на английском языке.

                    Загружаем нашу работу, которую хотим превратить в NFT:

                        • Поддерживаемые форматы файлов: JPG, PNG, GIF, SVG, MP4, WEBM, MP3, WAV, OGG, GLB, GLTF.
                        • Максимальный размер файла: 100МБ.

                        К заполнению доступны следующие поля:

                            • Name — Имя работы. Поле обязательно к заполнению.
                            • External link — Внешняя ссылка. OpenSea разместит эту ссылку на странице с элементом, чтобы пользователи могли кликнуть по ней и узнать дополнительную информацию о работе. В этом поле, например, можете указать ссылку на личный сайт или пост в инстаграм.
                            • Description — Подробное описание работы. Описание будет отображаться на странице с работой под ее превью. Описание должно помочь покупателю понять смысл работы и посыл автора. Поле поддерживает язык разметки Markdown.

                            Как создать NFT на OpenSea? Инструкция.

                                  • Collection — Название коллекции в которой будет отображаться элемент.
                                  • Properties — Характеристики. Данная функция позволяет создавать пользовательские фильтры, которые будут помогать коллекционерам ориентироваться в коллекции. Например, у вас в коллекции есть автомобили с различным количеством колес. Мы можем создать фильтр, который будет отвечать за эту особенность: «Количество колес» — «6». Созданные фильтры отображаются под конкретной работой в виде прямоугольника. Если мы нажмем на него, то система отфильтрует все работы и отобразить только те, где вы отметили «6» колес.
                                  • Levels — Уровни. Данная функция позволяет создать фильтр, который бы показывал например, уровень развития героя: 3 из 5. Уровни помогают организовать систему прокачивания персонажей и т.п. В общем ее применение целиком и полностью зависит от вашей фантазии. Уровни отображаются в виде полоски прогресса.
                                  • Stats — Статистика. Характеристики, которые просто отображаются в виде цифр.
                                  • Unlockable Content — Разблокируемый контент. Активируя данную опцию, у вас появляется возможность добавить какой-то бонус для покупателя. Это может быть ключ доступа или ссылка на файл в высоком разрешении.
                                  • Explicit & Sensitive Content — Откровенный и деликатный контент. Включите эту опцию, если ваша работа содержит элементы сексуального характера. Это позволит защитить пользователей с помощью безопасного поиска
                                  • Supply — Количество экземпляров нашего токена. Если вам необходимо отчеканить токенов больше чем 1, то при создании NFT, добавьте в конец адресной строки ?enable_supply=true. По умолчанию, данное поле отключено.

                                  Как создать NFT на OpenSea? Инструкция.

                                      • Blockchain — Блокчейн. Опция отвечает за выбор блокчейна, который будет использоваться для хранения NFT. Доступны следующие варианты: Ethereum, Polygon.
                                      • Freeze metadata — Заморозка метаданных. Замораживание метаданных позволит вам навсегда заблокировать и сохранить весь контент этого элемента в децентрализованном хранилище файлов.

                                      Как создать NFT на OpenSea? Инструкция.

                                      Проверив все заполненные данные нажимаем Create:

                                      Как создать NFT на OpenSea? Инструкция.

                                      Шаг 3. Выставляем NFT на продажу. Оформив листинг NFT, нам необходимо выставить его на продажу. Для этого переходим на страничку с работой и в верхнем правом углу нажимаем на Sell:

                                      Как создать NFT на OpenSea? Инструкция.

                                      В примере ниже я решил сделать NFT на блокчейне Polygon. Заполняем следующие поля:

                                          • Quantity — Количество копий предмета.
                                          • Price per unit — Цена каждого предмета.
                                          • Duration — Продолжительность листинга.
                                          • Reserve for specific buyer — Зарезервировать для конкретного покупателя.

                                          Указав все данные нажимаем Complete listing:

                                          Как создать NFT на OpenSea? Инструкция.

                                          Затем нам необходимо разблокировать валюту. Это делается один раз и только в тот момент, когда вы впервые размещаете свою работу. Данная операция будет бесплатной, необходимо будет лишь поставить свою цифровую подпись. Нажимаем Unlock:

                                          Как создать NFT на OpenSea? Инструкция.

                                          Завершающий этап. Нажимаем Sign:

                                          Как создать NFT на OpenSea? Инструкция.

                                          После этого работа станет доступной через поиск на сайте и для всех желающих ее приобрести.

                                          Introduction

                                          gft-engineering

                                          NFTs (or Non-Fungible Tokens) have become increasingly popular, first after the CryptoKitties game was released (and saturated the Ethereum network) and lately when the creator of Twitter sold its first tweet as an NFT for almost 3 million dollars.

                                          In this article we will explain how to create your own NFT collection, adding “digital pieces of art” as tokens. For this, we will be using the Ethereum blockchain and the ERC-721 standard. We will be storing the “pieces of art” (images) in IPFS and given that we will follow the metadata standards of the ERC721 Json Schema, the NFT will also be available in OpenSea.

                                          So … what it is an NFT?

                                          An NFT or Non-Fungible Token is a unique digital asset (that may represent non-digital assets), which uses the blockchain to ensure its authenticity. This type of token is a great resource to be used in platforms or organizations that offer different types of products where they need to prove unique properties and attributes such as:

                                          • Collectibles (e.g: NBA TopShot)
                                          • Art (e.g: CryptoPunks)
                                          • Game items (e.g: Gods Unchained)
                                          • Virtual worlds (e.g: Decentraland)
                                          • Documentation and real-world assets (eg: real estate)

                                          And what it is the ERC721 standard?

                                          The ERC-721 (Ethereum Request for Comments 721), proposed by William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs in January 2018, is a Non-Fungible Token Standard that implements an API for tokens within Smart Contracts.

                                          It provides functionalities like to transfer non fungible tokens from one account to another, to get the current token balance of an account, to get the owner of a specific token, as well as the total supply of the token available on the network.

                                          Also allows optional implementation of metadata for your tokens.

                                          Tools & Development Assets

                                          Pre-requisites to go through the article:

                                          • Node JS & npm — https://nodejs.org/es/download/
                                          • Truffle — https://www.trufflesuite.com/truffle
                                          • Pinata account — https://www.pinata.cloud/
                                          • IDE
                                          • Metamask Chrome extension & wallet- https://metamask.io/download.html

                                          Here is a brief description of each element we use throughout the process based on its documentations:

                                          • OpenZeppelin is a library of modular, reusable, secure smart contracts for the Ethereum network, written in Solidity. It allows to leverage standard, tested, and community-reviewed contracts for its own purposes and can significantly reduce the development time of applications. We will use Presets contracts in OpenZeppelin Contracts 3 to create an ERC721 and deploy using Truffle.
                                          • Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier.
                                          • Node JS. We need to use some Javascript code and Truffle, what needs Node Package Manager (npm) to be installed.
                                          • Virtual Studio Code or any other IDE which supports Solidity and JavaScript to modify some code and in order to customize your token.
                                          • Infura , that provides access to public nodes for all testnets and the main network, via both free and paid plans.
                                          • IPFS (InterPlanetary File System) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.
                                          • Pinata provides secure and verifiable files for your NFTs. Whether you are a platform, creator, or collector, simply upload through Pinata, copy your IPFS CID, and attach to your NFT before minting to have secure and verifiable NFT files.
                                          • OpenSea is a decentralized peer-to-peer marketplace for buying, selling and trading rare digital goods, from gaming items to collectibles to art, which are built on non-fungible token (NFT) technology and run on the Ethereum blockchain.
                                          • The asset that you want to tokenize (image file in this case).

                                          After putting in context the different elements that we will use … Let’s get started!

                                          Metadata

                                          There are many approaches to solve the metadata storage. For this article I’ve chosen to do it off-chain (so, I’ll host the metadata out of the blokchain) but in a decentralized way using IPFS to retrieve the metadata.

                                          It could be centralized, and in that way we will get different benefits, as a faster response or bigger control about the project … or directly on-chain, what due to the current limitations on fees and gas-cost increases massively deployment cost.

                                          I’d recommend you to read more about it in this article from Opensea’s Blog, in which they explain pretty well what are the circunstamces when it comes to talk about metadata and it’s de/centralization:

                                          To retrieve the data we have off-chain, OpenSea reads the ERC-721 Json Schema, what makes things easier.

                                          Since we are going to deploy static NFT, we will need to set-up all the metadata in advance for every token we want to deploy.

                                          To do this, we will write the metadata of every token we want to create in individual text files (with no file extension, but following the json schema), and then we will put them all in the same directory, which we will upload later to IPFS to pin it with Pinata.

                                          This is a reference for the ERC721 Json Schema:

                                          This would be a real example of an NFT metadata:

                                          And in the following image we could see how the result would be according to the OpenSea conventions (more info about metadata standards in here):

                                          You can check the links below the article if you want to see examples already made and its result.

                                          Upload metadata to IPFS & Pinata

                                          First thing we will do is upload the images to Pinata that we want to attach to our tokens, it will allow us to keep the image stored immutably and decentralized manner.

                                          After that, we’ll see our image in ‘My Files’. Click on it and copy the URL to the metadata text file associated.

                                          Finally, we should have a folder as the one below containing the different files with our metadata.

                                          We will finally upload the folder to Pinata.

                                          And it will give you an URL that you will need later for the contract deployment script.

                                          If you click on it, should bring you to a folder like this:

                                          Should be something like this:

                                          You can check inside how my examples have been done.

                                          Setting up the environment

                                          You will need WSL2 to execute every command on Windows OS

                                          Start creating a new project:

                                          Then, install OpenZeppelin Contracts which contains many different Solidity files which we will use for our ERC721’s implementation:

                                          And installing the development framework for deployment, which will be Truffle for this tutorial:

                                          Setting the Truffle project

                                          To use most Truffle commands, you need to run them against an existing Truffle project. So the first step is to create a Truffle project.

                                          This command will create a directory called ‘contracts’ and a configuration file (‘truffle-config.js’), a Javascript file which can execute the necessary code to create and manage your truffle environment configuration, e.g:

                                          • Coherence between the compiler you use in your scripts and the one selected in the config.
                                          • Your network config for the project (Development, Rinkeby, Kovan, Göerli … etc).

                                          We’ ll do a dive into this file later.

                                          Smart contracts and deployment files.

                                          ERC721 & Extensions

                                          Smart-contracts in Solidity are kind of similar to the “classes” concept in the OOP paradigm. Contracts contain persistent data in state variables, and functions that can modify these variables. Calling a function on a different contract (instance) will perform an EVM function call and thus switch the context such that state variables in the calling contract are inaccessible.

                                          We are going to use Preset ERC721PresetMinterPauserAutoId which is an ERC721 that is preset with the ERC721 standard and its extensions.

                                          Basically we are importing different Solidity smart contract with different functionalities in just one file that combine all of them to give us most of the potential of the standard.

                                          We can check the ERC721PresetMinterPauserId.sol and all the others Solidity files used for this smart-contract following the path\node_modules\@openzeppelin\contracts\token\ERC721 and/or in OpenZeppelin’s Github.

                                          openzeppelin-contracts/ERC721PresetMinterPauserAutoId.sol at master ·…

                                          OpenZeppelin Contracts is a library for secure smart contract development. …

                                          And these functionalities allow us to execute different transactions related to NFTs and the ERC721 standard :

                                          • Mint. To ‘mint’ an NFT which means to create the digital representation of something and its belonging to the blockchain.
                                          • Burn. Which allow you to send the token to a ‘black hole’ account with no-access to the public, whom can only check the balance but not its content.
                                          • Pause. Allows you to pause the transfers of the NFT, what could be useful if for any reason you would like to stop the marketability of the asset.
                                          • Transfer. Needed to transfer and keep a trace of the asset in the blockchain.
                                          • Add Metadata. Return a token URI. Our token URI will be baseUri + tokenId, which will be automatically added and increased with every minting.

                                          The Preset contracts have already been compiled, so we only need to copy the artifacts to the build/contracts directory:

                                          Deploy contract script

                                          Using your IDE create 2_deploy_token.js in the migrations directory with the following contents:

                                          Here we are setting (in order):

                                          • The contract we are using
                                          • The name of the collection
                                          • Symbol of the NFT
                                          • baseTokenURI pointing to the IPFS which points to our metadata.

                                          Migrations

                                          As written in Truffle docs: Migrations are Javascript files that help you deploy contracts to the Ethereum network. These files are responsible for staging your deployment tasks, and they’re written under the assumption that your deployment needs will change over time.

                                          So, migrations are really useful when you want to manage the interactions of a bigger project and you want to deploy different smart-contracts than rely on each other at different times.

                                          You can find this file inside the migrations directory as ‘1_initial_migrations.js’

                                          And it’s Solidity code, which you can find in the contracts folder inside your project directory.

                                          Deploy to a public testnet (Rinkeby)

                                          An Ethereum testnet is a network very similar to the main one but in which the ether has no value and can be obtained for free. This makes them especially useful for purposes like testing the transactions cost.

                                          We will deploy to Rinkeby public testnet as OpenSea supports Rinkeby (as well as Ropsten, Göerli … ) for testing.

                                          What do we need to deploy on a public testnet?

                                          • Get hold of a testnet node
                                          • Create a new account
                                          • Update our networks configuration in our Truffle configuration file
                                          • Fund our testing account

                                          Connect to a node in the testnet

                                          Easiest way to access a testnet is via a public node service such as Infura.

                                          Create an account on Infura, set up a new project and get the ‘ProjectID’ since we will need it later.

                                          Create a new testing account

                                          To send transactions on a testnet you need an Ethereum account. Truffle and mnemonics package provides you this:

                                          *(If you don’t have it installed, you’ll be asked for it)

                                          And this will print on your console screen a serie of words which you will need to sign the transactions with your account, so keep them to write them later in the secrets.json file.

                                          Keep your mnemonics safe, even for testing purposes.

                                          Update your networks configuration in our Truffle configuration file

                                          Since we are using public nodes, we will have to sign all our transactions locally.
                                          We will use @truffle/hdwallet-provider together with our set of mnemonic words previously generated.
                                          Through the Infura endpoint we will tell the provider how to connect to the Rinkeby testnet.

                                          After the installation is completed, we will modify the truffle-config.js file with a new connection to the Rinkeby’s testnet.

                                          Should look like this:

                                          A secrets.json file is required inside the project directory in order to not hardcode your mnemonics and your projectId (from Infura). You can use any other secrets-management solution you like as long as it’s safe.

                                          In this case, the file used should contain something like this:

                                          Fund your testing account

                                          To get the testing accounts Truffle is providing you in the project, execute:

                                          This command will drop a list with the different accounts you can use:

                                          1. Select the first one
                                          2. Write a tweet or Facebook post with it.
                                          1. Copy the URL of it (tweet in my case) and submit it to the Rinkeby’s Faucet.

                                          Now, (if everything is alright) you got your Rinkeby ethers so you can start to spend some rETH!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *