- Пошаговая инструкция по созданию своего NFT
- Подготовка
- Процесс разработки
- Завершение
- Share your content, your way
- Rampp — The NFT Contract
- Setup Images and Metadata on IPFS
- Create Custom Smart Contract
- Deploy Contract to Rinkeby
- Deploy Contract to Mainnet
- Mint Button & Landing Page
- Pinata — The Unlockable Content
- Wrapping up
- Создание деталей для произведений искусства
- Создание 10 000 уникальных произведений искусства и метаданных
- Хранение произведений искусства и метаданных
- Создание и развертывание смарт-контракта
- Создание веб-сайта
- Зачем нам создавать NFT с помощью dApps?
- Создание учетной записи в Твиттере
- Настройка вашей коллекции OpenSea
- О промоутерах
- О подарках
- Эфириум против Полигона
- How NFT Minting Works
- Uploading Images to IPFS
- Centralized Storage tends to be location based
- Centralized Storage can be taken down
- IPFS used content-based addressing
- IPFS never goes down
- Generate compliant NFT JSON metadata
- What are IPFS Gateways?
- Dedicated Gateways
- Блокчейн
- Ethereum и смарт-контракты
- Токены
- А где тогда картинка?
- On-chain
- On-chain*
- IPFS Pinata
- Arweave
- Как определить надежность вашего NFT?
- Future work
- Pinata’s presentation
- What is IPFS ?
Пошаговая инструкция по созданию своего NFT
В этой инструкции речь пойдёт о новом удобном NFT-маркетплейсе SignumArt, так как блокчейн Signum энергоэффективен — входит в топ 10 зелёных блокчейнов и децентрализован, чего нельзя сказать про PoS подобные токены. Кроме того, разработчики SignumArt учли ошибки предыдущих платформ и создали действительно удобный интерфейс, работа над которым ведётся постоянно, скоро будет доступны новые интересные фишки.
Мы любим нашу планету — мы за зелёные NFT!
В всплывающем окне кликаем «Install».
Вас перенесёт в интернет-магазин Chrome, независимо от того, каким браузером вы пользуетесь. Кликаем «Установить».
После загрузки, в появившемся окне, кликаем «Создать новый кошелек».
Придумываем пароль, ставим галочку в пункте «Принять условия», кликаем «Создать». Обязательно запомните пароль.
Сохраняем парольную фразу в надёжном месте. Лучше всего распечатать, заламинировать и запереть листок в надёжном сейфе. При выходе из текстового редактора, документ не сохраняем. Никто и никогда, кроме вас, не должен получить доступ или просто увидеть вашу парольную фразу. Ставим галочку в пункте «Я сделал резервную копию парольной фразы». Кликаем «Продолжить».
В появившемся окне кликаем «Далее».
Затем кликаем «Готово».
Кликаем «Завершить».
Далее кликаем «Активировать аккаунт». После активации аккаунта вам автоматически переведётся некоторое количество монет.
Поздравляем, вы создали свой криптокошелёк в сети Signum!
Затем возвращаемся на сайт NFT-маркетплейса. Кликаем «Ok, I Installed wallet» (Да, я установил кошелёк).
Далее кликаем кнопку с надписью «Create» (создать).
На открывшейся странице кликаем «Create Profile» (создать профиль).
Кликаем на логотип Pinata cloud — цветная неведомая зверушка.
Открывается сайт Pinata, кликаем «Sign up».
Кликаем «Register» (регистрация).
Вводим своё ФИО (можно псевдоним, проверки KYC там нет), адрес электронной почты и придумываем пароль. Пароль нужно будет придумать сложный. Обязательно запомните или сохраните его. Кликаем кнопку «Register»
Подтверждаем адрес электронной почты, вносим код подтверждения в соответствующее поле, кликаем «Submit Code» (подтвердить код).
Кликаем на иконку своего профиля и в всплывающем меню кликаем «API Keys».
Копируем и сохраняем API Key в надёжном месте, больше эти данные вам никогда не будут показываться.
Копируем JWT и вставляем в свой SignumArt Profile в поле «Secret access token». Ставим галочку на «Please accept the», далее кликаем «Save changes» и «NEXT».
Можно приступить непосредственно к процессу создания NFT. Во вкладке своего профиля кликаем «My NFTs».
Вы попадаете на страницу где отображаются все ваши NFTs. Кликаем «Create».
Выбираем «NFT Create». Вкладка зелёного цвета. Так же, вы можете создать вначале коллекцию, а затем уже добавлять в нее NFT. Тогда ваши работы смогут отображаться на главной странице портала.
Загружаем заранее приготовленную картинку. Один NFT может содержать до трёх картинок. Кликаем «NEXT».
Пишем название нашего NFT, краткое описание. Выбираем значение Royalties — это процент, который вы будете получать с последующих продаж и перепродаж данного NFT. Можно выбрать коллекцию для токена, но он может быть создан и без коллекции. В данном случае коллекция уже создана заранее, и мы выбираем поместить этот NFT в «Fractal collection». Доступны и другие опции заполнения метаданных, но это тема отдельной статьи. В них можно ничего не прописывать.
Завершающий этап создания NFT, самый приятный, указываем цену и кликаем «List your NFT».
Вводим защитный пароль для разблокировки кошелька.
Подтверждаем оплату смарт-контракта в 0. 4 Signa — это примерно 0,002$ или 0,11р на момент написания статьи. Цена очень приятная. Для создания пары NFTs, достаточно воспользоваться кранами, ссылки на которые даны выше — пункт 13.
Поздравляем! Ваш NFT успешно создан!
Он появиться в списке ваших NFTs через 5-10 мин.
Ссылку на NFT можно отправить в любой мессенджер, либо на стену вашей соц. сети. Покажите всем ваши бесценные произведения искусства!
Конечно, это лишь самый основной набор инструментов. Работа над порталом продолжается, улучшается и расширяется функционал. Например, владея NFT, можно получать дивиденды, но об этом в следующий раз. Также на самом портале есть подробная документация на английском языке.
Если статья-инструкция была полезной — не поскупитесь на лайки; если же была супер полезной, можете отблагодарить автора, купив NFT из данной коллекции.
Всем удачи и творческого роста!
Подготовка
Я являюсь большим фанатом фентези-средневековья (Толкин, Сапковский), поэтому первое, что пришло мне в голову — гоблины. Гоблины, которые могут быть вооружены мечами и копьями, а облачены в одежду по типу туник, доспехов и т. Я набросал на бумагу свое приблизительное видение персонажа и пришел к своей девушке — графическому дизайнеру. Горящий идеей и с кривым рисунком в руках, я попытался объяснить, что прямо сейчас нам необходимо нарисовать коллекцию гоблинов в стиле пиксель-арт.

Предложение увенчалось успехом, и мы приняли решение нарисовать по слоям 5 разных гоблинов, 5 элементов вооружения, 5 элементов одежды и 5 однотонных фонов. Итого уникальных айтемов.
Работа пошла: моя девушка и, по совместительству, единственный партнер по проекту, начала отрисовывать в PS первого персонажа — голенького и пока еще хрупкого, зеленого гоблина.
Я в свою очередь стал изучать массу разнообразных источников, дабы выяснить, что из себя фундаментально представляет NFT, как это сделать и где публиковать.
Стоит отметить, что я не нашел ровным счетом ничего на русскоязычных источниках, кроме самой базовой информации. Поэтому все, что помогло мне в разработке, пришлось брать с множества разных ресурсов: американские тематические форумы, американский ютуб, итальянский ютуб, китайский ютуб и много-много чего еще.
Процесс разработки
Итак, первое, что я выяснил — есть несколько площадок для продажи своих NFT. Самыми популярными являются OpenSea и Rarible. Как понял, OpenSea более доступна, т. комиссия за продажу айтемов платится непосредственно в момент продажи, т. площадка просто забирает часть суммы с продажи себе. А Rarible — это площадка, которая направлена больше в сторону настоящего искусства, нежели простых сгенерированных пиксель-арт картинок. Исходя из этого, выбор пал на OpenSea.
На OpenSea можно сделать NFT двумя способами:
- Нажать на сайте кнопку «Create» и вручную выбрать медиафайл, добавить название, описание и другую информацию описывающую айтем.
- Написать собственный смарт-контракт и заминтить айтем(ы).
Вручную выкладывать 625 айтемов было бы ужасно, так что я, не раздумывая, решил писать свой смарт-контракт.
OpenSea на данный момент поддерживает два блокчейна — Ethereum и Polygon. Но Ethereum — это дорого, и чтобы сделать 625 айтемов, по моим рассчетам нужно было заплатить около $16,000 за «газ», а также некоторую сумму, как первоначальный взнос перед листингом первого айтема. С Polygon такой проблемы нет: создание и листинг NFT происходит бесплатно, первоначального взноса нет, но айтемы на Polygon’е нельзя выставлять на аукцион, только фиксированная цена. Это мне подходит 🙂
Я нашел на ютубе парня — Patrick Collins, который рассказывал о том, как написать смарт-контракт и «за копейки» заминтить свои NFT, используя блокчейн Chainlink (LINK). У него было несколько разных гайдов, например, как сделать NFT с изображением в IPFS в качестве «обложки» или как сделать NFT с base64 SVG в качестве обложки. Позже выяснилось, что парень является основателем Chainlink — топ 20 токен в мире по мнению Coinmarcetcap.
Благодаря Патрику и некоторым другим видео, я выяснил, что смарт-контракт можно написать на языке программирования Solidity, а для его деплоя необходима некая среда. Передо мной встал выбор, с помощью чего деплоить смарт-контракт:
- Brownie — такой фреймворк для деплоя смарт-контрактов, с написанием кода на Python.
- Hardhat — тоже фреймворк, но код пишется на JavaScript.
- Remix — онлайн IDE для написания и деплоя смарт-контрактов.
Как упоминал в начале статьи, я являюсь Frontend-разработчиком, а значит ближе всех мне подходит Hardhat с возможностью написания кода на JavaScript.
Тем временем первый гоблин был отрисован, и более того, к нему был отрисован фон (изначально планировалось рисовать полноценные фоны, но из-за небольшого разрешения 100×100 пикселей, гоблины попросту терялись в деталях фонов).
Первый комплект (зеленый скин, одежда «тряпье», оружие «копье» и фон «таинственный лес»)
Прежде, чем писать смарт-контракт, мне нужен был генератор моих «NFT», то есть программа, которая возьмет все отрисованные слои и сгенерирует из них 625 уникальных изображений, а также соберет все в отдельные json’ы. Так выглядит json моих NFT:
Это документ, который описывает объект NFT: его имя, описание, атрибуты и изображение.
За основу генератора я взял скрипт на Python, написанный тем самым создателем китов и сильно переписал его под свои нужды: помимо генерации картинок и json’ов, мне также нужно было, чтоб скрипт загружал все эти картинки в Pinata. Pinata — это такой сервис, который загружает ваши данные в IPFS и возвращает хеш, по которому в дальнейшем можно эти данные получить. IPFS — это, очень простым языком, большой и безотказный файлообменник в интернете. Картинки могут храниться в Pinata как угодно, потому что у них будет хеш, который будет указываться в json’е (как видно в листинге выше). А с самими json’ами посложнее: для смарт-контракта нужно указать базовую точку, откуда для каждого токена будет взят json, то есть нужна такая «директория», в которой по номеру будут лежать все json’ы. Что то-вроде goblins/0. json , goblins/1. json и т. Поэтому, после генерации гоблинов я складываю все json’ы в отдельную директорию и затем загружаю на Pinata саму директорию, благо сервис позволяет так делать. Теперь получается так, что в файловой системе IPFS лежит директория со всеми json’ами, к которой я могу обратиться, как ipfs_hash/0. json. Отлично!

Когда генератор сделан, все изображения и данные для NFT сгенерированы и загружены — можно писать смарт-контракт. С этой частью я мучался больше всего, пытаясь писать его с помощью всех выше упомянутых вариантов: Brownie, Hardhat и Remix. Но из всего процесса опишу только успешный с помощью Hardhat, дабы избавить вас от ненужных подробностей.
OpenSea предоставляет для разработчиков тестовую среду. Ровно также, как Matic и Ethereum предоставляют тестовые сети. То есть для деплоя нужно просто переключить сеть в кошельке Metamask. Так как я собираюсь деплоить в сети Polygon, мне нужна тестовая сеть Polygon — Mumbai. Добавить ее в кошелек можно здесь. Просто ввести в поиске «Mumbai» и подключить Metamask, все просто. Когда сеть добавлена — можно пополнить баланс кошелька. Также необходимо описать конфиг для Hardhat, чтоб деплоить в нужной сети.
В качестве базы для NFT можно взять уже написанный смарт-контракт OpenSea Creatures. В репозитории можно на выбор найти несколько разных смарт-контрактов (Single, Bundle и т. ) и по их примеру пробовать писать свои. Но главное — это ERC721Tradable. sol и его зависимости. То есть основной функционал, такой как владение или трансфер уже будет реализован в нем, а нам остается только написать функционал минтинга.
Спустя долгое время изучения Solidity и тестирования смарт-контракта, у меня наконец получилось заминтить полноценную коллекцию в тестовой сети. Я принялся минтить это все в продакшн. Кстати, на минтинг 625 токенов ушло около $60. И вот, коллекция готова, все 625 токенов отображаются корректно, функционал работает. Последний штрих, чтоб было совсем красиво — верифицировать смарт-контракт. Это делается с помощью того же Hardhat.

К сожалению, на данный момент, OpenSea предоставляет API для листинга токенов только в сети Ethereum, поэтому я написал AppleScript, который автоматизировал работу моего Mac и за ночь залистил все 625 токенов. Также добавил скрипт для обновления метаданных моих NFT — бывает, что метаданные подтягиваются не сразу, и для этого есть кнопка «Refresh Metadata», но можно сделать это и с помощью скрипта.
Завершение
Прошло 4 месяца с момента релиза нашей коллекции и, сказать честно, ни один айтем не продался. За это время я пробовал сбивать цену, всячески продвигать своих гоблинов, даже заказал дискорд сервер у фрилансера. Но кажется, что коллекция попросту оказалась слишком проста и не несла за собой «вау» эффекта.
Я благодарен источникам, которые предоставили любую информацию, тем, кто отвечал на мои вопросы на форумах и, конечно, моей прекрасной девушке, которая решила потратить свое время и силы на такую внезапную сомнительную идею.
Это было интересно. Наша коллекция — это хоть и безуспешный, но совместный проект, который мы полюбили и довели до конца. Получили хороший экспириенс и собственные NFT.
Репозиторий на GitHubСайт коллекцииКоллекция
Я буду только рад, если кто-то, воспользовавшись этим проектом, упростит себе задачу и сделает свою крутую коллекцию, которая выстрелит 🙂
От вас прошу комментариев, критика тоже приветствуется, я знаю, что ей здесь есть место.
Share your content, your way

Keep your brand strong & consistent
Unlockable content with just a few clicks


Keep things short & sweet

Rampp — The NFT Contract

To get started you will want to visit rampp. xyz, and select «Launch a Project. » You will need Metamask to sign into the app; no need for emails and passwords here! From there you’ll be taken to the projects page where you can click «Create new project
The team at Rampp has done an exceptional job of breaking down the complexities of making NFTs. You’ll see from the card that there are several steps you will click on, each one leading to the next. They are in order:
- Setup Images and Metadata on IPFS
- Create Custom Smart Contract
- Deploy Contract to Testnet
- Deploy Contract to Mainnet
We won’t be deep diving into these steps too much because honestly Rampp has already done that! Each of the stages has lots of explanations, instructions, videos, and screenshots. We’ll just look at each step from a bird’s eye view so you can get a good idea of what to expect.
Setup Images and Metadata on IPFS
As you go through the steps, Rampp will show you how to create an account with Pinata, how to upload your assets, and what information you’ll need to go to the next step. One of those pieces will be the Content Identifier, or CID. The CID is the address to the content on the IPFS network, as well as a way to verify that it has not changed. The CID hash is determined by the contents of the folder or file, so if that content changes, the CID changes.
Once you give Rampp the CID for your images, it will walk you through creating the metadata for your NFTs. If you used something like Nifty Generator this will already be done for you, but if not it’s pretty easy to fill out. Rampp will provide a sample you can copy and edit to your needs. Here’s a simpler example you can use that does not have any attributes or extra features!
Once you’ve created the metadata files, you’ll upload them to Rampp, then they will edit them for you to include all the image links so you don’t have to. Once this is completed they will provide a link for you to download the folder. This completed metadata folder is what you will upload to IPFS next. Once this is done Rampp will need the CID for that folder too.
So far, so good. But let’s take a second to summarize what we’ve done so far.
- We uploaded the assets to Pinata and got the CID
- We gave that CID to Rampp.
- We created metadata for the NFTs and then uploaded them to Rampp
- We uploaded the final metadata folder to Pinata and got the CID
- We gave that CID to Rampp
Now that we have the assets ready, we can move onto the smart contract!
Create Custom Smart Contract
We start with some project information such as the name, what network we want, symbol, etc. You can even set royalties so any time your NFT sells on the secondary marketplace, you’ll get a cut! If this is your first time I would recommend using Ethereum as the Rinkeby test network is a bit easier to use than Polygon. However if you’re going to deploy to the real world, Polygon could save you a bunch of money in the long run.

Next, Rampp will lay out some contract features you can use. They do a great job of explaining all of these, so you’re encouraged to take the time to read through each of them carefully.
From there Rampp will ask for a payout address. This is where you can put in your Ethereum wallet address. You can also add multiple other wallets if you have other team members that are getting a cut. Keep in mind, Rampp will take 5% of the proceeds in exchange for the no-code service they’ve built.
Lastly, you will need to generate a smart contract. With a single button, Rampp will take all this information, the IPFS info, your selection of features, wallet addresses, and put them into a custom smart contract that you will own. It takes about 3 minutes and it will let you download the smart contract files. This is an awesome feature because you get the raw code if you ever want to take it with you or give it to a developer for future use!
Deploy Contract to Rinkeby
Now it’s time to make this thing go live! If this is your first time deploying a smart contract, you will want to use a test network, the one we’re using is called Rinkeby. It works just like the real thing, but you will use fake Ether instead of the real stuff that costs real money. Rampp will show on your project a button to Deploy to Rinkeby. Once you click on this, they will walk you through each step of the process. First you will switch your Metamask wallet to the Rinkeby network, then you will need to request some fake Ether from the Rinkeby faucet that Rampp links in their step.
Ramp also provides instructions on how to verify and validate your smart contract. This will help other people view the smart contract and make sure that it’s trustworthy, always a good idea in the crypto space.
Deploy Contract to Mainnet
This is a step you should probably come back to later. You still have some testing to do, and launching a full NFT project can be expensive, so best to do it only once. However once you are ready, Rampp makes it super easy. Just load up your crypto wallet with real Ether, hit the button, and it’s deployed to Mainnet! Works just like the Rinkeby network.
Mint Button & Landing Page

Typedream is a great platform for making your own website without any code. When you click on the link from Rampp it will take you to their website where you can create a free account to start out with. Once signed up, they give you different options for what template you want. You will want to select the Web3 template, and in the next page select the NFT page, and the NFT Minting page.
If you’ve never made a website before, that’s ok! Take a few minutes to read and watch the tips and tutorials that Typedream provides. They make it really easy to click and drag any elements you may want for the website to make it your own. On the right side of the site you can see a home page, and a Rampp x Pinata page below it. If you click on the Rampp x Pinata page you will see the mint button we need to setup.
At the top of the page Typedream will have a link to a guide on how to set up this button, but in case you need it you can use this link. What you’re going to do is go back to Rampp, click on the Mint Button & Landing Page section on the project, then click on the embeddable widget. From here you can change the colors and some of the other appearances, and on the right side there will be a big embed snippet for Rinkeby and Mainnet. Rampp will take the info from the smart contract you deployed earlier and link it to the button; too cool!
Once you copy that snippet, you’ll just head back to Typedream, select the mint button, and click «replace embed. » From there you’ll choose «code» and paste in the snippet from Rampp. That’s probably the closest you’ll come to «coding» in this process. After you’ve done this and the site is to your liking, you can launch it. Just like that you have a website that can let people mint your NFTs!
Pinata — The Unlockable Content
With this initial setup we can visit Submarine. me and login with our regular Pinata account credentials. Then we’ll want to click «Submarine New File,» then select «NFT Ownership
This concept puts a whole new spin on NFTs. The tokens themselves can point to anything and be anything. But now, they can also be the key to unlocking additional, exclusive media.
Wrapping up
If you’ve gotten this far, just step back and think about everything you just did:
- Used Typedream to create a minting website for the NFTs
- Used Pinata to gate content that can only be unlocked with an NFT
Создание деталей для произведений искусства
Существует множество бесплатных и платных программ для рисования, но, в конце концов, я считаю, что Adobe Illustrator или Photoshop — лучшие.
Самое важное в создании деталей для генеративного искусства — многократно проверять, как будут выглядеть ваши работы после объединения каждого слоя. Сгенерированные произведения искусства не должны быть слишком неестественными.
Создание 10 000 уникальных произведений искусства и метаданных
Я настоятельно рекомендую использовать HashLips Art Engine для создания ваших иллюстраций и метаданных. Возможно, на данный момент нет лучшего инструмента для генерации артов.
Узнайте, как использовать генератор, в видео на YouTube выше.
При настройке генератора обратите внимание на слои , как было сказано ранее.
Хранение произведений искусства и метаданных
В идеале сгенерированные произведения искусства и метаданные должны храниться в сети , но если вы хотите хранить их вне сети , вам следует использовать IPFS. Не храните в централизованном хранилище. Это связано с тем, что данные будут потеряны, если сервер выйдет из строя или компания выйдет из строя. С другой стороны, IPFS — более безопасный способ поиска данных, поскольку он использует распределенную децентрализованную систему.
Создание и развертывание смарт-контракта
Вам не нужно создавать смарт-контракт с нуля. Есть много отличных проектов NFT, многие из которых публикуют исходный код своего контракта на Etherscan / PolygonScan. Вы можете выбрать понравившийся контракт и использовать его повторно. Конечно, это требует некоторых знаний Solidity , но это зависит от ваших усилий. Если вы не знаете, какой контракт выбрать, используйте смарт-контракт HashLips. Он очень простой, но имеет почти все необходимые функции.
Узнайте, как составить контракт, в видео на YouTube выше. Это то же самое видео, которое я представил в предыдущем разделе.
Примечание. Позже вы можете изменить значение стоимости. Вы можете изменить его на Remix или Etherscan/PolygonScan. Но в этом случае введите значение Wei вместо значения Ether. Например, если вы хотите продать за 1 MATIC , вам нужно ввести « 1000000000000000000 ». Если вы установите это значение на «1», у вас будет кошмар. Я рекомендую использовать Simple Unit Converter в качестве инструмента для расчета значения Wei.
Создание веб-сайта
Веб-сайт здесь — это не просто статический сайт для демонстрации вашего проекта, это так называемое dApp , которое позволяет вам получить доступ к вашему смарт-контракту и чеканить NFT. На самом деле, этот уровень dApp не слишком сложен для тех, кто когда-либо создавал веб-сайт. Потому что библиотеки ethers. js / web3. js упрощают взаимодействие с вашим смарт-контрактом. Также нет проблем с подключением кошельков, так как у MetaMask есть отличная документация.
HashLips также предоставляет образец dApp , который вы можете использовать для быстрого создания собственного dApp. Но, честно говоря, это медленно, сложно и не современно, поэтому я не могу его рекомендовать.
Зачем нам создавать NFT с помощью dApps?
Не всем проектам NFT требуются собственные смарт-контракты (dApps). Если в вашем проекте 100 NFT, вы можете загрузить их напрямую в OpenSea для продажи. Но что, если у вас есть 10 000 NFT? Это только боль вручную загружать и управлять ими всеми.
Кроме того, более похоже на игру и весело иметь элемент незнания того, что получится после чеканки, а не просто продавать NFT, не так ли?
Как вы, возможно, знаете, смарт-контракты предназначены не только для создания NFT. Если вы заинтересованы в создании своего dApp в будущем, вам определенно стоит привыкнуть к использованию смарт-контрактов.
Создание учетной записи в Твиттере
Если вы не знакомы с Discord, вас может особенно смутить следующее:
- Каких ботов использовать?
- Как мне установить роли и разрешения ?
Но не волнуйтесь. Об этом есть много отличных видео на YouTube и в блогах.
Также неплохо присоединиться к серверам Discord некоторых проектов NFT и посмотреть, как они сделаны
Примечание. Сначала создайте тестовую учетную запись и тестовый сервер, чтобы убедиться, что ваши боты и разрешения работают правильно. Перед настройкой рабочего сервера лучше проверить поведение на тестовом сервере.
Настройка вашей коллекции OpenSea
Прежде чем вы начнете продавать свои NFT, вам нужно зарезервировать часть для аирдропов, бесплатных раздач, персонала и многого другого. Вам решать, будет ли это 100, 500 или сколько.
После создания некоторых ваших NFT ваша учетная запись и коллекция должны были быть созданы в OpenSea. Перейдите в OpenSea , подключитесь к своему кошельку и настройте свою коллекцию. Просто установите свой логотип, изображение баннера, описание, ссылки, роялти и многое другое. Это не так сложно.
О промоутерах
Никогда не отправляйте деньги мошенникам!
О подарках
Если вы хотите увеличить количество подписчиков в Твиттере и участников Discord, вы можете привлечь много людей, проводя такие мероприятия, как розыгрыши призов и конкурсы. Однако распространять сразу много бесплатных NFT может быть опасно. Некоторые люди, которым нужны бесплатные NFT, как только получают бесплатную, продают ее по очень низкой цене на таких торговых площадках, как OpenSea. Им наплевать на ваш проект и они думают только о замене своих «бесплатных» NFT на Ethereum. Чем ниже минимальная цена ваших NFT, тем ниже стоимость ваших NFT (проекта). Постарайтесь придумать, как заставить людей как можно больше «покупать» ваши NFT.
Эфириум против Полигона
Несмотря на то, что Ethereum имеет высокую комиссию за газ, проекты NFT в сети Ethereum по-прежнему популярны и популярны. С другой стороны, у Polygon очень низкие комиссии за газ и быстрая обработка транзакций, но проекты NFT в сети Polygon не очень популярны.
Почему? Есть несколько причин, но самая большая из них заключается в том, что требуется много работы, чтобы подготовить MATIC (в блокчейне Polygon используйте MATIC вместо ETH ). Проще говоря, вам нужно подключить свои токены к цепочке Polygon. Таким образом, люди должны сделать это в первую очередь, прежде чем размещать ваши NFT на вашем веб-сайте. Это может не иметь большого значения для тех, кто знаком с криптографией и блокчейном, но может быть сложным для тех, кто не знаком. Я надеюсь, что утомительная работа будет упрощена в ближайшем будущем.
Если вы уверены, что ваши NFT будут куплены, даже если они дорогие, или если общее предложение ваших NFT невелико, вы можете выбрать Ethereum. Если вы просто хотите сэкономить деньги, вам следует выбрать Polygon. Имейте в виду, что плата за газ взимается не только при майнинге, но и при выполнении некоторых функций вашего смарт-контракта и при передаче ваших NFT.
How NFT Minting Works

To understand why we’re doing what we’re doing, we need to understand how NFT minting works. If you know this already, feel free to skip this section.
Let’s say you want to mint a collection of 10,000 NFTs. What does that really mean?
- The Token Identifier (or ID)
- The Owner of the Token
- The Metadata associated with the token
Here is an example table:

You can see here that the ID is nothing but a unique positive integer that identifies a particular NFT. The Owner column stores the addresses associated with each NFT’s holder. Finally, the Metadata is a column that may contain data of the NFT or about the NFT.
This JSON file needs to have information about the NFT such as its name, description, image URL, attributes, etc. In order to make sure that everyone in the ecosystem (including NFT marketplaces like OpenSea) understands what’s in our JSON files, we need to format them in a way that is compliant with the standards. In our case, we will use the standards recommended by OpenSea.
Here is a JSON metadata file for a sample NFT.
Enter fullscreen mode
Exit fullscreen mode
To summarize, here is what we need to do:
- Upload all our images online and get a URL associated with each image. (This URL will go into our metadata).
- Generate a separate JSON file for each image containing metadata in the standard shown above (Image URL, attributes/traits, name, etc.)
- Upload all the JSON files to the cloud and get a URL associated with each JSON file.
Uploading Images to IPFS

Uploading images to the internet is pretty simple. We’re sure you must have used a service like Google Drive, GitHub, or AWS to upload folders to the cloud.
While uploading images to such centralized services (AWS, Google Drive, your own server, etc. ) would work, it would not be a very good idea.
Why not? For two reasons, mainly.
Centralized Storage tends to be location based
However, it is very easy to swap this image for another. I could upload another image with the same name (dog. jpeg) that replaces the original image.
Centralized Storage can be taken down
Let’s say you upload an image to a Google Drive or AWS. If you removed the image from these services or the services themselves shut down, the URL pointing to the image would break. Therefore, it is very easy to pull the rug if your images and data exist on a centralized storage service.
For these reasons, almost every serious NFT project uses a service called IPFS (or Interplanetary File System).
IPFS is a peer-to-peer filesharing system that is decentralized, uses content-based addressing, and is secure.
If none of the words above make sense, don’t worry. All you need to know is this:
IPFS used content-based addressing
On the IPFS network, the address (URL) of a file will be dependent on the content of the file. If you change the contents of a file, then the address of the file on the IPFS will also change.
Therefore, on the IPFS network, it is impossible to make one URL point to two different images.
IPFS never goes down
Uploading to IPFS is as easy as uploading to Google Drive, thanks to a service called Pinata.
Go to the Pinata website and create an account. It’s free if you’re uploading up to 1 GB of data.
Once you have signed up, you will be taken to the Pin Manager window. Upload your folder using the interface. Once you’ve uploaded your folder, you will get a CID associated with it. It should look something like this.

This CID was generated based on the contents of the folder. If the contents of the folder change (an image removed, an image swapped with another of the same name, etc. ), the CID will also change.
For my folder, the CID is QmRvSoppQ5MKfsT4p5Snheae1DG3Af2NhYXWpKNZBvz2Eo.
Therefore, the IPFS URL for this folder is ipfs://QmRvSoppQ5MKfsT4p5Snheae1DG3Af2NhYXWpKNZBvz2Eo.
This will display an image that I named 00001. png and uploaded to my folder.
Congratulations! That is all there is to uploading images on IPFS using Pinata. For the next step, you will need the CID. Keep that handy.
Generate compliant NFT JSON metadata

Since we uploaded our images to IPFS, we now have IPFS URLs for each and every image.
Our next task is to create a JSON file for each image and populate it with data (including the image URL) in a format that is compliant and understandable by platforms like NFT marketplaces.
Fortunately, the generative-art-nft library does all the heavy lifting for you.
Check that the metadata. py file exists in the repository. If not, clone the latest version of the repository and transfer the assets and output folders into the new repo.
Open the metadata. py file in a text editor. Don’t worry if you don’t understand the code here. The only things you need to fill are BASE_NAME, BASE_URL, and BASE_JSON.
In line 18, add a base name for your NFTs. This is strictly optional. If you do not add a base name, your NFTs will be named 0, 1, 2, and so on. If you put a base name like “Scrappy Squirrel #”, your NFTs will be named Scrappy Squirrel #0, Scrappy Squirrel #1, etc.
Finally, in line 22, add a description for your collection. Like the base name, this is optional.

The program will ask you the edition to generate metadata for. In our case, it was v2, so that’s what we enter.
It should take less than 15 seconds to generate 10,000+ JSON files. All these files will be conveniently available in a json folder within your edition folder.
What are IPFS Gateways?
The answer is gateways.
Notice that I said «public» gateway. Public gateways are convenient since they are available to everyone, and even built into Pinata’s file manager so you can see your content without an IPFS node. However, it’s important to note that IPFS is a public network, which means that it can be viewed or used by anyone. This can become a problem because gateways are still managed on traditional servers. Too much traffic without the right infrastructure could cause a failure, so most public gateways will not serve too much content at once by utilizing rate limits. Public gateways are also not very fast and can take a while to load content. These public gateways can be a good service for testing IPFS content, but not ideal for serving large amounts of data.
This is where Dedicated Gateways step in! At Pinata, we want to provide blazing fast delivery of your content, and so our engineering team has developed an infrastructure which allows us to do exactly that.
Dedicated Gateways
At Pinata we can envision a world beyond these metaverses. We would love to see IPFS and Dedicated Gateways as a way for any type of creator to make a valuable experience. Lots of older social media platforms are still valid as a way to be discovered, but the newer web3 technologies will help creators take their content from being discovered to being truly valued. With a Dedicated Gateway, they can control their own content and display it on their own platforms. Just think about most streaming platforms and how much money they give to creators; it’s little to nothing. However, with the exposure from those platforms, a creator can build a fan base. Then with Pinata, creators can build the platform where their content is viewed by their fans and directly paid for there. Now that’s true value and creative control.
The world of crypto, NFTs, and IPFS is still developing at a rapid rate. It’s exciting to see how we are just scratching at the surface of what web3 will bring us, and it’s important to visualize what this will look like for everyday people.
Dedicated gateways are exclusively available on Pinata for Picnic plans and up. Get your own dedicated gateway set up today! Get started now.
Блокчейн
Блокчейн — распределенный (децентрализованный) реестр. Или распределенная база данных. То есть данные, записанные в блокчейн, хранятся на множестве компьютеров одновременно, и поэтому не подчиняются никакому регулирующему органу. Данные хранятся в блоках. Данные новых блоков не должны противоречить данным предыдущих, иначе они не будут внесены в цепочку.
Блокчейны устойчивы к взломам, попыткам манипуляций и обеспечивают надежное хранение данных за счет распределенности.
В блокчейне можно хранить разные данные.
Самый популярный блокчейн — блокчейн Bitcoin. В нем хранятся только данные об операциях с этой криптовалютой.
Ethereum и смарт-контракты
Но что если компьютеры, обслуживающие блокчейн (ноды) будут не только хранить данные, но и исполнять код?
Наверное, какой-то такой вопрос задавал себе Виталик Бутерин перед тем, как придумать Ethereum — второй по популярности блокчейн в мире.
В Ethereum вы можете загрузить в блокчейн свою программу и она будет исполняться на нодах сети. Эта программа и называется смарт-контракт.
Возможность исполнять смарт-контракты — главная особенность Ethereum. А одноименная криптовалюта — это не ценность сама по себе, она нужна для того, чтобы обеспечивать расчеты внутри системы. Самый кайф в том, что раз валюта у нас тоже на блокчейне, то смарт-контракты могут сами отслеживать переводы и производить эти переводы.
Токены
Смарт-контракт может обслуживать любую задачу.
Одной из самых распространенных задач оказалось обслуживание операций с некоторыми условными единицами ценности — токенами.
Токен появляется в тот момент, когда появляется смарт-контракт, его обслуживающий.
То есть обеспечивающий учет владения токенами, передачу и обмен токенов, использование токенов для выполнения каких-либо задач.
Токен, по меньшей мере, токен на эфире — в этом смысле отличается от физической монеты или жетона, которые есть у вас несмотря ни на что.
Ваш токен — это просто запись в таблице смарт-контракта.
В этой таблице записано — сколько токенов принадлежит какому ETH кошельку.
Передача токенов — это просто исполнение функции в смарт-контракте, которая переписывает данные в таблице владения.
Создание токена — добавление новой записи в эту таблицу.
Токен неотделим от смарт-контракта. Это не какая-то единица, существующая сама по себе, она существует только внутри системы, его обслуживающей.
Вы наверняка уже встречались с этими обозначениями: токен стандарта ERC-721, стандарта ERC-1155, стандарта ERC-998.
Что это за стандарты?
Они хоть и называются стандартами на токены, на самом деле являются стандартами на смарт-контракты. Они задают требования к смарт-контрактам, обслуживающим невзаимозаменяемые токены. Эти требования описывают, какие функции должны быть в смарт-контракте, чтобы сторонние приложение — например, биржи, такие как OpenSea, могли работать со всеми токенами одинаково.
А кроме этого, они как раз обеспечивают хранение информации о том, какие именно токены кому принадлежат.
То есть и ваш NFT — это тоже только запись в таблице смарт-контракта.
А где тогда картинка?
Вот мы и подобрались к самому интересному.
NFT = запись в блокчейне + метаданные + медиа
Про запись в блокчейне разобрались, а где все остальное?
Медиа и данные об этих медиа в большинстве существующих сейчас токенов не хранятся в блокчейне.
Хранить большие объемы данных в блокчейне Ehereum очень дорого. Даже если вы просто захотите хранить название и, к примеру, вектор характеристик вашего NFT меча в блокчейне, это будет вам стоить дополнительных 20-30 долларов в момент выпуска этого меча. И каждое изменение в его характеристиках (если вы будете его улучшать, например), тоже нужно будет вносить в блокчейн, а, значит, платить за газ.
А большие медиа хранить не просто дорого, но еще и неудобно.
Поэтому в блокчейне обычно хранится только адрес (URI), по которому можно найти информацию о токене (metadata) и медиа.
Token + media = cryptoart JUSTIN CONE
On-chain
Самый надежный способ — все-таки попытаться хранить медиа на блокчейне, то есть не отделять медиа от токена.
Это, естественно, накладывает ограничения на свободу творчества. В блокчейне много не сохранишь. Так или иначе, это будут символы, из этих символов и нужно составить изображение.
Проекты, которые хранят медиа полностью на блокчейне:
- Autoglyphs от легендарных Larva Labs. Первый проект с генеративными изображениями, да еще и хранящимися в блокчейне. Цены на автоглифы вполне соответствуют их статусу.
- Совсем свежий проект — ASCII Punks. 2048 панков, составленных из ASCII символов, которые прекрасно хранятся в блокчейне. На мой взгляд — лучший трибьют криптопанкам ever. На момент написания статьи, еще даже доступны к покупке на первичном рынке.
On-chain*
Условное хранение на блокчейне. Тоже очень надежный, но все-таки накладывающий некоторые ограничения на характер произведения, способ.
На блокчейне хранится ключевая информация арта, по которой легко воссоздается оригинальное медиа. Можно назвать такую информацию — ДНК токена.
Добавляем здесь «условно», потому что для того, чтобы восстановить исходный токен все-таки понадобится дополнительное ПО, генератор, который восстановит токен по ДНК. Но если у вас этот генератор есть (или он хранится в надежном распределенном же хранилище, вроде IPFS), то вы от создателей токена перестаете зависеть. ДНК — навсегда в блокчейне, генератор у вас. То есть у вас есть полный контроль и над токеном и над медиа этого токена.
Примеры проектов.
- CryptoKitties — в представлении не нуждаются
- Avastars от известной в NFT тусовке команды NFT42, которая работал с Pranksy над NFTBoxes, к примеру
- DeekHash — хулиганский перспективный проект, где можно из любой строки угодно сделать Deek. Строка с помощью хэш-функции превращается в ДНК, а днк и определяет внешний вид персонажа. ДНК хранится в блокчейне, обеспечивая тем самым интероперабельность и сохранность персонажа. На момент написания статьи, доступны к покупке на первичном рынке, то есть на сайте проекта.
- Pixelchain Art — очень крутой проект, пиксельная графика, которая целиком хранится на блокчейне. Цвет каждого пикселя обозначается символом, и получившаяся строка записывается в блокчейн. Чтобы восстановить картинку, достаточно просто прочитать строку и сформировать изображение из пикселей закодированного цвета.
IPFS Pinata
Очень многие NFT проекты сейчас используют IPFS для хранения метаданных и медиа для своих токенов.
IPFS расшифровывается как InterPlanetary File System. Если говорить очень упрощенно, то это файловая система, распределенная по множеству компьютеров.
В целом, это неплохое решение.
Когда вы загружаете файл или картинку в IPFS, вы получаете хэш этого объекта.
Этот хеш и будет определять адрес, по которому можно получить доступ к объекту в IPFS.
Как видно по его виду, этот хеш можно удобно хранить в контракте.
Но IPFS не идеален, так как его архитектура никак не поощряет ноды за хранение файлов. Поэтому формально сохранность и вечная доступность вашего объекта в IPFS не гарантирована.
Единственный способ гарантировать сохранность — закрепить (pin) этот объект, подняв собственный IPFS узел, или заплатить тем, кто сделает это за вас.
Примером такого сервиса является Pinata.
Но в таком случае, действительно стопроцентная сохранность объекта опять же будет зависеть от того, как долго вы поддерживаете ноду или платите Pinata. То есть концепция децентрализации нарушается.
Единственным плюсом IPFS в этой ситуации остается то, что для адресации используется хэш. Если этот хэш файла с метаданными или с медиа хранится в блокчейне, то он будет доступен всегда. Значит, можно будет забэкапить метаданные и медиа вашего NFT где-то на персональном, к примеру, хранилище, и в случае отказа IPFS, воспользоваться бэкапом, подтвердив оригинальность файлов с помощью хэша.
Это хорошее решение для многих ситуаций, но все-таки хранить криптопанка стоимостью миллион долларов я бы предпочел более надежным способом. И, кажется, такой способ есть.
Arweave
Arweave — это платформа для децентрализованного хранения (на самом деле, не только)
Для подтверждения транзакций используется механизм Proof of Access. Для того, чтобы подтвердить новую транзакцию (запись информации), узел должен подтвердить быстрый доступ к уже хранящейся.
Таким образом, в сети Arweave узлы финансово мотивированы обеспечивать быстрый и бесперебойный доступ к хранящимся объектам.
И, главное, что платить за хранение данных в Arweave нужно только один раз — в момент загрузки.
Ложка дегтя в этой бочке меда вечного и доступного хранения — потенциальная модерируемость и цензурируемость контента. Но по меньшей мере, в данном случае модерация осуществляется теми, кто содержит ноды. То есть, более или менее демократическим образом.
Пока очень малое количество проектов используют Arweave, в основном все пользуются IPFS.
Как определить надежность вашего NFT?
Но я его испытал, и на момент написания статьи он работает коряво.
Например, для многих нормально реализованных по 721му стандарту токенов он вообще не может определить URI метаданных, хотя функция tokenURI() в контракте этих токенов работает исправно.
Ниже — небольшой обзор способов хранения метаданных и медиа для самых популярных NFT-площадок.
Future work
Тема NFT огромная и вопросов в ней пока больше, чем ответов. Эта статья — часть моего гайда по NFT.
Я открыт к замечаниям и предложениям — как по этой статье, так и в целом по гайду. Пишите, какие моменты относительно NFT осветить подробнее. Это мне очень поможет писать о том, что действительно важно и интересно.
Pinata’s presentation
Thanks to quality hosting and an excellent after-sales service, Pinata was able to collect the different information and needs of its customers, with one of the latest needs being image protection. To answer this, Pinata has developed a turnkey solution: Submarining.
What is IPFS ?
https://youtube.com/watch?v=6b8OANmw2kM%3Ffeature%3Doembed
Before explaining what Submarining is and why this solution is important, we must first understand how IPFS works.
Very simply put, to access a file online centrally, Pinata will call a URL. To take the example of CryptoKitties, the image is hosted on a server that belongs to Dapper Labs. If tomorrow the company closes down, the NFTs will no longer display any image even if the token itself still exists.
On the contrary, an NFT created on SuperRare has its image held in IPFS and so the image is dispersed across several computers. If tomorrow the company closes, the art work will still be accessible thanks to the decentralization of its data across these multiple computers. Instead of having a URL, it will rather give rise to a very long hash (like for example the one that hosts the Bitcoin Whitepaper).
Pinata offers an IPFS hosting service to ensure a better durability of the image and prevent it from disappearing from the internet in case of glitches.
