По мере того как экосистема блокчейна продолжает процветать, невзаимозаменяемые токены (NFT ) и цифровые коллекционные предметы набирают значительную популярность. Огромная популярность цифровых активов, совместимых с ERC721, таких как Криптокотики и Bored APE, привлекла значительный интерес со стороны инвесторов. С растущей значимостью этих цифровых коллекционных предметов, это лишь вопрос времени, прежде чем они революционизируют традиционные формы искусства.
Чтобы воспользоваться феноменом NFT, крайне важно углубиться в эту технологию. От опытных инвесторов, таких как Гэри Вайнерчук, до известных художников, таких как Снуп Догг, вагон NFT привлекает разнообразных участников.
Если вы чувствуете себя подавленным изобилием информации, доступной онлайн о создании контрактов NFT, не беспокойтесь. Этот комплексный гид проведет вас через процесс генерации вашего первого контракта ERC-721 (NFT) с использованием Solidity и Open Zeppelin. Прежде чем углубиться в технические аспекты, давайте вспомним некоторые основные концепции о NFT и стандарте ERC-721.
Разгадывая NFT
Прежде чем мы приступим к нашему путешествию по написанию контрактов с Open Zeppelin, важно понять основы NFT и их операционные механизмы. По сути, NFT — это уникальные, невзаимозаменяемые токены, которые представляют собой отдельные цифровые или физические активы.
Эти токены могут быть связаны с широким спектром предметов, включая цифровое искусство, видео или даже недвижимость. Используя технологию блокчейн для подтверждения права собственности, NFT служат надежным средством против мошеннических действий и плагиата.
Подобно криптовалютам, NFT обычно торгуются онлайн, сохраняя свою уникальность благодаря цифровой дефицитности. Ограниченное предложение конкретного актива часто приводит к росту спроса и, следовательно, его стоимости.
Хотя NFT имеют технологические сходства с криптовалютами, их нефункциональная природа отличает их. Каждый NFT обладает уникальной цифровой подписью, что отличает его от других токенов на рынке.
Эта технология позволяет людям монетизировать практически любой цифровой или физический актив, который можно продать онлайн. Токенизируя уникальные предметы или цифровые произведения искусства, NFT предоставляют новый способ для создателей контента и цифровых художников зарабатывать доход.
Встречая децентрализованное будущее
Потенциал невзаимозаменяемых токенов выходит далеко за рамки одного случая использования. Устраняя посредников и увеличивая роялти через вторичные продажи, NFT позволяют художникам более эффективно коммерциализировать и реализовывать цифровые коллекции. Тем не менее, их применение в децентрализованной сфере гораздо шире.
NFT становятся основополагающей технологией, поддерживающей активы в метавселенной, служа адресами кошельков и именами пользователей. Ярким примером является The Sandbox, амбициозный проект метавселенной, который использует NFT для представления виртуальной недвижимости, мебели и многого другого. Игроки могут владеть виртуальными земельными участками в виде NFT, использовать их для создания пользовательских локаций и игр, а также монетизировать свои творения.
Недавнее влияние NFT на владение и обмен цифровыми активами закладывает основу для онлайн-сообществ, торгуемых внутриигровых предметов и экономики метавселенной. Поскольку эта технология продолжает развиваться, она, безусловно, проложит путь к более децентрализованному будущему.
Привлекательность ERC-721
ERC, что означает Ethereum Request for Comment, является набором стандартов в экосистеме Ethereum. Стандарт ERC-721, идентифицируемый номером 721, позволяет смарт-контрактам отслеживать и передавать невзаимозаменяемые токены (NFTs).
Хотя ERC-721 обычно используется для NFT, важно отметить, что это не единственный стандарт, доступный для использования. Этот конкретный ERC является просто набором рекомендаций для работы с невзаимозаменяемыми токенами.
В отличие от ERC-20, ERC-721 требует, чтобы контракты включали основную информацию, такую как имя, символ, уникальный идентификатор и, как правило, URI (Унифицированный идентификатор ресурса). То, что отличает ERC-721, - это его уникальный идентификатор, который делает каждую токен невозможно воспроизвести. Следовательно, токены из одного и того же контракта могут иметь разные значения в зависимости от таких факторов, как дефицит или возраст.
Введение стандарта ERC-721 значительно упростило процесс владения и обмена невзаимозаменяемыми токенами в рамках смарт-контрактов.
Теперь, когда мы рассмотрели основы NFT и стандарт ERC-721, давайте изучим роль Open Zeppelin в разработке смарт-контрактов.
Open Zeppelin: Лидер инноваций в блокчейне
Open Zeppelin — это мощный инструмент, который оказывается незаменимым в разработке децентрализованных приложений. Хотя эти приложения по своей природе надежны, они не лишены уязвимостей. Open Zeppelin устраняет эти потенциальные проблемы безопасности, что делает его важной основой в области блокчейна.
Как открытая платформа для создания безопасных, децентрализованных приложений, Open Zeppelin предоставляет необходимые инструменты для разработки и автоматизации Web3 приложений. Оценивается, что примерно 30% доли рынка технологий блокчейн в финансовом секторе использует услуги Open Zeppelin.
Организации всех размеров могут использовать услуги аудита Open Zeppelin для соответствия отраслевым стандартам операционных процедур. Среди заметных клиентов – Ethereum Foundation и крупные крипто-биржи. Платформа стремится "защитить открытую экономику", предлагая решения по безопасности, надежности и управлению рисками для приложений на Ethereum.
Путем внедрения мер безопасности и проведения тщательных оценок Open Zeppelin обеспечивает безопасность ваших децентрализованных приложений. После выявления потенциальных уязвимостей в коде они предоставляют всесторонний отчет с лучшими практиками и рекомендациями по устранению любых слабых мест в системе.
Инициация вашего контракта ERC-721
Создание смарт-контракта на Open Zeppelin - это относительно простой процесс. Давайте проведем вас через шаги. Для тех, кто предпочитает пропустить учебник и получить доступ к полному проекту, вы можете найти его в нашем репозитории GitHub.
Хотя существует множество интегрированных сред разработки (IDE), мы будем использовать Remix для этого учебника. Эта среда разработки будет использована для проектирования, сборки и развертывания смарт-контракта. Теперь давайте начнем процесс создания нашего смарт-контракта.
Начните с создания нового файла под названием "customNft.sol". Этот файл будет содержать наш контракт NFT.
Определите версию компилятора Solidity для нашего контракта, используя инструкцию pragma:
солидность
твердость прагмы ^0.8.0;
Импортируйте необходимые библиотеки Open Zeppelin из их официального источника. Мы будем использовать библиотеки Ownable и ERC721:
солидность
импорт "";
импорт "";
Назовите свой смарт-контракт и включите импортированные библиотеки Open Zeppelin:
солидность
контракт CustomNft is Ownable, ERC721("CustomNft", "CNFT") {}
Инициализируйте tokenId равным 0:
солидность
uint tokenId;
Создайте отображение, используя адрес в качестве ключа, а tokenMetaData в качестве значения:
Реализуйте функцию mintToken с следующими ограничениями:
Только владелец контракта может вызвать эту функцию
Владелец не может чеканить токены для себя
солидность
функция mintToken(адрес получатель) публичный толькоВладелец {
require(owner() != recipient, "Получатель не может быть владельцем контракта");
_safeMint(получатель, tokenId);
ownershipRecord[recipient].push(tokenMetaData(tokenId, block.timestamp, ""));
tokenId = tokenId + 1;
}
Ваш полный контракт теперь должен выглядеть следующим образом:
солидность
SPDX-License-Identifier: НЕ ЛИЦЕНЗИРУЕТСЯ
твердость прагмы ^0.8.0;
импорт "";
импорт "";
контракт CustomNft is Ownable, ERC721("CustomNft", "CNFT") {
uint tokenId;
mapping(address => tokenMetaData[]) публичный ownershipRecord;
структура tokenMetaData {
uint tokenId;
uint timeStamp;
строка tokenURI;
}
функция mintToken(адрес получателя) публичный толькоВладелец {
require(owner() != recipient, "Получатель не может быть владельцем контракта");
_safeMint(получатель, tokenId);
ownershipRecord[recipient].push(tokenMetaData(tokenId, block.timestamp, ""));
tokenId = tokenId + 1;
}
}
Поздравляем! Вы теперь создали свой первый контракт NFT. После развертывания этого контракта и выполнения функции mintToken, вы успешно токенизировали свой первый NFT.
Заключительные мысли
Эта статья предоставила обзор NFT, их растущей популярности и процесса создания базового смарт-контракта ERC-721 с использованием Open Zeppelin. Мы надеемся, что этот гид был полезен для вас в разработке вашего начального смарт-контракта.
Завершив этот учебник, вы сделали первый шаг в мир разработки NFT-контрактов. Продолжая исследовать и расширять свои знания в этой области, помните, что практика и постоянное обучение являются ключевыми для того, чтобы стать квалифицированным разработчиком смарт-контрактов.
Мы надеемся, что этот гид станет ценным ресурсом на вашем пути к освоению разработки блокчейна. Как всегда, счастливо кодить!
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Создание вашего первого NFT контракта с Open Zeppelin: Полное руководство
По мере того как экосистема блокчейна продолжает процветать, невзаимозаменяемые токены (NFT ) и цифровые коллекционные предметы набирают значительную популярность. Огромная популярность цифровых активов, совместимых с ERC721, таких как Криптокотики и Bored APE, привлекла значительный интерес со стороны инвесторов. С растущей значимостью этих цифровых коллекционных предметов, это лишь вопрос времени, прежде чем они революционизируют традиционные формы искусства.
Чтобы воспользоваться феноменом NFT, крайне важно углубиться в эту технологию. От опытных инвесторов, таких как Гэри Вайнерчук, до известных художников, таких как Снуп Догг, вагон NFT привлекает разнообразных участников.
Если вы чувствуете себя подавленным изобилием информации, доступной онлайн о создании контрактов NFT, не беспокойтесь. Этот комплексный гид проведет вас через процесс генерации вашего первого контракта ERC-721 (NFT) с использованием Solidity и Open Zeppelin. Прежде чем углубиться в технические аспекты, давайте вспомним некоторые основные концепции о NFT и стандарте ERC-721.
Разгадывая NFT
Прежде чем мы приступим к нашему путешествию по написанию контрактов с Open Zeppelin, важно понять основы NFT и их операционные механизмы. По сути, NFT — это уникальные, невзаимозаменяемые токены, которые представляют собой отдельные цифровые или физические активы.
Эти токены могут быть связаны с широким спектром предметов, включая цифровое искусство, видео или даже недвижимость. Используя технологию блокчейн для подтверждения права собственности, NFT служат надежным средством против мошеннических действий и плагиата.
Подобно криптовалютам, NFT обычно торгуются онлайн, сохраняя свою уникальность благодаря цифровой дефицитности. Ограниченное предложение конкретного актива часто приводит к росту спроса и, следовательно, его стоимости.
Хотя NFT имеют технологические сходства с криптовалютами, их нефункциональная природа отличает их. Каждый NFT обладает уникальной цифровой подписью, что отличает его от других токенов на рынке.
Эта технология позволяет людям монетизировать практически любой цифровой или физический актив, который можно продать онлайн. Токенизируя уникальные предметы или цифровые произведения искусства, NFT предоставляют новый способ для создателей контента и цифровых художников зарабатывать доход.
Встречая децентрализованное будущее
Потенциал невзаимозаменяемых токенов выходит далеко за рамки одного случая использования. Устраняя посредников и увеличивая роялти через вторичные продажи, NFT позволяют художникам более эффективно коммерциализировать и реализовывать цифровые коллекции. Тем не менее, их применение в децентрализованной сфере гораздо шире.
NFT становятся основополагающей технологией, поддерживающей активы в метавселенной, служа адресами кошельков и именами пользователей. Ярким примером является The Sandbox, амбициозный проект метавселенной, который использует NFT для представления виртуальной недвижимости, мебели и многого другого. Игроки могут владеть виртуальными земельными участками в виде NFT, использовать их для создания пользовательских локаций и игр, а также монетизировать свои творения.
Недавнее влияние NFT на владение и обмен цифровыми активами закладывает основу для онлайн-сообществ, торгуемых внутриигровых предметов и экономики метавселенной. Поскольку эта технология продолжает развиваться, она, безусловно, проложит путь к более децентрализованному будущему.
Привлекательность ERC-721
ERC, что означает Ethereum Request for Comment, является набором стандартов в экосистеме Ethereum. Стандарт ERC-721, идентифицируемый номером 721, позволяет смарт-контрактам отслеживать и передавать невзаимозаменяемые токены (NFTs).
Хотя ERC-721 обычно используется для NFT, важно отметить, что это не единственный стандарт, доступный для использования. Этот конкретный ERC является просто набором рекомендаций для работы с невзаимозаменяемыми токенами.
В отличие от ERC-20, ERC-721 требует, чтобы контракты включали основную информацию, такую как имя, символ, уникальный идентификатор и, как правило, URI (Унифицированный идентификатор ресурса). То, что отличает ERC-721, - это его уникальный идентификатор, который делает каждую токен невозможно воспроизвести. Следовательно, токены из одного и того же контракта могут иметь разные значения в зависимости от таких факторов, как дефицит или возраст.
Введение стандарта ERC-721 значительно упростило процесс владения и обмена невзаимозаменяемыми токенами в рамках смарт-контрактов.
Теперь, когда мы рассмотрели основы NFT и стандарт ERC-721, давайте изучим роль Open Zeppelin в разработке смарт-контрактов.
Open Zeppelin: Лидер инноваций в блокчейне
Open Zeppelin — это мощный инструмент, который оказывается незаменимым в разработке децентрализованных приложений. Хотя эти приложения по своей природе надежны, они не лишены уязвимостей. Open Zeppelin устраняет эти потенциальные проблемы безопасности, что делает его важной основой в области блокчейна.
Как открытая платформа для создания безопасных, децентрализованных приложений, Open Zeppelin предоставляет необходимые инструменты для разработки и автоматизации Web3 приложений. Оценивается, что примерно 30% доли рынка технологий блокчейн в финансовом секторе использует услуги Open Zeppelin.
Организации всех размеров могут использовать услуги аудита Open Zeppelin для соответствия отраслевым стандартам операционных процедур. Среди заметных клиентов – Ethereum Foundation и крупные крипто-биржи. Платформа стремится "защитить открытую экономику", предлагая решения по безопасности, надежности и управлению рисками для приложений на Ethereum.
Путем внедрения мер безопасности и проведения тщательных оценок Open Zeppelin обеспечивает безопасность ваших децентрализованных приложений. После выявления потенциальных уязвимостей в коде они предоставляют всесторонний отчет с лучшими практиками и рекомендациями по устранению любых слабых мест в системе.
Инициация вашего контракта ERC-721
Создание смарт-контракта на Open Zeppelin - это относительно простой процесс. Давайте проведем вас через шаги. Для тех, кто предпочитает пропустить учебник и получить доступ к полному проекту, вы можете найти его в нашем репозитории GitHub.
Хотя существует множество интегрированных сред разработки (IDE), мы будем использовать Remix для этого учебника. Эта среда разработки будет использована для проектирования, сборки и развертывания смарт-контракта. Теперь давайте начнем процесс создания нашего смарт-контракта.
Начните с создания нового файла под названием "customNft.sol". Этот файл будет содержать наш контракт NFT.
Определите версию компилятора Solidity для нашего контракта, используя инструкцию pragma:
солидность твердость прагмы ^0.8.0;
Импортируйте необходимые библиотеки Open Zeppelin из их официального источника. Мы будем использовать библиотеки Ownable и ERC721:
солидность импорт ""; импорт "";
Назовите свой смарт-контракт и включите импортированные библиотеки Open Zeppelin:
солидность контракт CustomNft is Ownable, ERC721("CustomNft", "CNFT") {}
Инициализируйте tokenId равным 0:
солидность uint tokenId;
Создайте отображение, используя адрес в качестве ключа, а tokenMetaData в качестве значения:
солидность mapping(address => tokenMetaData[]) публичный ownershipRecord;
Определите структуру tokenMetaData для хранения ID каждого токена, временной метки и URI:
солидность структура tokenMetaData { uint tokenId; uint timeStamp; строка tokenURI; }
Реализуйте функцию mintToken с следующими ограничениями:
солидность функция mintToken(адрес получатель) публичный толькоВладелец { require(owner() != recipient, "Получатель не может быть владельцем контракта"); _safeMint(получатель, tokenId); ownershipRecord[recipient].push(tokenMetaData(tokenId, block.timestamp, "")); tokenId = tokenId + 1; }
Ваш полный контракт теперь должен выглядеть следующим образом:
солидность SPDX-License-Identifier: НЕ ЛИЦЕНЗИРУЕТСЯ твердость прагмы ^0.8.0;
импорт ""; импорт "";
контракт CustomNft is Ownable, ERC721("CustomNft", "CNFT") { uint tokenId;
}
Поздравляем! Вы теперь создали свой первый контракт NFT. После развертывания этого контракта и выполнения функции mintToken, вы успешно токенизировали свой первый NFT.
Заключительные мысли
Эта статья предоставила обзор NFT, их растущей популярности и процесса создания базового смарт-контракта ERC-721 с использованием Open Zeppelin. Мы надеемся, что этот гид был полезен для вас в разработке вашего начального смарт-контракта.
Завершив этот учебник, вы сделали первый шаг в мир разработки NFT-контрактов. Продолжая исследовать и расширять свои знания в этой области, помните, что практика и постоянное обучение являются ключевыми для того, чтобы стать квалифицированным разработчиком смарт-контрактов.
Мы надеемся, что этот гид станет ценным ресурсом на вашем пути к освоению разработки блокчейна. Как всегда, счастливо кодить!