Процесс разработки NFT проектов на блокчейне TON: инструкция для начинающих

Криптовалюта

Как создаются NFT проекты на блокчейне TON

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

Примеры NFT проектов уже множество. Однако, MintyTON предлагает уникальные возможности. Одной из них является возможность создания NFT с открытым кодом (NFTUpgradable). Такие NFT можно использовать как шаблоны и модифицировать их с помощью специальных функций.

Чтобы создать NFT на блокчейне TON с помощью MintyTON, необходимо установить соответствующие файлы и подключиться к основной сети (Mainnet). После этого, вам потребуется название для вашего проекта, которое будет отображаться на маркетплейсе.

После успешной установки и настройки, вы сможете перейти к созданию самого NFT. Для этого необходимы данные о метаданных (Metadata), изображении (MetadataImage) и других параметрах вашего NFT. Они заполняются в окне при создании NFT.

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

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

Таким образом, процесс создания NFT проекта на блокчейне TON с использованием MintyTON вполне прост и понятен даже для новичка. С помощью данной платформы вы сможете создать свой собственный NFT, установить его уникальные параметры и даже изменять его в дальнейшем при необходимости. Сделайте первый шаг к своему NFT проекту уже сегодня!

Содержание
  1. Как создаются NFT проекты на блокчейне TON
  2. NFT сегодня
  3. Блокчейн TON
  4. NFT на TON
  5. Что будет дальше
  6. Как создать NFT на TON
  7. Материалы
  8. Смарт-контракты
  9. Изображения
  10. Описания
  11. Роялти и права собственности
  12. Примеры кода
  13. Коллекция
  14. Профиль
  15. Чеклист
  16. Подготовка кошелька
  17. Безопасность при использовании кошелька
  18. Авторизация на Getgems
  19. Создание коллекции
  20. Создание токенов
  21. Шаг за шагом создание коллекции NFT
  22. 🦄 What you will learn
  23. 💡 Prerequisites
  24. 💎 Что такое NFT на блокчейне TON
  25. NFT реализация на Ethereum
  26. Проблемы, которые могут возникнуть при такой реализации в блокчейне TON
  27. 1. Спецификация и проработка
  28. 2. Отправка и получение сообщений в формате JSON
  29. 3. Безопасность ключей
  30. 4. Низкая пропускная способность смарт-контрактов
  31. 5. Бюджет и комиссии
  32. 6. Необходимость развертывания отдельного маркетплейса
  33. 7. Открытый и прозрачный доступ к данным
  34. 8. Ограниченные возможности маркетплейса
  35. TON NFT implementation
  36. ⚙ Настройка среды разработки
  37. Write helper functions
  38. 🖼 Подготовка метаданных
  39. NFT спецификации
  40. 1. Minting
  41. 2. Type
  42. 3. Metadata
  43. 4. Royalty
  44. 5. Consumption
  45. 6. Marketplace Fee
  46. 7. Channels
  47. 8. Logic
  48. Upload metadata
  49. Encode offchain content
  50. 🚢 Deploy NFT Collection
  51. 🚢 Deploy NFT Items
  52. 🏷 Put NFT on sale
  53. Deploy sale contract
  54. Transfer item
  55. Conclusion
  56. References
  57. About the author
  58. Как устроены NFT на базе TON
  59. Принцип работы NFT в TON
  60. Смарт-контракт NFT-коллекции
  61. Чеканка
  62. Смарт-контракт NFT-элемента
  63. Расширения стандарта
  64. Расширение NFTRoyalty
  65. Расширение NFTEditable
  66. Расширение NFTUpgradable
  67. Формат хранения контента
  68. 1 Оффчейн
  69. 2 Ончейн
  70. Смарт-контракты маркетплейса продажи и аукционов

Как создаются NFT проекты на блокчейне TON

Создание NFT-проектов на блокчейне TON осуществляется с помощью смарт-контрактов. Эти контракты позволяют создавать и управлять уникальными цифровыми активами, которые можно продавать, обменивать и коллекционировать.

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

Чтобы создать свой NFT-проект на блокчейне TON, достаточно выполнить несколько простых шагов. Во-первых, нужно определить тему и концепцию вашего проекта. Это может быть любая тематика – от искусства до игр или музыки. Главное, чтобы она была интересной и привлекла внимание потенциальных покупателей.

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

Для создания смарт-контракта можно использовать язык программирования TON Solidity, который очень похож на популярный язык программирования Solidity для Ethereum. Благодаря этому, разработчикам будет легко освоить создание смарт-контрактов на блокчейне TON.

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

При создании NFT-проекта на блокчейне TON можно указать процент от продажи, который будет перечисляться автору актива в качестве роялти. Это может быть любой процент от 0 до 100. Таким образом, создатели активов получают вознаграждение каждый раз, когда их актив продается или перепродается.

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

После этого можно приступить к продаже активов. Для этого нужно сделать определенные действия в смарт-контракте, например, вызвать функцию start аукциона или же установить определенную цену для непосредственной продажи актива.

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

Таким образом, создание NFT-проектов на блокчейне TON – это сложный и многоэтапный процесс. Однако благодаря возможностям смарт-контрактов и уникальной системе распределения активов, блокчейн TON предоставляет все необходимые инструменты для создания и продажи уникальных цифровых активов.

NFT сегодня

В настоящее время разработка и создание NFT проектов на блокчейне TON включает в себя использование стандарта TIP-3, который является стандартом для создания уникальных токенов. Этот стандарт имеет несколько полезных функций, включая возможность добавлять ссылки на другие NFT, а также методы для отправки и получения NFT.

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

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

Далее необходимо создать данные токена, включая данные об изображении, название, описание и другие параметры. Данные о токене создаются в виде таблицы, где каждая ячейка представляет собой поле данных (field). Для создания ячейки используется функция this.createCellData.

После создания данных каждому полю присваивается значение, используя функцию thiscreatedatacell с параметрами, представляющими имя поля и значение. Это включает такие параметры, как название, автор, дата создания и прочее.

После заполнения всех полей данных токена происходит его создание. Для этого используется функция this.createToken, которая принимает все необходимые параметры и создает токен.

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

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

Ориентируйтесь на стандарт TIP-3 при создании и использовании NFT. Это поможет вам избежать возможных проблем и ограничений на текущих и будущих маркетплейсах.

Благодаря NFT сегодня каждый может стать владельцем уникальных цифровых активов, таких как изображения, видео, музыка и прочее. Также NFT предоставляют возможность заработка на продаже и покупке токенов, что привлекает как профессиональных коллекционеров, так и спекулянтов.

Если у вас есть вопросы по созданию NFT или нужна помощь в создании проектов, обратитесь к создателям TON блокчейна или посетите официальные каналы и форумы сообщества TON.

Блокчейн TON

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

Для создания NFT проекта на блокчейне TON, вам потребуется адрес контракта (contract address) и текстовое описание проекта. После успешного завершения транзакции, проект будет развернут в блокчейне TON и готов к продаже.

Для продажи NFT токенов на блокчейне TON используется smart contract. Каждый токен имеет уникальные метаданные, такие как название, описание, изображение и т. д., которые хранятся в специальной папке metadata. Контракт автоматически сохраняет и обрабатывает эти метаданные во время продажи токенов.

Для начала продажи NFT токенов на блокчейне TON, владельцам необходимо создать смарт контракт с помощью адреса контракта и метаданных. Обычно эти метаданные создаются и хранятся отдельно от смарт контракта.

Продажа NFT токенов происходит путем отправки сообщений (messages) контракту. Эти сообщения содержат информацию о том, сколько токенов отправляется и кому они будут проданы. Конечная сумма продажи рассчитывается на основе указанной цены токена и количества продаваемых токенов.

TON блокчейн рекомендует использование трех смарт контрактов для успешного завершения продажи токенов:

  • walletcontract.getseqno() — для проверки последовательности операций;
  • tokencontract.sendGrams() — отправка токенов покупателям;
  • feeamount — для оплаты комиссии сети.

Также при продаже NFT токенов на блокчейне TON можно указать процент роялти (royalty percent), который будет начисляться владельцу токена от последующих продаж. Как только токен будет продан, роялти автоматически начисляются на адрес владельца.

Разработчики NFT проектов на блокчейне TON могут использовать функции и переменные, такие как royaltyfactor, contractaddress0, messages и другие для успешной реализации своих проектов.

NFT на TON

В мире блокчейн-технологий с каждым днем набирает популярность создание невзаимозаменяемых токенов (NFT). Этот новый формат токенов позволяет владельцу иметь уникальное право на некий цифровой актив или произведение искусства. Появление NFT на блокчейне TON открывает новые возможности для различных проектов.

Для создания NFT-проекта на TON вам потребуется использовать некоторые инструменты и библиотеки. Основным инструментом для работы с блокчейном TON является TON SDK. Он позволяет взаимодействовать с блокчейном, создавать контракты и выполнять другие необходимые операции.

Для начала работы с TON SDK вам потребуется его установка. Это можно сделать с помощью команды this.data.install(). После установки TON SDK вы можете приступить к созданию своего NFT-проекта.

Первым шагом при создании NFT-проекта на TON будет написание смарт-контракта. Такой контракт будет определять правила владения и торговли вашими NFT-токенами. Вы можете ориентироваться на существующие стандарты, такие как Ethereum ERC-721, либо создать свой собственный стандарт.

Когда смарт-контракт готов, следующим шагом будет развертывание контракта на блокчейне TON. Для этого вам потребуется использовать команду deployed = await nftUpgradable.deploy(). Эта команда отправит ваш смарт-контракт на блокчейн и вернет информацию о развертывании. Теперь ваш NFT-проект готов к использованию.

Теперь вы можете начать создание своей коллекции NFT-токенов. Для этого вам потребуется создать новый NFT-токен с помощью команды await deployed.minting(wallet, itemIndex). Эта команда создаст новый уникальный токен, который затем можно будет продать или передать другим пользователям.

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

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

Как видите, создание NFT-проекта на блокчейне TON достаточно просто и удобно. Этот новый формат токенов открывает множество возможностей для творческих и бизнес-проектов. Если вам интересна эта тема, обратите внимание на блокчейн TON и начните создавать свой собственный NFT-проект уже сегодня.

Что будет дальше

Старое, накладное решение с дуровыми NFT-элементами полностью готово. Запустив процесс создания NFT-элемента, вы можете получить его в режиме «интересно, что там сейчас происходит».

В то же время возникает вопрос: а что будет дальше?

Старое разделение на токены коллекций и токены NFT в общем блокчейне оказалось не самым функциональным решением. Мы предлагаем nftUpgradable.

В данной таблице представлены разделы смарт-контракта, а также типы и форматы каналов, используемых для каждого раздела:

  • chunkSize – размер куска данных файла (тип: integer)
  • type – тип передаваемого файла, это может быть изображение или описание (тип: string)
  • format – формат файла (тип: string)
  • royaltyFactor – коэффициент роялти (тип: integer)
  • collectionAddress – адрес коллекции (тип: string)
  • thisAddress – адрес текущего смарт-контракта (тип: strong)
  • transaction – транзакция, отражающая текущее состояние блокчейна (тип: array)
  • storage – хранилище данных для создания NFT-элемента (тип: array)
  • thisAddress – адрес текущего смарт-контракта (тип: string)
  • messages – сообщения о состоянии процесса создания NFT-элемента (тип: array)

Используя данную формулу writeFile (format, chunkSize, type), можно проверить наличие более новых версий NFT-элементов. Если такие версии появляются, то их можно мгновенно получить через NFTUpgradable.

Около 90% проблемы связано с созданием NFT-элементов, а именно с настройкой момента получения роялти. Остальные 10% проблемы заключаются в самом процессе создания, в данном случае – это imagе.

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

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

Если по какой-то причине вы не готовы получить NFT-элемент, вы всегда можете подождать момент, когда созданный NFT-элемент получит подтверждение.

Также можно передать свой NFT-элемент на хранение вместе с другими NFT-элементами в одну коллекцию, передав их на один адрес.

Интересно, возникает ли проблема с импортом картинок? Ответ прост: нет, проблем с импортом картинок нет. Во время создания NFT-элемента старый смарт-контракт просто подтягивает эту информацию и использовать ее довольно-таки просто.

Если вам нужно отправить NFT-элемент вместе с картинкой, вы можете просто добавить комментарий или описание картинки и отправить сохраненный виртуальный адрес получателю.

Затем, находясь в консоли, вы можете проверить статус доставки, используя команду console.log(started) и написать сообщение о получении NFT-элемента, используя команду console.log(messages).

Есть также возможность отправить NFT-элементы потенциальным покупателям простым перечислением адресатов, обозначив их в разделе «receivers» и указав сумму каждой комиссии на каждый NFT-элемент.

Для этого используйте команду console.log(messages).

Также вы можете написать в личные сообщения комьюнити сообщества TON о готовности NFT-элемента и предложить его в качестве доната. Для этого воспользуйтесь командой console.log(donate).

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

  1. Импортируйте файлы, используя команду import image or file
  2. Запустите процесс создания NFT-элемента с помощью команды mint(ton, mainnet)
  3. Получите ваш NFT-элемент с помощью команды receive
  4. Убедитесь, что ваш NFT-элемент успешно получен, используя команду successfully got your NFT

Итак, благодаря технологии nftUpgradable и новым улучшенным возможностям NFT-элементы становятся намного более доступными и удобными.

Как создать NFT на TON

В этой статье мы рассмотрим процесс создания NFT на блокчейне TON. Создание NFT (Non-Fungible Token) — это действие, идти в ногу с временем, ведь сегодня данная технология особо популярна.

Для создания NFT на TON вам понадобится json-файл с необходимыми данными о вашем проекте. В этом файле должны быть указаны такие значения, как название, описание и ссылка на изображение вашего NFT. Кроме того, вам также понадобится кошелек в TON для оплаты транзакций и контракт, который будет выполнять действия в вашем NFT проекте.

Сейчас давайте рассмотрим процесс создания NFT на TON более подробно:

  1. Создание метаданных: Создайте json-файл, в котором указаны необходимые данные вашего NFT проекта, например, название, описание и ссылка на изображение.
  2. Определение контракта: Определите контракт, который будет принимать и обрабатывать метаданные вашего NFT. Для этого вы можете использовать язык программирования TypeScript и smart-контракты TON.
  3. Отправка транзакции: Откройте свой кошелек в TON и отправьте транзакцию на адрес контракта, указав файл метаданных.
  4. Подтверждение транзакции: Дождитесь подтверждения транзакции блокчейном TON. Когда транзакция будет успешно обработана, ваш NFT появится в сети TON и будет доступен для покупки и продажи.

Также, рекомендуется внимательно изучить документацию TON и проконсультироваться с комьюнити, чтобы получить необходимую поддержку и дополнительные советы по созданию NFT на TON.

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

Материалы

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

Смарт-контракты

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

Изображения

Изображения являются ключевым компонентом каждого NFT проекта. Они включают в себя файлы изображений, которые должны быть загружены на блокчейн. Для загрузки изображений используется API tonos-cli и метод «deployed» с использованием промисной строки «fspromises». Разработчики могут загружать изображения в виде файлов или использовать JSON-строку с метаданными, включающую IPFS-хэш изображения.

Описания

Описания играют важную роль в каждом NFT проекте. Они предоставляют информацию о каждом NFT, включая его название, характеристики, историю и другие детали. Описания позволяют коллекционерам и потенциальным покупателям получить полное представление о NFT перед его покупкой. Описания хранятся в смарт-контрактах и могут быть получены с помощью метода «items» через интерфейсные контракты.

Роялти и права собственности

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

Примеры кода

Для более наглядного представления процесса создания NFT проектов на блокчейне TON приводим примеры кода:

  • Загрузка изображений

    const dataImages = await fsPromises.readFile('path/to/image.jpg');

  • Авторизация

    const walletContractGetSeqno = await tvmContract.runGETMETHOD({

    method: 'wallet.contract.getSeqno',

    });

  • Официальное создание NFT и получение IPFS-хэша

    const responseIPFSHash = await tvmContract.runGETMETHOD({

    method: 'nft.collection.create',

    collection_address,

    json_stringify_metadata,

    initial_owner,

    royalty_amount,

    });

  • Получение списка владельцев NFT

    const owners = await tvmContract.runGETMETHOD({

    method: 'nft.collection.getOwners',

    collection_address,

    metadataProcessed,

    });

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

Коллекция

Minting — это процесс создания NFT-токенов на блокчейне TON. Каждый NFT-токен представляет собой уникальный цифровой объект, который можно продать или обменять. Создание коллекции NFT-токенов происходит на основной сети (mainnet) блокчейна TON.

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

Создание контракта происходит с помощью команды build. Во время создания контракта нужно указать такие параметры, как название, описание, изображение и другие данные, которые будут отображаться при показе токена в кошельке.

После успешного создания контракта можно приступить к монетизации коллекции. Для этого необходимо получить комиссию за каждую транзакцию с токенами. Получение комиссии происходит с помощью функции walletcontract.getseqno().

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

Примеры файлов, которые могут быть использованы при создании коллекции:

  • Изображения в форматах JPG, PNG или SVG
  • Анимации в формате Lottie
  • Текстовые файлы с описанием токена

При создании токена необходимо указать путь к данным файла. Для этого используется функция filepath().

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

Для получения данных о продажах токенов используется функция getgemssaledata(). Эта функция возвращает информацию о последних продажах токенов из указанной коллекции.

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

Профиль

Для создания NFT-проектов на блокчейне TON необходимо в первую очередь создать профиль. Профиль – это набор атрибутов и параметров, которые определяют основные характеристики NFT-элемента.

Один из основных параметров профиля – это trait_type, который определяет тип NFT-элемента. Например, если вы создаете проект на блокчейне Solana, то вам потребуется указать этот тип как «Solana». Если же вы работаете с другими блокчейнами, то тип может быть соответствующим.

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

В аккаунте для работы с NFT-элементами необходимо предоставить ключи авторизации, чтобы иметь доступ к функциям Smart-контракта. При создании профиля также можно указать pinataapikey для загрузки изображений и feeamount для определения комиссии.

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

Для создания профиля воспользуйтесь методом getgemssaledata(), который возвращает данные профиля в формате JSON. Затем, используя полученные данные, создайте профиль с помощью метода createProfile(). После этого вам будет доступна функциональность для работы с NFT-элементами.

После создания профиля можно начинать создавать NFT-элементы. Для этого воспользуйтесь функцией createCodeCell(). Это позволит вам гибко настраивать параметры NFT-элемента и создавать его в автоматическом режиме.

При создании NFT-элемента укажите все необходимые параметры, такие как название, описание, тип, атрибуты и другие характеристики. Учтите, что перед созданием NFT-элемента необходимо загрузить изображение, которое будет использоваться в проекте. Для этого используйте метод uploaded().

После создания NFT-элемента необходимо дождаться подтверждения его создания, используя waitSeqNo(seqnoAfter) или waitTxsExternal(seqnoAfter) – это позволит убедиться, что элемент успешно создан и готов к использованию. После этого его можно будет продать или добавить в коллекцию.

Профиль является важным компонентом NFT-проекта на блокчейне TON. Он определяет основные параметры и характеристики NFT-элементов, позволяет управлять процессом создания и продажи элементов, а также обеспечивает дополнительную функциональность, такую как получение донатов и распределение роялти.

Чеклист

Для создания NFT проектов на блокчейне TON вам потребуется следовать определенным шагам. Вот небольшой чеклист, который поможет вам разобраться в процессе:

  1. Подготовьте необходимые методы и данные:
    • Выберите метод — создание или обновление NFT-элемента.
    • Создайте код для получения изображений (data/images).
    • Подготовьте описание NFT-элемента.
  2. Разработайте смарт-контракт:
    • Создайте папку для контракта.
    • Отправьте режим работы контракта (sendMode.ignore_errors).
    • Загрузите файлы контракта.
    • Определите описание и развертывание контракта.
    • Рассчитайте royalty и возможные пожертвования.
    • Откройте кошелек с контрактом.
    • Организуйте аукцион или пресейл.
    • Отправьте контракт в работу.
  3. Создайте NFT-элементы:
    • Определите направление проекта.
    • Создайте токен.
    • Загрузите изображение.
    • Определите свои правила для NFT-элементов.
    • Опубликуйте контент и получите данные о продаже (getGemsSaleData).
    • Отправьте элементы владельцам.
  4. Популяризуйте проект:
    • Сделайте проект доступным для других пользователей.
    • Расширьте возможности проекта.
    • Продвигайте NFT-элементы через комьюнити.
    • Способствуйте созданию и популяризации контента.

Следуя этому чеклисту, вы сможете успешно создать NFT проект на блокчейне TON и использовать все его возможности.

Подготовка кошелька

Подготовка кошелька

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

  1. Установите версию TON-кошелька, соответствующую вашей операционной системе. Вы можете найти актуальную версию на официальном сайте проекта.
  2. Сгенерируйте новый кошелек с помощью TON-программы. При создании кошелька обязательно сохраните ваше nfttosaleaddress — это адрес кошелька, на котором будут храниться ваши NFT-активы.
  3. Если у вас возникли проблемы при генерации кошелька или вы хотите использовать существующий кошелек, укажите путь к json-файлу, содержащему ваш приватный ключ. Следите за безопасностью этого файла и не передавайте его третьим лицам.
  4. Для тестирования работы NFT-проекта на TON блокчейне, вы можете использовать testnet, чтобы получать все необходимые тестовые монеты.
  5. Вам также может понадобиться saledata, который будет содержать информацию о каждой продаже NFT-активов. Эти данные могут включать в себя информацию о цене продажи, адресе покупателя и другие подробности.
  6. Для хранения данных о NFT-активах и проекте в целом используйте IPFS. IPFS — это протокол и сеть для распределенного хранения данных, который обещает быть масштабируемым и устойчивым к цензуре.

После выполнения этих шагов вы будете готовы к созданию и развертыванию своего первого NFT-проекта на блокчейне TON. Теперь вы можете передавать свои NFT-активы, получать плату за них и популяризовать свой проект среди маркетплейсов и каналов продаж.

Безопасность при использовании кошелька

При создании и использовании NFT проектов на блокчейне TON важно обеспечить надежность и безопасность кошелька. В данном разделе мы рассмотрим несколько основных мер, которые помогут защитить ваши активы и избежать возможных проблем.

Перед созданием NFT проекта на блокчейне TON, вам потребуется создать кошелек. Для этого вы должны указать seed-фразу из 12 слов. Запишите эту фразу в надежное место и никогда не передавайте ее третьим лицам.

После создания кошелька и получения активации ключей, вам необходимо создать NFT-контракт. Для этого воспользуйтесь методом nftupgradable.mint, указав необходимые параметры.

При создании NFT-контракта, включая загрузку изображений и других атрибутов, следует помнить о безопасности загружаемых данных. Лучше всего использовать IPFS-хранилище и передавать хэши загружаемых данных в качестве аргументов. Помните, что загруженные данные могут быть доступны всем пользователям блокчейна TON.

Кроме того, при использовании метода nftupgradable.mint, вам необходимо указать параметры монетизации и владельца NFT. Подробнее о параметрах и возможных значениях вы можете узнать в документации.

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

Если вы участвуете в аукционах NFT, убедитесь, что используете безопасный и проверенный метод аукционации. Помните, что ваши активы могут быть похищены, если вы будете использовать ненадежный метод.

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

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

Авторизация на Getgems

Процесс авторизации на Getgems позволяет пользователям получить доступ к функционалу платформы и начать создавать NFT проекты на блокчейне TON.

Для авторизации на Getgems необходимо выполнить следующие шаги:

  1. Создайте учетную запись на Getgems.
  2. Зайдите в личный кабинет и зарегистрируйте свой кошелек на блокчейне TON.
  3. Получите приватный ключ доступа к вашей учетной записи. Используйте этот ключ для авторизации при каждом входе в систему.

После успешной авторизации на Getgems вы получите доступ ко всем функциям платформы, включая создание и публикацию NFT проектов.

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

После подготовки описания и изображения вы можете создать смарт-контракт на блокчейне TON. Этот контракт определит правила сделки и условия владения вашим NFT проектом.

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

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

Продажу NFT проектов можно производить на TON или других совместимых блокчейн-платформах, таких как Tezos.

Примечательно, что все транзакции в блокчейне TON осуществляются асинхронно, что позволяет быстро и эффективно обрабатывать большой объем данных и контента.

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

Создание коллекции

Создание коллекции NFT на блокчейне TON включает в себя несколько шагов и процессов:

  1. Создание метаданных и изображений.
  2. Написание и развертывание умного контракта.
  3. Минтинг токенов.
  4. Продажа NFT.

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

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

Когда умный контракт развернут, можно перейти к процессу минтинга токенов. Минтинг — это процесс создания новых NFT и присвоения им уникальных идентификаторов. Каждый NFT затем привязывается к соответствующему метаданным.

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

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

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

Создание токенов

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

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

  • Поле «name» — название токена;
  • Поле «description» — описание токена;
  • Поле «image» — ссылка на изображение, которое будет отображаться при просмотре токена;
  • Поле «metadata» — адрес JSON файла с дополнительными метаданными токена.

Необходимо также задать параметры токена, включая символ, количество токенов, количество знаков после запятой, максимальное количество токенов и другие. Для этого используется благодаря интеграции между TON Blockchain и JSON файлом.

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

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

Для дальнейшей интеграции токена с Marketplace, необходимо указать адрес контракта и номер токена. Для этого используются команды get-method и encode. Полученные данные должны быть внесены в JSON файл для дальнейшего использования.

Теперь вы можете создать новый токен и задать ему уникальные параметры.

Дополнительно, вы можете настроить продажу токена, задав параметры продажи и роялти. Для этого необходимо использовать команду contract.run_local с указанием адреса контракта, метода и нужных параметров. Полученные данные также следует добавить в JSON файл.

Важно отметить, что для хранения контента токена, такого как изображения или анимации, рекомендуется использовать IPFS (Interplanetary File System). Для этого можно использовать соответствующий IPFS-хэш или адрес.

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

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

Шаг за шагом создание коллекции NFT

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

  1. Подготовка кошелька

    Прежде чем начать создавать NFT-коллекцию, вам понадобится пустой кошелек TON с определенным бюджетом. Убедитесь, что у вас есть такой кошелек, и что у вас достаточно средств для оплаты необходимых транзакций.

  2. Импорт смарт-контракта

    Следующий шаг — импортировать смарт-контракт, который будет использоваться для создания NFT-элементов. Можно использовать официальное смарт-контракт ТОН или создать свой собственный.

  3. Создание метаданных

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

  4. Минтирование NFT-элементов

    Теперь, когда все данные подготовлены, вы можете приступить к созданию NFT-элементов. Вам понадобится использовать функцию mint в смарт-контракте и указать необходимые параметры, такие как изображение, описание, идентификатор и т. д.

  5. Установка стоимости

    Каждый NFT-элемент может иметь свою собственную стоимость или комиссию. Установите необходимую сумму, которую вы хотите получать за свои NFT-элементы.

  6. Опубликование и продажа

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

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

🦄 What you will learn

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

Вы узнаете, как:

  • Закодировать изображение и хранить его в блокчейне
  • Создать адрес коллекции и владельцев токенов
  • Записать и промисифицировать строки
  • Создать хранилище данных и хранить его в контракте
  • Войти в систему и получить основную информацию о коллекции
  • Основы старта проекта и дальнейшие шаги
  • Промисифицировать и использовать числа в контракте
  • Рассчитать и проверить контракт
  • Загрузить изображение и создать метаданные для токена
  • Сделать донаты для поддержки проекта
  • Создать и закрепить метаданные для каждого токена
  • Официально передать и продать токен
  • Узнать, как токен появляется в коллекции
  • Создать ячейку данных и указать адрес владельца токена
  • Создать и добавить элемент данных в коллекцию
  • Соединить путь к папке с метаданными
  • Вывести в консоли сообщение о начале процесса
  • Вывести номер токена и его характеристики
  • Применить «костыльное» решение для работы с контрактами
  • Тщательно работать с Solana
  • Узнать больше о том, как промисифицировать код
  • Использовать таблицу для отображения данных
  • Изучить другие возможности и исходящие действия

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

💡 Prerequisites

Перед тем, как приступить к созданию NFT проектов на блокчейне TON, необходимо учесть несколько предварительных условий:

  • Исходящий токен (outgoing token): для создания NFT проекта вам понадобится исходящий токен, который будет использоваться для оплаты комиссий при создании, продаже и покупке NFT.
  • Дуровыми донаты: создание NFT проекта может потребовать финансовых затрат, поэтому важно иметь поддержку дуровых донатов для дальнейшего развития проекта.
  • Механика отправки токенов (sendmodepay_gas_separately): для успешной отправки NFT необходимо разобраться с механикой отправки токенов, чтобы учесть возможные комиссии.
  • Okno: Okno является ключевым понятием блокчейна TON и представляет собой окно подтверждения получения кода.
  • Подтверждение рекламы (what): в контексте создания NFT проектов на блокчейне TON, подтверждение рекламы необходимо для продвижения проекта и привлечения внимания пользователей.
  • Анимационное потребление (animation consumption): анимация может быть важной частью NFT проекта, поэтому необходимо учесть анимационное потребление при разработке проекта.
  • Toncoin: Примечательно, что блокчейн TON использует Toncoin как основную валюту в своей экосистеме. Поэтому, для создания NFT проекта, вам понадобится Toncoin.
  • ContractAddress: Адрес контракта — ключевой элемент создания NFT проекта, поскольку он определяет местоположение контракта в блокчейне.
  • Boolean: Логический тип данных, который может принимать только два значения: true или false.
  • Fs.promises: Модуль, предоставляющий асинхронные операции с файловой системой.
  • Wallet: Кошелек, который будет использоваться для хранения токенов NFT и Toncoin, необходимый для операций с NFT проектами.

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

💎 Что такое NFT на блокчейне TON

NFT (Non-Fungible Token) – это уникальный и неподдельный токен, который можно создать и передать на блокчейне TON. TON (Telegram Open Network) предоставляет возможность создания и развертывания NFT-проектов, которые основаны на блокчейне TON Crystal.

Блокчейн TON предоставляет надежную и безопасную платформу для создания NFT. Он использует свой клиентский кошелек, который позволяет пользователям безопасно владеть своими цифровыми активами и обмениваться ими. На блокчейне TON разработаны уникальные контракты, которые обеспечивают уникальность и неподменяемость NFT-токенов.

Один из основных инструментов для создания NFT на TON – это контракт, который развертывается в рамках NFT-проекта. Контракт задает механику и параметры создания, обмена и владения токенами. В процессе создания NFT контракта используются специальные методы, которые позволяют создавать уникальные токены с различными характеристиками и свойствами.

Ключевой переменной в контракте NFT является «contractAddress» — адрес контракта NFT. Именно этот адрес будет использован для создания и взаимодействия с NFT-токенами. Все параметры контракта, такие как «image» — изображение, «dataCellEndCell» — дата окончания, «promisenumber» — номер обещания, «collectionContentURL» — URL-адрес контента коллекции, «feeAmount» — сумма комиссии и другие, задаются в json-файле и подставляются в контракт при его создании.

Для удобства взаимодействия с контрактом и работы с NFT-токенами существуют различные методы. Например, «getter» — это метод, который позволяет получить информацию о токене, его владельце, создании и других свойствах. Также есть методы для передачи токенов, изменения свойств и других операций.

Один из важных аспектов при создании NFT-проекта на TON – это выбор пути развертывания. Существуют несколько вариантов, включая самостоятельное развертывание контракта или использование готовых платформ для создания NFT.

После развертывания контракта и старта NFT-проекта, создаваемые токены становятся доступными на TON и могут быть обменены или выставлены на продажу на TON-маркетплейсе. Маркетплейс позволяет пользователям взаимодействовать с другими пользователями и покупать или продавать NFT-токены.

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

Таким образом, NFT на блокчейне TON – это уникальные цифровые активы, созданные в рамках NFT-проекта и развернутые на блокчейне TON Crystal. Они обладают неподменяемостью и могут быть созданы и обмениваться в рамках TON Crystal. Блокчейн TON предоставляет инструменты и механизмы для создания и взаимодействия с NFT-токенами, что позволяет пользователям стать участниками растущего рынка NFT.

NFT реализация на Ethereum

Создание и продажа NFT (Non-Fungible Token) на Ethereum — популярная практика в области блокчейна и цифровых активов. В этом разделе мы рассмотрим основные шаги реализации NFT проекта на Ethereum.

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

  3. Создание смарт-контракта
  4. Центральным элементом NFT проекта является смарт-контракт, который определяет правила создания и обмена NFT-элементами. Смарт-контракт может быть реализован с использованием языка программирования Solidity.

  5. Экспорт метаданных и монтирование NFT
  6. Для каждого NFT необходимо создать отдельный JSON-файл с метаданными, описывающими его атрибуты, описание и изображение. Далее, с помощью смарт-контракта, производится монтирование (minting) NFT, где каждый NFT получает уникальный идентификатор.

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

  9. Реализация функций и получение информации
  10. В смарт-контракте NFT проекта необходимо реализовать функции для получения информации о NFT-элементах, такие как имя, описание, дата создания и т. д. Эти функции могут быть обращены через getter методы и использованы различными приложениями и сервисами.

  11. Интеграция кошелька и проведение транзакций
  12. Для проведения транзакций с NFT-элементами необходимо интегрировать кошелек Ethereum. Пользователи должны иметь собственный кошелек Ethereum, чтобы получить доступ к своим NFT и осуществлять торговлю.

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

Проблемы, которые могут возникнуть при такой реализации в блокчейне TON

Проблемы, которые могут возникнуть при такой реализации в блокчейне TON

При создании NFT-проектов на блокчейне TON могут возникнуть некоторые проблемы. В данном разделе рассмотрим наиболее распространенные из них.

1. Спецификация и проработка

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

2. Отправка и получение сообщений в формате JSON

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

3. Безопасность ключей

Одной из основных забот при работе с NFT-проектами на TON является безопасность ключей. Владение приватными ключами дает полный контроль над NFT-активами. It is important to store private keys securely and avoid exposing them to potential attackers.

4. Низкая пропускная способность смарт-контрактов

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

5. Бюджет и комиссии

Для создания и обновления NFT на TON необходимо оплачивать комиссии в виде TON Coins. При неверном расчете бюджета или суммы комиссии смарт-контракт может оказаться недостаточно финансируемым для выполнения операций.

6. Необходимость развертывания отдельного маркетплейса

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

7. Открытый и прозрачный доступ к данным

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

8. Ограниченные возможности маркетплейса

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

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

TON NFT implementation

Блокчейн TON (Telegram Open Network) особо известен своей инновационной реализацией технологии NFT (Non-Fungible Token).

Технология NFT дает возможность создавать и уникально идентифицировать цифровые активы на блокчейне. Отдельный NFT-проект на блокчейне TON может стать причиной бурно обсуждаемых событий, например, продажа уникальных цифровых активов «diamonds» (бриллианты) при создании собственной коллекции или запуске маркетплейса для всех желающих.

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

Для ведения транзакций и обмена активами за определенные суммы на блокчейне TON необходимо провести платеж с кошелька, содержащего TON Crystal (TON Crystal — криптовалюта блокчейна TON). В данном случае, транзактина выглядит следующим образом: код, обрабатывающий суммы и адрес маркетплейса.

Транзакция:
  • Примерный шаблон
  • Сумма перевода
  • Адрес маркетплейса

В процессе создания контракта на TON Crystal, подготовленные данные передаются через payload, в виде json.stringify(metadata). Контракт создается и успешно загружается на блокчейн TON.

В контрактах TON используются специальные методы, которые реализуют основные механики NFT. Так, например, создание контракта происходит через метод NewAccount, которому передается payload.

TON NFT implementation можно интегрировать с проектами Ethereum, чтобы иметь доступ к различным методам и максимально расширить возможности проекта.

Официальное SDK TON имеет интеграцию с ETHREUM, благодаря которой часто появляется значение контракта ETHREUM и может быть успешно присоединено к проекту

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

Внедрение JSON.stringify(metadata) в контракты на блокчейне TON – важный шаг в создании NFT-проектов на данной платформе.

⚙ Настройка среды разработки

Для начала разработки проектов с использованием технологии NFT на блокчейне TON вам понадобится настроить рабочую среду. Ниже перечислены основные шаги для этого:

  1. Установите CurCell – инструмент для создания контрактов на TON.
  2. Создайте спецификации вашего контракта, определяющие его функциональность, свойства и методы.
  3. Определите токенизацию объектов NFT в вашем контракте. Каждый объект обладает уникальным идентификатором, а также дополнительными данными.
  4. Также вам понадобится импортировать изображения и другие данные, которые будут храниться в вашей NFT коллекции. Для этого вы можете использовать специализированные библиотеки или разработать свою собственную реализацию.
  5. Подумайте о реализации возможности создания NFT-элементов (минтинга). Возможно, вам потребуется добавить функцию анимации для создания интерактивных элементов.
  6. Определите механизм появления новых NFT-объектов. Например, вы можете установить правило, по которому NFT-элементы будут автоматически генерироваться при выполнении определенных действий.
  7. Реализуйте механизм продажи и покупки NFT-элементов в маркетплейсе. Для этого вам потребуется создать контракт, определяющий правила аукциона или фиксированной цены.
  8. Разработайте систему сбора роялти с каждой продажи NFT-элемента. Например, вы можете установить процент от продажи, который будет перечисляться автору элемента.
  9. Разработайте клиентскую часть приложения, которая позволит пользователям авторизовываться, просматривать NFT-элементы, создавать транзакции для оплаты и получения NFT-элементов.
  10. Не забудьте задеплоить ваш контракт и клиентское приложение на сеть блокчейна TON.

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

Write helper functions

Для создания проектов NFT на блокчейне TON нам понадобятся некоторые вспомогательные функции. В этом разделе мы рассмотрим некоторые из них.

  • storage: Функция, которая предоставляет доступ к хранилищу данных NFT проекта. Мы можем использовать ее для сохранения и получения информации о созданных объектах.
  • readfile: Функция, которая позволяет читать содержимое файлов из системы. Мы можем использовать ее для чтения метаданных объектов NFT.
  • where: Функция, которая показывает, где находится определенная ячейка данных в блокчейне TON. Она может быть полезна при обработке транзакций и запросов.
  • royaltypercent: Функция, которая возвращает процент роялти (комиссии) для автора NFT, который будет получать при каждой продаже его работы. Это важный аспект проектов NFT, так как это позволяет авторам зарабатывать на своих творениях даже после первоначальной продажи.
  • bigint: Функция, которая предоставляет поддержку работы с большими числами в блокчейне TON. Это может быть полезно при обработке финансовых операций и расчетах с NFT.
  • op-code: Функция, которая позволяет выполнять операции на языке программирования, которые поддерживаются в блокчейне TON. Мы можем использовать ее для создания и изменения NFT объектов.
  • thing: Функция, которая предоставляет доступ к определенному объекту NFT. Мы можем использовать ее, чтобы получить информацию о конкретном NFT, его владельце и других атрибутах.

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

🖼 Подготовка метаданных

Для создания NFT проекта на блокчейне TON необходимо подготовить метаданные, которые будут связаны с каждым созданным объектом (токеном). Метаданные содержат информацию о характеристиках объекта и его изображении.

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

Ниже приведен код в формате TypeScript, который позволяет подготовить и загрузить метаданные:

«`ts

const { createCodeCell } = require(«@tonlabs/extension-api/RPC»);

const ton = require(«@tonlabs/sdk»);

const fs = require(«fs»);

// Загрузка изображения на IPFS

async function uploadImageToIPFS(imagePath) {

const image = fs.readFileSync(imagePath);

const imageBase64 = image.toString(«base64»);

const ipfsHash = await createCodeCell({

abi: ton.utils.abi.encodeMessage(

«network.createcodecell(ipfsimagesipfshash:index,jpg:filename):Bool»

),

params: {

ipfsimagesipfshash: `data:image/jpg;base64,${imageBase64}`,

jpgfilename: «image.jpg»,

},

});

return ipfsHash;

}

// Подготовка метаданных

async function prepareMetadata(

itemName,

itemDescription,

itemAttributes,

itemImageFilePath

) {

const itemAttributesJson = JSON.stringify(itemAttributes);

const imageIpfsHash = await uploadImageToIPFS(itemImageFilePath);

return {

name: itemName,

description: itemDescription,

attributes: itemAttributesJson,

image: imageIpfsHash,

};

}

// Пример использования функции prepareMetadata

const itemName = «Редкая утка»;

const itemDescription = «Коллекционная утка с оригинальным дизайном.»;

const itemAttributes = [«Редкость: эпическая», «Тип: анимация»];

const itemImageFilePath = «ducks/duck1.jpg»;

const metadata = await prepareMetadata(

itemName,

itemDescription,

itemAttributes,

itemImageFilePath

);

«`

В приведенном выше коде мы используем методы TonLabs SDK для загрузки изображений на IPFS. Функция uploadImageToIPFS принимает путь к файлу изображения и возвращает хэш IPFS.

Самые важные метаданные включают название объекта (name), описание (description), атрибуты (attributes) и изображение (image). Название и описание могут быть на любом языке, а атрибуты могут иметь любую структуру и содержать любую информацию, отражающую характеристики объекта.

Для загрузки изображения на IPFS мы преобразуем его в формат Base64 и передаем в функцию createCodeCell, указывая спецификацию формата файла (jpg) и его имя (filename).

Загруженное изображение будет связано с токеном по его IPFS-хэшу.

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

Выполненная функция prepareMetadata возвращает объект метаданных, который может быть использован для создания смарт-контракта NFT токена и его регистрации в маркетплейсе.

Пример использования функции prepareMetadata показан в приведенном выше коде. Мы указываем имя объекта, описание, атрибуты и путь к изображению файла. Затем вызываем функцию prepareMetadata, передавая эти параметры, и получаем объект метаданных.

Важно отметить, что на момент написания этого руководства метаданные NFT проектов на блокчейне TON обязательно должны включать поле «image», содержащее IPFS-хэш изображения. Некоторые маркетплейсы могут также требовать другие поля метаданных, поэтому ориентируйтесь на требования конкретной платформы.

В случае, если требуется указать процент вознаграждения (роялти) для владельцев токенов при повторной продаже, можно добавить поле «royalty_params» в объект метаданных. Поле «royalty_params» должно содержать процент (royalty_percent) и фактор (royalty_factor) расчета процента.

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

NFT спецификации

NFT (Non-Fungible Token) — это уникальный вид криптовалютных токенов на блокчейне TON, который представляет собой уникальную цифровую активность или подлинное произведение искусства. Давайте рассмотрим основные спецификации NFT проектов на блокчейне TON.

1. Minting

Создание NFT-элементов, таких как изображения, видео или аудиофайлы, называется «Minting». Каждый NFT имеет свою уникальность и не может быть разделен или заменен другим токеном. Это обеспечивает неизменность и подлинность цифрового актива.

2. Type

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

3. Metadata

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

4. Royalty

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

5. Consumption

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

6. Marketplace Fee

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

7. Channels

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

8. Logic

Логика создания и функционирования NFT описывается в смарт-контракте на блокчейне TON. Смарт-контракт обеспечивает создание, передачу и отслеживание NFT-элементов, а также выполнение определенных действий при определенных событиях.

Надеемся, что данный обзор спецификаций NFT проектов на блокчейне TON помог вам лучше понять, как создаются и функционируют уникальные цифровые активы. Если вас интересуют подробности или нужны дополнительные примеры, обратитесь к документации и сообществу блокчейна TON.

Upload metadata

После того, как основная информация о NFT-проекте была указана, необходимо загрузить метаданные. Для этого используется специальный keeper (хранитель) контракта.

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

В блокчейне TON процесс загрузки метаданных происходит следующим образом:

  1. С помощью функции describe контракта, разработчики указывают основные свойства NFT, такие как название, описание, автор и другие характеристики предмета.
  2. Затем они пишут метаданные в формате JSON, который будет содержать всю необходимую информацию о NFT-предмете.
  3. Этот JSON-файл загружается через функцию write контракта, которая записывает метаданные на блокчейн TON.

Пример кода на языке Tezos:

const describe = async (name, description, author) => {

const metadata = {

name: name,

description: description,

author: author,

};

const jsonMetadata = JSON.stringify(metadata);

await contract.describe(jsonMetadata);

};

const write = async (jsonMetadata) => {

await contract.write(jsonMetadata);

};

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

Для успешной интеграции метаданных и мультимедийных файлов используются функции send и send_mode, которые отправляют файлы на IPFS и возвращают их хеш. Полученный хеш затем записывается в метаданные NFT-предмета.

Следующий код демонстрирует процесс отправки файлов на IPFS и получение их хеша:

const sendFile = async (file) => {

const result = await IPFS.send(file);

return result.hash;

};

const sendAndWrite = async (fileName) => {

const file = getFile(fileName);

const hash = await sendFile(file);

const metadata = getMetadata(fileName);

metadata.image = hash;

const jsonMetadata = JSON.stringify(metadata);

await contract.write(jsonMetadata);

};

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

Пример использования:

const setRoyaltyFactor = async (royaltyPercent) => {

await contract.royaltyFactor(royaltyPercent);

};

Все изменения, происходящие с метаданными NFT, отображаются с помощью функции getMethod. Например, можно проверить версию метаданных:

const getVersion = async () => {

const version = await contract.getMethod("getVersion");

console.log("Version:", version);

};

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

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

Encode offchain content

Различные проекты NFT могут хранить данные оффчейн и ссылаться на них в своих смарт-контрактах на блокчейне TON. Это позволяет хранить большие объемы информации, которые не поместятся в хранилища самого блокчейна. Одним из способов хранения оффчейн-контента является использование протокола InterPlanetary File System (IPFS).

Как это работает? Предположим, у нас есть изображение, которое мы хотим включить в NFT-токен. Вместо непосредственного включения изображения в данные токена, мы можем закодировать его и загрузить на IPFS.

  1. Мы можем создать или загрузить изображение в формате JPEG и получить хэш его содержимого (например, «ipfsimages/ipfshashindex.jpg»).
  2. Затем мы можем создать JSON-файл с данными о нашем NFT-токене, включая ссылку на IPFS-хэш изображения.

Пример структуры JSON-файла:

{

"name": "Название токена",

"description": "Описание токена",

"image": "ipfs://ipfshashindex.jpg",

"metadata": "ipfs://ipfsmetadatashash.json",

"creator": "0:123456789123456789123456789123456789123456789123456789123456"

}

Затем мы можем использовать кодирование offchain-содержимого в виде Base64 и хранение его значения в виде строки в контракте NFT.

При загрузке токена с IPFS-хранилища мы можем передать кодированные данные на контракт, который сохраняет их и возвращает ссылку на IPFS-хэш:

function upload(string memory _data) public returns (string memory) {

string memory encodedData = base64encode(_data);

// сохранить закодированные данные в контракте

string memory ipfsHash = "ipfs://ipfshashindex.jpg";

return ipfsHash;

}

Таким образом, кодирование оффчейн-содержимого и его хранение на IPFS позволяет эффективно использовать блокчейн для создания и продажи NFT-токенов с большим объемом информации.

🚢 Deploy NFT Collection

После того, как вы создали свою NFT коллекцию, вы должны ее задеплоить, чтобы она стала доступной на блокчейне TON.

Деплоймент NFT коллекции включает в себя несколько шагов:

  1. Создание смарт-контракта
  2. Размещение метаданных в IPFS
  3. Отправка транзакции на задеплоить смарт-контракт и привязать метаданные

Первым шагом является создание смарт-контракта. Для этого вам понадобится импортировать модули ton-crypto и nftupgradable. Этот смарт-контракт будет отвечать за управление вашей NFT коллекцией и эмитацию токенов.

После того, как смарт-контракт создан, вы должны разместить метаданные каждого токена в IPFS. IPFS — это децентрализованная файловая система, позволяющая хранить и делиться данными. Вы можете загрузить свои метаданные в IPFS, используя функцию uploadFoldertoIPFS(folderPath).

Затем вы должны отправить транзакцию на задеплоить смарт-контракт и привязать метаданные к NFT коллекции. Для этого вам понадобится использовать функцию this.createDataCell(), чтобы создать новую запись данных и указать необходимые параметры, такие как название коллекции, метаданные, принцып-роялти и другие.

Подробнее о параметрах смарт-контракта и транзакции вы можете узнать в документации.

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

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

Если у вас возникли вопросы или вам нужна помощь, обратитесь к сообществу TON в чатов и задайте свой вопрос. Мы с удовольствием вам поможем!

🚢 Deploy NFT Items

В данном разделе мы познакомимся с процессом создания и размещения NFT предметов на блокчейне TON.

Для начала, создадим NFT контракт, который будет использован для создания уникальных токенов. Затем, путем указания необходимых параметров, будут созданы и развернуты NFT предметы.

  1. В качестве первого шага, нам потребуется указать адрес контракта, подтвердив его на первоначальной странице. В этом случае, вместо адреса контракта будет отображено «ThisAddress».
  2. Далее, мы должны указать набор изображений для создаваемых NFT предметов. Изображения можно загрузить в формате IPFS хеша или использовать уже созданные изображения. Каждому изображению также можно задать текстовое описание, которое будет отображаться при просмотре предмета.
  3. После указания изображений, мы должны задать количество токенов, которые будут созданы с использованием каждого из подготовленных изображений.
  4. Затем, следует указать стоимость каждого созданного токена в diamonds (внутренней валюте блокчейна TON). Можно также указать коэффициент роялти, определяющий процент от дальнейших продаж, получаемый создателем NFT предмета.
  5. После всех предварительных настроек и подготовки, нужно нажать кнопку «Deploy», чтобы запустить процесс создания и развертывания NFT предметов. В этот момент будет сгенерировано уникальный query-id, который можно использовать для отслеживания процесса создания.

В данном разделе мы рассмотрели основные шаги, связанные с деплоем (размещением) NFT предметов на блокчейне TON. Отметим, что для размещения и популяризации разработанных NFT проектов также необходимо активно взаимодействовать с сообществом, анонсировать новые предметы, проводить рекламные кампании и так далее.

🏷 Put NFT on sale

Теперь, когда у нас уже есть созданные и загруженные NFT-элементы, мы можем начать продавать их.

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

Шаг 1: Создайте файл контракта с именем «sellNFT.ton».

  1. Установите пакет Surf CLI, если вы еще этого не сделали. Surf CLI является набором инструментов для работы с TON Surf SDK.
  2. Напишите следующую логику в файле «sellNFT.ton»:

import { accept, bytes, error, Event, i32, ignore_errors, mapref, pubkey, req, state, svariant, withPrefix } from "../lib/token";

type sale_event = Event("nft\_added\_to\_sale", { "nft\_id": bytes });

type cancel_event = Event("sale\_cancelled", { "nft\_id": bytes });

type buy_event = Event("nft\_purchased", { "nft\_id": bytes, "buyer": pubkey });

type storage = {

sales: {NFT in sales mapref}?

};

type sales = svariant {

empty,

pending: {

owner: pubkey,

price: bigint,

royalties: i32,

path: bytes

},

sold: {

owner: pubkey,

buyer: pubkey,

price: bigint,

royalties: i32,

path: bytes

}

};

export function putOnSale(nft\_id: bytes, price: bigint, royalties: i32, path: bytes): bool {

if (!runtime.getAccess().func\_name() == 'putOnSale') {

throw accept.reject()

}

state.sales[nft_id] = sales.pending{

owner = runtime.getSigner().public\_key(),

price,

royalties,

path

}

emit \{ nft_added_to_sale: \{ nft_id \} \}

return true;

}

export function cancelSale(nft\_id: bytes): bool {

if (!runtime.getAccess().func\_name() == 'cancelSale') {

throw accept.reject()

}

ignore_errors(state.sales[nft_id]) = sales.empty

emit \{ sale_cancelled: \{ nft_id \} \}

return true;

}

export function buy(nft\_id: bytes): bool {

if (!runtime.getAccess().is\_invoker\_a\_sig()) {

throw accept.reject();

}

if (!(state.sales[nft_id] is sales.pending)) {

throw accept.reject();

}

let sale = state.sales[nft_id] as sales.pending;

let price = sale.price;

let royalties\approximate\_duration = sale.royalties * price;

let creator\_price = price - royalties;

let collection\_address = state.sales.collectionAddress!;

if (!runtime.getSigner().transfer({beneficiary: collection\_address, value: creator_price})) {

throw accept.reject();

}

ignore_errors(state.sales[nft_id]) = sales.sold{buyer = runtime.getSigner().public\_key(), price, royalties, path: sale.path};

emit \{ nft_purchased: \{ nft_id, buyer: runtime.getSigner().public\_key() \}}

return true;

}

Шаг 2: Создайте файл «sellNFT.ts» и добавьте следующий код:

import { encoders, Keys, TonClient } from "@tonclient/core";

import { expect } from "chai";

const { Account } = require("@tonclient/appkit");

async function main(client: TonClient, name: string, loc: string): Promise {

const keys = await TonClient.default.crypto.ed25519Keypair();

console.log(\`Saving ${name} keypair: ${loc}\`);

await TonClient.default.crypto.saveKeyPair(keys, loc, encoders::base64);

console.log(\`Tesing ${name} keypair saving\`);

const keys2 = await TonClient.default.crypto.loadKeyPair(loc, encoders::base64);

expect(keys).to.deep.equal(keys2);

const acc = new Account(Account.package, {

address: ZeroContractAddress,

signer: Account.keys(keys),

client,

});

console.log(\`Testing ${name} ${Tea > brackets}\`);

await acc.deploy();

return keys;

}

export async function setup() {

const client = new TonClient({ network: { endpoints: ["http://localhost"] } });

const keyPairNFT = await main(client, "NFT", "keys/nft");

const keyPairSellNFT = await main(client, "Sell NFT", "keys/sell-nft");

fs.writeFileSync("src/nft/types.ts",

`export const NFTpubkey = "${keyPairNFT.public}";

Мобильный сайт за час!(таплинк)

Ваши сайты будут круто выглядеть, а также быстро работать и на смартфоне, и на планшете, и на компьютере

⭐ Адаптивный сайт без навыков программирования.
⭐ Вы сможете создать целый Интернет-Магазин!.
⭐ Быстрорастущая ниша для Вашего заработка.
⭐ Вы будете зарабатывать где угодно!

export const SELLNFTpubkey = "${keyPairSellNFT.public}";`

);

expect(fs.readFileSync("src/nft/types.ts", "utf-8")).to.equal(

\`export const NFTpubkey = "${keyPairNFT.public}";

export const SELLNFTpubkey = "${keyPairSellNFT.public}";\`

);

}

Шаг 3: Добавьте следующий код в файл «index.ts» после определения readTokenMetadataAndOwner() функции.

async function putNftOnSale(

collectionAddress: KeyPair,

nftAddress: KeyPair

) {

const tUser = new TonUser(tClient);

const tWallet = new TonWallet(tClient);

if (

nftAddress == undefined ||

collectionAddress == undefined ||

tUser.walletAddress == undefined ||

tUser.keys == undefined

) {

throw new Error("Please authorize first");

}

console.log("Uploading NFT to IPFS...");

const {empty, pinataapikey, uploadfoldertoipfsfolderpath} = await env();

const ipfsPaths: IPath[] = [];

let nftElementId;

ipfsPaths.push(

...(await uploadFilesToIpfsFolder(

[

[

{

name: "metadata.json",

content: JSON.stringify(

createSampleMetaData(

new BN(Date.now()).toString(),

"My First NFT",

"This is my first ever NFT!",

config.sanityUri(),

"base64 encoded image",

"base64 encoded thumbnail image",

"TONNFT",

"",

"https://twitter.com/mytwitter",

"",

new BigNumber(0),

0,

PublishStatus.Publish,

[],

[]

)

),

},

{

name: "image",

content: base64Image,

},

{

name: "thumbnail",

content: base64Thumbnail,

},

],

],

{

progress: (progressBarString = "Uploading nft files", currentFile = "") => {

switch (currentFile) {

case "metadata.json":

nftElementId = progressBarString.split("/\\[]->")[1].split("%")[0];

break;

}

},

}

))

);

console.log("Putting NFT on sale...");

const signerWallet = Wallet.externalByKey(PoolSetupAccount);

const {status: addNftToSaleStatus} = await signerWallet.run(

collectionAddress,

0,

collectionAddress.key.public,

async () => {

return giftContract.methods.addNftToSale().send({

path: ipfsPaths[0].path,

tokenId: tWallet.id,

price: 100_000_000,

royalties: 10,

});

}

);

if (addNftToSaleStatus != 5) {

throw new UnsuccessfulTransactionError();

}

console.log("NFT is now on sale!");

console.log("IPFS paths required to buy this NFT:");

console.log(ipfsPaths);

}

async function main() {

const tConfig = new TConfig();

await tConfig.load();

await tConfig.configure();

const tClient = new TonClient();

const tSetup = new TSetup(tClient);

await tSetup.setup();

const tUser = new TonUser(tClient);

console.log("Authorizing...");

const address = new Address(tUser.walletAddress?tUser.walletAddress!:new Address().stringify());

await wConfig.addCarrier(

new WAccount(address,

"https://net.ton.dev",

new Address("0:0000000000000000000000000000000000000000000000000000000000000000"),

0, false));

if (tUser.keys == undefined) {

window.location.href = "/home"; // User must authorize first

return;

}

const cookies = getCookieValues([

"nft",

"sell-nft",

"after-auth-verified",

"new-nft",

"psg",

]);

const {nft: nftAddressString, sellNft: collectionAddressString} = cookies != undefined ? cookies : {};

console.log(

\`Cookies: nftAddressString=$\{nftAddressString }), collectionAddressString=$\{collectionAddressString}}\`

);

if (nftAddressString == undefined || collectionAddressString == undefined) {

window.location.href = "/home";

return;

}

let nftAddress = new Address(nftAddressString);

let collectionAddress = new Address(collectionAddressString);

if (collectionAddress.equals(Address.ZERO)) {

const qsCol = getQueryVariable("col", window.location.href);

if (qsCol != undefined) {

collectionAddress = new Address(qsCol);

}

}

collectionAddress = new Address(collectionAddress.stringify());

await putNftOnSale(

new KeyPair().from(acc),

new KeyPair().from(nft)

);

}

main().catch((error) => {

console.error("Contact: ", env().supportChannel);

console.error("Error: ", error);

console.error({

error,

});

});

Шаг 4: Добавьте следующий код в файл «NFT.ts» после определения readTokenMetadataAndOwner() функции:

async function putNftOnSale(

collectionAddress: KeyPair,

nftAddress: KeyPair

) {

const wallet = (0, useWalletContext)();

if (

wallet.tonNetworkUrl == undefined ||

nftAddress == undefined ||

collectionAddress == undefined ||

wallet.wallet == undefined

) {

throw new Error("Please authorize first");

}

console.log("Uploading NFT to IPFS...");

const {empty, pinataapikey, uploadfoldertoipfsfolderpath} = wallet.env;

const ipfsPaths: {name: string; path: string}[] = [];

const [proccessedMetadata, metadataHash] = await prepareJSON({

name: "a1",

description: "a2",

attributes: metadata.attributes.map((o: any) => JSON.parse(o)),

seller_fee_basis_points: 0,

image: metadata.image,

animation_url: null,

external_url: metadata.external_url,

collection: metadata.collection,

creator: metadata.creator,

edition: metadata.edition,

supply: metadata.supply,

max_supply: metadata.max_supply,

attributes_structure: metadata.attributes_structure,

symbol: "nft",

});

const price = new BN("100000000000000000");

const royalties = 10;

let nftElementId;

(

await ipfs.add([

{

path: "metadata.json",

content: Buffer.from(JSON.stringify(proccessedMetadata)),

},

])

).forEach((file: {path: string; cid: {toString: () => string}}) => {

nftElementId = file.cid.toString().slice(7);

ipfsPaths.push({name: file.path, path: file.cid.toString()});

});

console.log("Putting NFT on sale...");

const acl = await InitACC(WebThreeWallet);

const mainCtl = await getClient();

mainCtl.withKeyPairFactory(yourKeyPairFactory);

const link = "https://ton.dev";

const signerAccount2 = new Account(mainCtl, {signer: wallet.wallet, client: mainCtl, provider: undefined});

if (!fs.existsSync("src/nft/collection-init.keys.json")) {

fs.writeFileSync(

"src/nft/collection-init.keys.json",

JSON.stringify({keys: collectionAddress, workchain: collectionAddress.workchain}, null, 2)

);

}

let runResult;

try {

runResult = await signerAccount2.run("accept", null, acl.initKeys);

} catch (err) {

done = false;

}

let done;

let count = 1;

while (runResult.read != "lro") {

console.log(\`Try ${count}\`);

count += 1;

await sleep(4000);

try {

runResult = await signerAccount2.run("accept", null, acl.initKeys);

done = false;

} catch (err) {

console.log(err);

done = true;

throw err;

}

if (count >= 10 && done) {

break;

}

}

if (done) {

throw new Error("Something wrong with smart contract deployment");

}

const txnID = runResult.transaction.id;

console.log(\`contract deployed: $\{txnID}\`);

const signerAccount3 = new Account(mainCtl, {signer: wallet.wallet, client: mainCtl, provider: undefined});

let runResult2 = await signerAccount3.run("collection.initCollection", null, acl.initAndMethod3(wallet.tonNetworkUrl));

if (runResult2.read != "lro") {

throw new Error("Something wrong with smart contract deployment");

}

const txnID2 = runResult2.transaction.id;

try {

await mainCtl.queries.transactionInfo({id: txnID2}, async (info: any, error) => {

if (info && info.result && info.result.status && info.result.status == 3) {

return;

}

console.log(\`transaction id: $\{txnID2}, continue to wait\`);

await sleep(400);

});

} catch (err) {

throw new Error(err);

}

console.log(\`contract deployed: $\{txnID2}\`);

const accAddress = await signerAccount3.getWalletAddress();

console.log(\`Wallet Address: \${accAddress.address}\`);

// addNftToSale

// arg: collectionAddress, tokenId, price, royalties, {'ton://xxx','ipfs://xxx',{cid}}

const tokenId = await signerAccount3.call("collection.tokensOfOwner", 0, acl.initAndMethod3(accAddress.address));

console.log(\`tokenId : $\{bigIntToHex(tokenId.output.value)}`);

console.log(

\`collectionAddress : $\{collectionAddress.address.padEnd(100)} $\{collectionAddress

.workchain}`.trim()

);

console.log(

\`accAddress:\

Размещение торговой площадки (Deploy marketplace)

После создания и развертывания смарт-контракта для создания NFT на блокчейне TON, следующим шагом будет размещение торговой площадки (marketplace), где пользователи смогут покупать и продавать свои NFT.

Для начала нужно создать адрес контракта, в котором будет храниться информация о NFT и владельце каждого предмета.

Следующие шаги помогут вам развернуть торговую площадку:

  1. Получите адрес владельца NFT (item owner address), чтобы вы могли видеть, кому принадлежит каждый предмет. Это будет полезно при составлении списка покупок и продаж.
  2. Получите адрес контракта для NFT (testnet), чтобы принимать платежи и отправлять NFT пользователям в вашей сети.
  3. На текущем этапе вам потребуется средство для получения и отправки NFT. Можно использовать смарт-контракт для получения и отправки NFT.
  4. Разместите официальный анонс о вашей торговой площадке, чтобы больше пользователей узнали о ваших возможностях.
  5. Установите значение royalties (комиссии) для каждой сделки NFT, чтобы создатели NFT могли получать вознаграждение каждый раз, когда их предмет продается.
  6. Создайте смарт-контракт, который будет хранить информацию о NFT и владельцах. В этом контракте вы сможете добавить дополнительные функции, такие как чат и список покупок-продаж.
  7. Создайте каталог предметов (diamonds, тигров и другие), где будет храниться описание каждого NFT (metadata). Каталог можно сохранить на IPFS или в статической облачной папке.
  8. Запишите данные об объекте в ячейку данных (data cell) с помощью метода this.createDataCell. Здесь будут перечислены все необходимые детали, такие как название, описание и изображение.
  9. Установите бюджет (mintParams) для каждого NFT, чтобы пользователи с более низким бюджетом могли приобрести NFT по доступной цене.
  10. Создайте логику для отображения списка созданных NFT и их описания на вашей площадке. Для этого будет полезно использовать методы readdirSync и path.join для получения списка пикселей (отображение NFT) и метаданных (описание NFT).

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

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

Deploy sale contract

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

  1. Создайте маркетплейса для вашей коллекции NFT, где будут размещаться лоты на продажу.
  2. Сформируйте необходимые данные для продажи, включая информацию о каждом активе, его цену и условия сделки. Для этого необходимо использовать метод getgemssaledata, который собирает все данные и возвращает их в виде строкового значения.
  3. Создайте смарт-контракт продажи и передайте ему полученные данные, используя метод deploycontract. Данные должны быть представлены в формате JSON и содержать необходимые параметры, такие как адрес маркетплейса, коллекция активов и другие.
  4. После развертывания контракта, на его адресе появится множество методов для управления процессом продажи, такие как установка цен, смена условий сделки и т.д.
  5. Убедитесь, что контракт успешно развернут, проверив его адрес с помощью метода contract.getState() и сравнив его с ожидаемым адресом.
  6. После успешного развертывания контракта вы можете продолжить дальнейшую проработку механик продажи, добавляя новые функциональности и улучшая существующие.

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

Transfer item

Transfer item

Для действия "Transfer item" необходимо использовать смарт-контракты блокчейна TON. Это действие позволяет передать собственность объекта (item) от одного владельца (item owner) другому.

Стоит отметить, что TON предоставляет более широкие возможности в создании NFT проектов по сравнению с другими блокчейнами, такими как Ethereum. Для того чтобы выполнить действие "Transfer item", необходимо следовать инструкциям ниже:

  1. Создание смарт-контракта
  2. Подготовка файлов
  3. Авторизация
  4. Выполнение транзакции

Перечисленные действия будут подробно рассмотрены в следующем руководстве (tutorial). Однако, для понимания основного процесса, рассмотрим некоторые ключевые этапы:

Команда Описание
thisaddress Адрес текущего контракта
itemowneraddress Адрес владельца объекта (item owner)
description Описание объекта (item)
royalty Процент от продажи, который получит создатель объекта (item creator)

После выполнения всех необходимых шагов, можно осуществить транзакцию передачи объекта (item) от одного владельца (item owner) другому. При этом, указанная сумма будет переведена на счет нового владельца.

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

Кроме того, блокчейн TON автоматически выделяет определенный процент от суммы транзакции в качестве комиссии для поддержки сети и развития проекта. Этот процент рассчитывается на основе текущей величины газа (gas) и потребления ресурсов.

Таким образом, использование блокчейна TON позволяет максимально обезопасить процесс создания и передачи NFT объектов, избегая вмешательства спекулянтов и сохраняя неприкосновенность авторских прав на созданные произведения.

summary, usage of the TON blockchain for creating and transferring NFT items provides a secure and efficient way to manage ownership of digital assets. By using smart contracts and blockchain technology, it is possible to build decentralized marketplaces for buying and selling NFTs with minimal fees and maximum transparency.

In the nextcell weeks we will see a big wave of NFT related news as the TON blockchain is starting to gain traction and interest from creators and collectors around the world. If you are interested in learning more about how to create and transfer NFT items on the TON blockchain, make sure to bookmark thisaddress page and follow the latest developments in the space.

Conclusion

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

Кроме того, мы узнали, каким образом сообщения NFTItemTS используются только в процессе создания контента, а filepath подтверждает большинство профилей и бюджетов.

Одним из главных направлений при создании NFT проектов на блокчейне TON является мгновенная передача токенов и вход в различные хранилища. Кроме того, мы обсудили возможность написания контента в черновик и его хранение в commonContentURL.

Большинство NFT проектов на блокчейне TON используют смарт-контракты для подписки на комиссию и установки royaltyAmount.

Если вы хотите создать свой собственный NFT проект на блокчейне TON, вам необходимо решить, что хотите создать и к каким возможностям вы хотите иметь доступ. Затем вы можете использовать импорты FSPromises, чтобы инициализировать контракт и получить информацию о транзакции.

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

References

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

  • Тигры с файлами: На официальном сайте блокчейна TON вы можете ознакомиться с описанием тигров и их файлов.
  • Смарт-контракты: Смарт-контракты являются основой создания и работы с NFT токенами на блокчейне TON. Ознакомьтесь с документацией по смарт-контрактам, чтобы узнать о доступных методах и возможностях.
  • Методы и инициализация: При создании NFT токенов вы будете использовать методы и инициализацию смарт-контрактов. Посмотрите примеры их использования для более полного понимания.
  • Бюджет: Учтите, что создание NFT проекта на блокчейне TON может потребовать определенного бюджета. Рекомендуем заранее оценить затраты и распределить ресурсы соответствующим образом.
  • Токенизация: Для токенизации ваших NFT токенов вам может потребоваться использовать определенные методы и спецификации. Ознакомьтесь со стандартами и требованиями для успешной токенизации на блокчейне TON.
  • Получение данных: Для получения данных о владельце и файлах NFT токенов вы можете использовать методы, такие как itemowneraddress, данные файлов и receive.
  • Отправка и получение: Чтобы отправить NFT токены или получить их от других пользователей, вы будете использовать функции, такие как walletcontractsendtransfer и sendmodepay_gas_separately.
  • MintyTon: MintyTon - это интегрированное сообщество, где вы можете создавать и управлять своими NFT токенами на блокчейне TON. Ознакомьтесь с их официальным сайтом и ресурсами для получения большей поддержки.

Эти ресурсы помогут вам разобраться в процессе создания NFT проектов на блокчейне TON и решить возникающие проблемы с этим связанные. Будьте внимательны и не забывайте изучать новые материалы и технологии, чтобы всегда быть впереди!

About the author

Автором данной статьи является разработчик, специализирующийся на создании NFT проектов на блокчейне TON. Он имеет богатый опыт в разработке смарт-контрактов на TON, а также в области безопасности и проработки спецификаций NFT токенов.

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

Процесс создания NFT на блокчейне TON начинается с разработки смарт-контракта, который хранит данные о NFT токенах, включая их атрибуты и правила продажи. За создание и хранение смарт-контракта несет ответственность автор данной статьи.

Автор также создал собственную библиотеку для работы с атрибутами NFT токенов. Эта библиотека позволяет удобно работать с данными атрибутами и производить различные операции с ними, такие как кодировка и декодировка.

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

Однако, автор отмечает, что процесс создания NFT проекта на блокчейне TON может быть сложным и требовать понимания основных принципов блокчейна и смарт-контрактов. Также важно уделить внимание безопасности смарт-контрактов и использовать проверенные и надежные инструменты для разработки и деплоя контрактов.

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

Как устроены NFT на базе TON

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

Основой NFT на базе TON является комплект данных, называемый "words", который содержит метаданные о цифровом активе. Данные описывают особенности и атрибуты актива, включая его название, описание, изображения и другие характеристики.

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

Основным элементом смарт-контракта является текстовое поле "createcodecell", в котором содержится код для создания и инициализации NFT-активов. Этот код определяет структуру и правила работы с активами.

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

В текущем состоянии блокчейна TON каждому NFT-активу назначается уникальный идентификатор, который является ссылкой на данные актива. Каждый NFT-актив может иметь различные атрибуты и характеристики.

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

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

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

Создание NFT-активов на базе TON практически идентично созданию обычных цифровых активов. Пользователь выбирает тип актива, указывает его атрибуты, загружает изображения и метаданные.

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

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

Дальнейшее развитие и изменение NFT-активов может происходить благодаря использованию "trait_type" и "attributes". Эти элементы позволяют добавлять новые атрибуты и характеристики к активам, что делает их более уникальными и интересными.

Сумма комиссии за создание NFT-активов на базе TON может варьироваться в зависимости от платформы и некоторых других факторов. Чаще всего это процент от цены актива, который взимается с каждой транзакции.

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

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

Принцип работы NFT в TON

NFT (Non-Fungible Token) являются цифровыми активами на блокчейне TON, которые отличаются от традиционных криптовалют, таких как биткоин или эфириум. Каждый NFT имеет свой собственный уникальный идентификатор и неповторимые характеристики, которые отражают его ценность и уникальность.

Принцип работы NFT в TON основан на использовании контрактов и специально разработанных функций, которые позволяют создавать, продавать и обменивать NFT по средствам блокчейна.

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

После установки кошелька вы можете приступить к созданию своих собственных NFT. Для этого вам необходимо загрузить данные, которые будут описывать ваш NFT, такие как изображение, описание и другие характеристики. В блокчейн TON данные вашего NFT будут храниться на IPFS (InterPlanetary File System), что обеспечит надежность хранения и безопасность.

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

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

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

Основными преимуществами NFT в TON являются низкие комиссии за транзакции, быстрая скорость выполнения операций и отсутствие централизованного контроля. Эти факторы привлекают множество художников, музыкантов, коллекционеров и других людей, желающих создавать и торговать уникальными цифровыми активами.

Смарт-контракт NFT-коллекции

NFT (Non-Fungible Token) — это уникальный токен, который может быть создан на блокчейне TON и представляет собой цифровое представление определенного актива или владения, такого как изображение, видео или музыка.

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

Каждая NFT-коллекция может иметь свой уникальный смарт-контракт, который определяет параметры и правила работы с NFT-токенами в коллекции.

Смарт-контракт NFT-коллекции хранит информацию о каждом NFT-элементе в виде метаданных, включая название, описание, автора, медиафайлы и другие свойства. Кроме того, смарт-контракт содержит информацию о владельцах NFT-токенов и истории их передачи.

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

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

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

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

Создание, хранение и торговля NFT-токенами возможна только при наличии TON-кошелька и достаточного количества TON Coins. Подготовка к работе с NFT-коллекциями включает установку специальных приложений, таких как TonOS, TonDev и TonWallet.

Команда разработчиков TON блокчейна поддержала создание NFT-коллекций и разработала специализированные инструменты и библиотеки для облегчения создания и взаимодействия с NFT-токенами.

Направление NFT-технологий на блокчейне TON тесно связано с деятельностью частных разработчиков и стартапов, которые создают различные проекты, основанные на концепции NFT и уникальных цифровых активах.

Примеры существующих NFT-коллекций на блокчейне TON:

  • TON Pixel - коллекция пиксельных изображений, которые можно приобрести и использовать в качестве профиля в мессенджерах и чатах;
  • MintyTon - коллекция NFT-элементов, включающая в себя различные категории цифровых активов, такие как изображения, видео и музыка;
  • TONCoin - коллекция NFT-токенов, представляющих собой уникальные варианты криптовалюты TON Coin, которые можно использовать в играх или коллекционировать.

Создание и управление NFT-коллекциями на блокчейне TON позволяет разработчикам и художникам создавать уникальные и ценные цифровые активы, а владельцам дает возможность получать доход и наслаждаться эксклюзивным владением.

Тип данных Параметры
hash imagesIPFSHash
ссылка на адрес кошелька TON nftToSaleAddress
целое число mintingFee
целое число royaltyParams
строка nftName
строка nftDescription
строка nftAuthor

Чеканка

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

Основная задача чеканки – превратить обычные цифровые данные в NFT-элементы, которые могут быть куплены или проданы в блокчейн сети TON. Для этого необходимо использовать официальный клиент TON и специальные инструменты, предоставляемые различными сервисами и комьюнити блокчейн сообщества.

Процесс чеканки включает в себя следующие шаги:

  1. Создание смарт-контракта, который будет обеспечивать уникальность и хранение NFT-элементов.
  2. Выбор типа контента, который будет использоваться для создания NFT-элементов. Это может быть текст, изображения, аудио или видео материалы.
  3. Загрузка контента на блокчейн сеть TON и его хранение с использованием специальных сервисов, таких как Coalus или Pinata.
  4. Процесс монетизации NFT-элементов, включая определение стоимости и условий продажи.
  5. Чеканка каждого отдельного NFT-элемента с использованием уникального класса и seqno.
  6. Распределение NFT-элементов владельцам путем отправки на их адреса.

Важно отметить, что процесс чеканки может различаться в зависимости от текущего состояния рынка и спецификаций конкретного NFT-проекта. Чтобы узнать более подробную информацию о том, как создать свой NFT проект на блокчейне TON, следует внимательно ознакомиться с документацией и руководствами, предоставляемыми официальным комьюнити и сервисами разработчиков.

В целом, чеканка – это мощный инструмент, который позволяет создать и распространить уникальные и ценные NFT-элементы на блокчейне TON. Благодаря ей пользователи смогут получать и продавать уникальные цифровые активы, а создатели контента смогут монетизировать свои произведения и расширить свою аудиторию.

Смарт-контракт NFT-элемента

Смарт-контракты стали первым и основным инструментом для создания и работы с NFT-элементами на блокчейне TON. Данный контракт является примером того, как можно создать NFT-элементы на основе смарт-контракта.

Смарт-контракт состоит из нескольких функций и переменных, которые определены в самом контракте. Некоторые из них включают:

  • contract: определяет сам контракт
  • transactions: хранит информацию о всех транзакциях, связанных с NFT-элементом
  • owners: содержит информацию о владельцах NFT-элемента
  • metadataimage: хранит изображение метаданных NFT-элемента
  • marketplacefee: определяет комиссию, которую получает маркетплейс при каждой продаже NFT-элемента

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

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

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

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

Пример смарт-контракта для NFT-элемента на блокчейне TON может выглядеть так:

  1. Создать смарт-контракт и определить его функции и переменные.
  2. Создать файл метаданных с описанием и изображением элемента.
  3. Привязать json-строку к NFT-элементу, используя функцию jsonstringifymetadata.
  4. Добавить новый элемент в маркетплейс с помощью функции openwallet, указав владельца и стоимость элемента.
  5. Создать транзакцию для перевода NFT-элемента другому владельцу с помощью функции transferelement.
  6. Совершить покупку NFT-элемента от другого владельца с помощью функции purchaseelement.

Таким образом, смарт-контракты NFT-элементов являются важной частью проекта и блокчейна TON. Они позволяют создавать, хранить и передавать цифровые активы с уникальными свойствами. Рекомендуем владельцам проектов и командам разработчиков ознакомиться с возможностями и функционалом смарт-контрактов NFT-элементов для эффективного использования их в своих проектах.

Расширения стандарта

В самом начале создания блокчейна TON стандарт NFT содеражал относительно простой набор полей, таких как name, description, image, sender, royalty_info и т.д. Однако, с развитием проекта и появлением новых требований со стороны пользователей, возникла необходимость в расширении стандарта.

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

В дальнейшем стандарт был расширен еще несколькими полями, такими как attr1, attr2, attr3 и т.д., где каждое поле имеет своё значение. Также было добавлено поле optional_field, которое позволяет добавлять дополнительные данные в NFT при необходимости. Расширение стандарта также каснулось полей metadata.image и metadata.animation, в которых теперь можно указывать ссылку на изображение или анимацию, соответственно.

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

Для определения доли вознаграждения, которую получает создатель NFT, было добавлено поле royalty_percentage. В нём можно указать процент от стоимости NFT, который будет выплачиваться владельцу при его продаже. Это является важным механизмом для привлечения к созданию NFT и поддержке культурного контента.

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

Одно из важных дополнений к стандарту TON NFT касается использования смарт-контрактов. Теперь можно указать в NFT-метаданных ссылку на смарт-контракт, который выполняет логику NFT. Это позволяет создавать более сложные и интересные NFT проекты, где вся логика хранится в смарт-контракте, а NFT служит только интерфейсом для взаимодействия с контрактом.

Также стоит отметить, что стандарт TON NFT поддерживает изображения в формате Lottie. Lottie - это JSON-формат анимаций, который позволяет создавать маленькие и легкие анимации с поддержкой различных эффектов. Использование Lottie-анимаций в NFT позволяет создавать более динамичные и привлекательные проекты.

Важным аспектом создания NFT на блокчейне TON является возможность автоматической выплаты доната. Для этого было добавлено поле donation_info, в котором можно указать адрес смарт-контракта для автоматической отправки доната при продаже NFT.

Также стандарт TON NFT имеет свой набор методов (геттеров), которые позволяют получать информацию о NFT. Например, метод get_name() возвращает имя NFT, метод get_owner() возвращает текущего владельца, а метод get_price() возвращает текущую цену NFT.

В случае необходимости внесения изменений в стандарт TON NFT, developer-сообщество может использовать особые операции (op-code) по изменению стандарта. Это помогает обеспечить согласованность изменений и облегчает внесение новых функций в стандарт.

Выводя всё вышесказанное, можно сказать, что стандарт TON NFT поддерживает самые распространенные поля и функции, необходимые для создания NFT проектов. Однако, разработчики всегда могут добавить свои расширения и создать собственные методы и поля, чтобы реализовать свои уникальные идеи.

Расширение NFTRoyalty

В предыдущей статье мы рассмотрели базовый процесс создания NFT проектов на блокчейне TON. Здесь мы рассмотрим расширение NFTRoyalty, которое добавляет механизмы поиска и покупки NFT-предметов с использованием токена NFTRoyalty.

Для начала нам понадобится установить библиотеку `web3.js` для работы с блокчейном Ethereum и установить соответствующие зависимости:

const { expect } = require('chai');

const { ethers } = require('hardhat');

const Tezos = require('tezos-core');

let nftr;

let accounts;

function addOwner(address, status, name) {

nftr.addOwner(address, status, name).then(function (tx) {

console.log(tx);

});

}

Для работы с NFT-предметами необходимо создать коллекцию:

function createNFTCollection(name, description, maximum_supply, sale, minting_fee, coins, collection_start) {

nftr.createNFTCollection(name, description, maximum_supply, sale, minting_fee, coins, collection_start).then(function (tx) {

console.log(tx);

});

}

Если вы хотите продать свои NFT-предметы, вам необходимо указать адрес, на который будут направлены средства от продажи:

function setNFTToSaleAddress(address) {

nftr.setNFTToSaleAddress(address).then(function (tx) {

console.log(tx);

});

}

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

function setNFTRoyaltyAmount(amount) {

nftr.setNFTRoyaltyAmount(amount).then(function (tx) {

console.log(tx);

});

}

Для продажи NFT-предмета необходимо вызвать следующий метод:

function sellNFT(id, price) {

nftr.sellNFT(id, price).then(function (tx) {

console.log(tx);

});

}

Теперь, когда мы разобрали все необходимые функции, давайте посмотрим на пример использования NFTRoyalty:

async function main() {

nftr = await ethers.getContractFactory("NFTRoyalty");

accounts = await ethers.getSigners();

// Создание коллекции

createNFTCollection("My Collection", "My NFT Collection", 100, true, 0.01, 'ETH', 1652400000);

// Установка адреса для продажи

setNFTToSaleAddress(accounts[1].address);

// Установка процента авторских вознаграждений

setNFTRoyaltyAmount(10);

// Продажа NFT-предмета

sellNFT(1, 0.1);

}

main().catch((error) => {

console.error(error);

process.exitCode = 1;

});

Таким образом, расширение NFTRoyalty позволяет удобно создавать и продавать NFT-предметы на блокчейне TON, обещая высокую безопасность и прозрачность транзакций. Сообщество разработчиков активно работает над дальнейшим улучшением и расширением функционала данного проекта.

Расширение NFTEditable

Расширение NFTEditable - это новая возможность для создания и редактирования NFT проектов на блокчейне TON. Оно позволяет пользователям контролировать свои токены и изменять их свойства и характеристики.

Возможности расширения NFTEditable:

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

Как это работает?

  1. Пользователь создает свой NFT проект на платформе TON.
  2. Пользователь устанавливает расширение NFTEditable и указывает ключи доступа к своему проекту.
  3. Расширение считывает метаданные NFT из блокчейна TON и отображает их пользователю.
  4. Пользователь редактирует свои токены, изменяет их свойства и сохраняет изменения.
  5. Расширение отправляет транзакцию на блокчейн TON для сохранения изменений.

Примеры использования расширения NFTEditable:

Пример 1: Пример 2:
  • Пользователь создает проект "Мои утки" на маркетплейсе NFT.
  • Пользователь загружает изображения и описание своих уток.
  • Пользователь устанавливает комиссию 10% и правило распределения 5% для правообладателей.
  • Пользователь приобретает смарт-контракт для уток и настраивает его поведение.
  • Пользователь создает проект "Аниме арт" на маркетплейсе NFT.
  • Пользователь добавляет характеристики для своих аниме-артов, такие как жанр, автор и год создания.
  • Пользователь указывает комиссию 5% и правило распределения 2% для правообладателей.
  • Пользователь создает смарт-контракт, который позволяет покупателям получать скидки при покупке нескольких артов.

Расширение NFTEditable настоятельно рекомендуется к использованию для всех создателей NFT проектов на блокчейне TON. Оно дает пользователю полный контроль над своими токенами и позволяет успешно управлять их свойствами и продажами.

Расширение NFTUpgradable

NFTUpgradable - это open-source библиотека для разработки расширяемых NFT (Non-fungible token) проектов на блокчейне TON. Расширение позволяет добавлять дополнительную функциональность к существующим NFT проектам без необходимости изменять основной контракт.

Одной из главных особенностей NFTUpgradable является возможность создания роялти (отчисления автору) при каждой сделке с токеном. Это позволяет создавать NFT проекты, в которых автор получает процент от каждой последующей продажи токена.

Создание NFT проекта с использованием NFTUpgradable осуществляется при помощи функции minting, которая позволяет создавать новые токены и привязывать к ним метаданные. Пользователь может загружать свои изображения или использовать готовые решения (например, аватарки). Все метаданные хранятся в блокчейне TON.

Для обеспечения безопасности и контроля за транзакциями, NFTUpgradable использует смарт-контракты и алгоритмы шифрования. Метаданные и хранение токенов защищены с помощью secret key, что позволяет предотвратить несанкционированный доступ к информации.

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

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

Таким образом, NFTUpgradable позволяет разработчикам создавать успешные NFT проекты, которые всегда остаются актуальными и могут легко расширяться. Благодаря использованию блокчейна TON, проекты на NFTUpgradable получают высокую степень безопасности и прозрачности, а также низкие комиссии за транзакции.

Формат хранения контента

Формат хранения контента

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

Для хранения контента на TON используется интеграция с IPFS (InterPlanetary File System) - протоколом распределенной файловой системы. IPFS позволяет распределенно хранить и обмениваться данными, обеспечивая эффективность и безопасность.

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

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

Некоторые проекты в качестве формата хранения контента могут использовать JSON или другие структуры данных. Например, в поле "traits" хранятся дополнительные характеристики NFT, такие как цвет, форма, размер и т.д.

Для доступа к контенту NFT обычно используется адрес IPFS-узла. После загрузки контента на IPFS, его адрес сохраняется в смарт-контракте NFT, который затем используется для получения доступа к контенту.

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

Таким образом, формат хранения контента в NFT проектах на блокчейне TON обеспечивает высокую степень безопасности и устойчивость к любым изменениям блокчейна или смарт-контракта.

1 Оффчейн

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

  • Процесс создания NFT проектов на блокчейне TON может происходить каждый день. Обычно это начинается с создания текстового файла, содержащего описание проекта, его название и другие детали.
  • Далее, проект сохраняется в отдельной папке, которая будет использоваться для хранения всех файлов, связанных с проектом.

Примечательно то, что на этом этапе создания NFT проектов на блокчейне TON владение NFT токенами еще не передается. Это процесс только подготовки NFT для дальнейшей интеграции в цифровую экосистему.

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

2 Ончейн

Другой интересной особенностью блокчейна TON является возможность создания NFT проектов на его основе. Процесс создания проектов на блокчейне TON осуществляется в рамках платформы OnChain.

В основе OnChain лежит смарт-контракт, который создается с использованием адреса типа address. При создании смарт-контракта необходимо учитывать текущую ситуацию и требуемые расширения и возможности.

На платформе OnChain также есть возможность реализации проектов, которые уже существуют на других блокчейнах, например, на блокчейне Tezos. Такой подход дает возможность избежать необходимости полностью переписывать существующий проект, а просто перенести его на блокчейн TON.

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

Клиент включает в себя информацию о проверке и хранении данных, а также осуществляет следующие операции:

  1. Создание пустого смарт-контракта с помощью метода state.init.
  2. Загрузка необходимых файлов и изображений, которые будут использоваться в проекте. Для этого используется метод file.upload, который принимает commonContentUrl, filename и imagesIpfsHash.
  3. Определение платформенного сбора, который будет взиматься с продажи каждого NFT. Здесь важно учитывать актуальные комиссии, установленные платформой. Для этого используется метод itemIndex.increase с параметром marketplaceFee.
  4. Определение значений смарт-контракта: contractAddress0, itemOwnerAddress, и royaltyParams.
  5. Определение параметров авторских вознаграждений. Здесь рекомендуется использовать метод itemIndex.increase с параметрами royaltyAmount, royaltyFactor и after.
  6. После завершения всех необходимых операций проект готов к использованию.

Таким образом, можно сказать, что процесс создания NFT проекта на блокчейне TON с помощью OnChain является достаточно простым и интуитивно понятным, благодаря подробной документации и примерам.

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

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

Новое решение рекомендуется использовать для создания коллекции NFT, так как оно предоставляет максимальную гибкость и производительность при работе с смарт-контрактами на блокчейне TON.

Смарт-контракты маркетплейса продажи и аукционов

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

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

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

Одна из основных функций смарт-контракта - это возможность создания и управления продажами и аукционами NFT-токенов на маркетплейсе. Для этого используются различные средства программирования, такие как переменные, условия, циклы и т.д.

Программный код смарт-контракта может содержать следующие функции:

  1. state_init - инициализация состояния контракта при его развертывании;
  2. create_code_cell - создание ячейки с программой контракта;
  3. contract_address_0 - адрес контракта;
  4. messages - список сообщений, которые могут быть отправлены контракту;
  5. send_mode_pay_gas_separately - указание режима доставки токенов и оплаты за газ;
  6. content - определение типа и содержимого NFT-токенов;
  7. mint_params - параметры создания NFT-токенов;
  8. promises - список обещаний, которые должны быть выполнены при выполнении определенных условий;
  9. functions - определение дополнительных функций, которые будут выполняться контрактом;
  10. deployment_logic - логика развертывания контракта.

Для взаимодействия с контрактом необходимо использовать кошелек, который поддерживает стандарт TON. На данном этапе развития блокчейна TON, поддержало расширения Durov's Free TON (DFSPromises) кошелька, который разработан для работы с маркетплейсом NFT.

Создание и продажа NFT-токенов на маркетплейсе происходит следующим образом:

  1. Автор контента загружает файл с оригинальным контентом на маркетплейс.
  2. Авторизуется в кошельке и указывает параметры продажи (цену, тип продажи, сроки).
  3. Создается смарт-контракт для продажи NFT-токена.
  4. Указывается адрес контракта и параметры монетизации (процент для автора и маркетплейса).
  5. Пользователь хотите приобрести NFT-токен, выполняет оплату в блокчейне.
  6. Смарт-контракт проверяет данные и создает NFT-токен, который передается пользователю.

Аукцион проводится следующим образом:

  1. Автор загружает контент на маркетплейс и указывает стартовую цену и продолжительность аукциона.
  2. Пользователь хотите участвовать в аукционе, отправляет заявку с предложенной ценой.
  3. Смарт-контракт собирает все заявки и определяет выигрышного участника аукциона.
  4. После окончания аукциона NFT-токен достается выигравшему участнику.

Таким образом, смарт-контракты маркетплейса на блокчейне TON предоставляют удобное и безопасное решение для продажи и аукционов NFT-токенов. Они автоматизируют большую часть процессов и обеспечивают защиту прав собственности на цифровые активы.

Финансовый потолок...пробьём?