{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Yuriy Gavrilov: posts tagged Greenfield",
    "_rss_description": "Welcome to my personal place for love, peace and happiness 🤖 Yuiry Gavrilov",
    "_rss_language": "en",
    "_itunes_email": "yvgavrilov@gmail.com",
    "_itunes_categories_xml": "",
    "_itunes_image": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic-square@2x.jpg?1643451008",
    "_itunes_explicit": "no",
    "home_page_url": "https:\/\/gavrilov.info\/tags\/greenfield\/",
    "feed_url": "https:\/\/gavrilov.info\/tags\/greenfield\/json\/",
    "icon": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008",
    "authors": [
        {
            "name": "Yuriy Gavrilov - B[u]g - for charity.gavrilov.eth",
            "url": "https:\/\/gavrilov.info\/",
            "avatar": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008"
        }
    ],
    "items": [
        {
            "id": "124",
            "url": "https:\/\/gavrilov.info\/all\/hranenie-dannye-v-seti-greenfield\/",
            "title": "Хранение данные в сети Greenfield + NFT",
            "content_html": "<p>Сегодня напишу как хранить данные в сети Greenfield и сделать смарт контракт на NFT и неординарный способ проверить это все.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/greenfield.png\" width=\"1600\" height=\"900\" alt=\"\" \/>\n<\/div>\n<p>Про сеть Greenfield я узнал в прошлом году как только она напустилась. и тут же попробовал. Любопытная штука так как предоставляет возможность работать без почтового акаунта, а напрямую из кошелька в Metamask.<\/p>\n<p>Немного теории <a href=\"https:\/\/academy.binance.com\/ru\/articles\/what-is-bnb-greenfield\">тут<\/a>. Сеть Greenfield – децентрализованная сеть хранения контента. Почти как s3, но в блокчейне. Технически он она может быть полезна в новых механиках взаимодействия. Например, срок хранения NFT зависит от его просмотра, чем большое смотрят контент, тем дольше оно хранится или например можно взымать плату в блокчене и автоматически выдавать дотупы тем кто оплатил. Удобно, то что это наверное можно запрограммировать в смарт контракте, но я пока не знаю как именно. <a href=\"https:\/\/github.com\/bnb-chain\/greenfield\">Тут можно посмотреть код<\/a>. Есть некоторые сомнения конечно, что все такие это такой же s3 но поверх него некая нашлепка в блокчейне с хранением метаданных и хочется чего то более солидного, какой то магии без центрального звена, но может это просто мечты. Кстати, изначально она меня привлекала запуском ноды, но недавно узнал, что надо 500 bnb застейкать, а это где-то 300к по текущему курсу. В общем, до тех пор пока я нищеброд, надо забыть о ноде и идти на завод.<\/p>\n<p>Вот что пишет о сети чатгпт:<\/p>\n<p>Binance Smart Chain (BSC) — это лишь одна из инициатив Binance в области блокчейн-технологий. Однако также была анонсирована сеть под названием <b>Greenfield<\/b>, которая является частью более широкой экосистемы Binance. Здесь я опишу, что такое Greenfield и для чего данная сеть может быть применима.<\/p>\n<h4>Что такое сеть Greenfield от Binance?<\/h4>\n<p><b>Greenfield<\/b> — это децентрализованная вычислительная сеть, созданная и управляемая Binance, которая ориентирована на предоставление высокопроизводительных, масштабируемых и безопасных решений для различных децентрализованных приложений (dApps) и финансовых технологий.<\/p>\n<h4>Основные характеристики и возможности<\/h4>\n<ol start=\"1\">\n<li><b>Масштабируемость<\/b>:\n<ul>\n  <li>Greenfield обещает высокую пропускную способность для поддержки большого количества транзакций и пользователей.<\/li>\n  <li>Использование различных методов оптимизации и распределенных вычислений помогает обеспечить необходимую масштабируемость.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Безопасность<\/b>:\n<ul>\n  <li>Уровень безопасности обеспечивается сочетанием симметричных и асимметричных криптографических методов.<\/li>\n  <li>Включены программы безопасности и аудиты для систематического выявления уязвимостей.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Совместимость<\/b>:\n<ul>\n  <li>Greenfield поддерживает множество различных протоколов и стандартов, что делает её совместимой с существующими децентрализованными приложениями.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Экономическая эффективность<\/b>:\n<ul>\n  <li>Оптимизированное использование узлов и ресурсов позволяет значительно снизить операционные затраты.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Возможное применение сети Greenfield<\/h4>\n<ol start=\"1\">\n<li><b>Децентрализованные приложения (dApps)<\/b>:\n<ul>\n  <li>Greenfield может использоваться для развертывания и управления децентрализованными приложениями, такими как DeFi-протоколы, платформы для обмена NFT и социальные сети.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Финансовые технологии (FinTech)<\/b>:\n<ul>\n  <li>Подходит для создания децентрализованных финансовых продуктов, таких как кредитные платформы, системы инвестиций и страхования.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>IoT и умные города<\/b>:\n<ul>\n  <li>Greenfield может применяться в Интернете вещей (IoT) для управления устройствами и сбора данных в реальном времени.<\/li>\n  <li>В умных городах сеть может быть использована для управления инфраструктурой и службами.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Цифровое управление данными<\/b>:\n<ul>\n  <li>Может быть использована для создания безопасных и прозрачных систем управления данными и идентификацией.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"5\">\n<li><b>Игровая индустрия<\/b>:\n<ul>\n  <li>Greenfield также может поддерживать разработку децентрализованных игровых платформ и игровых токенов.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Преимущества использования сети Greenfield<\/h4>\n<ul>\n<li><b>Высокая производительность<\/b>: Обеспечивает нужный уровень масштабируемости и быстрой обработки транзакций.<\/li>\n<li><b>Безопасность<\/b>: Разработана с высокой степенью безопасности, что делает её надёжным выбором для критически важных приложений.<\/li>\n<li><b>Совместимость и интеграция<\/b>: Позволяет легко интегрировать текущие системы и протоколы.<\/li>\n<li><b>Экономия затрат<\/b>: Эффективное использование ресурсов способствует снижению издержек.<\/li>\n<\/ul>\n<h4>Заключение<\/h4>\n<p>Сеть Greenfield от Binance представляет собой мощную и многообещающую платформу для развития децентрализованных приложений и финансовых технологий. Её широкие возможности и особенности делают её подходящей для множества применений, от финансовых технологий до Интернета вещей и игровой индустрии.<\/p>\n<p>Для работы с сетью я почему то сразу выбрал утилиту командной строки. <a href=\"https:\/\/github.com\/bnb-chain\/greenfield-cmd\">Ее можно собрать из коду тут<\/a>. Настроить ее было не очень очевидным, фактически ей нужно скормить ключ от кошелька, произвести пару настроек и закинуть в мост некоторое количество bnb на баланс, так как оплата в сети производится токенами bnb. Мне кстати это не очень нравится, но видимо другого пути нету пока.<\/p>\n<p>Кстати есть еще хранилка в блокчейне storj, но сейчас рассказ не про нее, да и там нет такого многообразия управления контентом и. доступом как в Greenfield. Фактически там просто хранения и регистрация по почтовому ящику, но оплатить место можно токенами storj. Вот ее ноду я как раз и запустил, благо она не Токая требовательная к стейкингу.<\/p>\n<p>Настраиваем cli Greenfield:<\/p>\n<p><a href=\"https:\/\/docs.bnbchain.org\/greenfield-docs\/docs\/guide\/getting-started\/greenfield-command\">Тут<\/a> есть подробная инструкция.<\/p>\n<p>Либо можно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">git clone https:\/\/github.com\/bnb-chain\/greenfield-cmd.git\ncd greenfield-cmd\n# Find the latest release here: https:\/\/github.com\/bnb-chain\/greenfield-cmd\/releases\ngit checkout -b branch-name v1.0.2\nmake build\ncd build\n.\/gnfd-cmd -h<\/code><\/pre><p>Потом так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/\/ import key and generate a keystore file \ngnfd-cmd account import key.txt<\/code><\/pre><p>Генерируем аккаунт:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/\/ new account and generate keystore key.json\ngnfd-cmd account account new<\/code><\/pre><p>Посмотреть аккаунт можно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/\/ list the account info and keystore path\ngnfd-cmd account ls\n\n\/\/ display the encrypted keystore or the private key \ngnfd-cmd account export --unarmoredHex --unsafe<\/code><\/pre><p>Ну вы далее знаете, что делать. все сохраняем, храним надежно и т.д.<\/p>\n<p>Приступаем к работе и создаем бакет:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">gnfd-cmd bucket create gnfd:\/\/testbucket<\/code><\/pre><p>в моем случае я сделал бакет data и папку nft.<\/p>\n<p>вот так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">(base) yuriygavrilov@MBP-Yuriy build % .\/gnfd-cmd object put anton.json gnfd:\/\/data\/nft\/anton.json\nPlease enter the passphrase now:\nobject nft\/anton.json created on chain \ntransaction hash:  068B3F225FED2AD74161D8ED370D809B10E58DC2B3F0EA5E809BAD19E43B5442\nuploading progress: 100.00% [ 878B \/ 878B ], rate: 1000.28 Byte\/s    \nsealing...\nupload nft\/anton.json to gnfd:\/\/data\/nft\/anton.json<\/code><\/pre><p>Я не нашел как посмотреть публичную ссылку в командной строке, но это можно сделать в сервисе<br \/>\n<a href=\"https:\/\/dcellar.io\/\">dcellar<\/a>.<\/p>\n<p>Вот так это выглядит:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/dcellar.png.jpg\" width=\"2560\" height=\"1318\" alt=\"\" \/>\n<\/div>\n<p>ну и еще загрузим на будущее саму фотку так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">.\/gnfd-cmd object put anton.jpg gnfd:\/\/data\/nft\/anton.jpg<\/code><\/pre><p>и да, сам json я готовил по стандарту erc-721, тут можно почитать про него подробнее: <a href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-721\">https:\/\/eips.ethereum.org\/EIPS\/eip-721<\/a><\/p>\n<p>Взял там ключевое, формат файла метаданных:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">{&quot;name&quot;: &quot;Anton Gusev&quot;, &quot;description&quot;: &quot;Anton Gusev is the founder of the WEB 3.0 ecosystem CLC (mobile applications and blockchain projects), an NFT collector. He is an expert in launching startups and developing businesses (IT, e-commerce). He runs his own YouTube channel about management, investments, and technologies. Anton is a speaker and enthusiast in the field of cryptocurrencies, metaverses, neural networks, and modern technologies. He hosts YouTube and Telegram channels called - Duck Tales. He is also the author of articles in business publications, a consultant on launching new projects and market entry strategies. Anton is a writer (his novel is called - Fish Always Swim to the Right), a producer, a designer of stories and characters, and a fan of animation (especially Japanese).&quot;, &quot;image&quot;: &quot;https:\/\/greenfield-sp.defibit.io:443\/view\/data\/nft\/anton.jpg&quot;}<\/code><\/pre><p>Теперь идем дальше, нужно научится делать смарт контракт. Было не просто, кучу всего надставить локально, настраивать окружения и т.д. но в итоге я нашел отличный сервисы и справился проще и быстрее.<\/p>\n<p>Нам понадобиться <a href=\"https:\/\/wizard.openzeppelin.com,\">https:\/\/wizard.openzeppelin.com,<\/a> <a href=\"https:\/\/remix.ethereum.org\">https:\/\/remix.ethereum.org<\/a> и еще, но не обязательно <a href=\"https:\/\/www.alchemy.com\">https:\/\/www.alchemy.com<\/a><\/p>\n<p>openzeppelin – поможет составить контракт<br \/>\nremix – задеплоить контракт<br \/>\nalchemy – мне пригодилась для создания api ключей и написания js приложения для тестирования с помощью нейронки gpt4o. Кстати справилась хорошо, но были ошибки. с зависимостями в силу изменений и пришлось чуть чуть поправить код и импорты.<\/p>\n<p>Заходим в визард для создания контракта:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Smart-contract.png.jpg\" width=\"2560\" height=\"1149\" alt=\"\" \/>\n<\/div>\n<p>Код получился примерно такой:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/\/ SPDX-License-Identifier: MIT\n\/\/ Compatible with OpenZeppelin Contracts ^5.0.0\npragma solidity ^0.8.20;\n\nimport &quot;@openzeppelin\/contracts@5.0.2\/token\/ERC721\/ERC721.sol&quot;;\nimport &quot;@openzeppelin\/contracts@5.0.2\/token\/ERC721\/extensions\/ERC721Burnable.sol&quot;;\nimport &quot;@openzeppelin\/contracts@5.0.2\/access\/Ownable.sol&quot;;\n\ncontract AntonGussev is ERC721, ERC721Burnable, Ownable {\n    constructor(address initialOwner)\n        ERC721(&quot;Anton Gussev&quot;, &quot;NFT&quot;)\n        Ownable(initialOwner)\n    {}\n\n    function _baseURI() internal pure override returns (string memory) {\n        return &quot;https:\/\/greenfield-sp.defibit.io\/view\/data\/nft\/anton.json&quot;;\n    }\n\n    function safeMint(address to, uint256 tokenId) public onlyOwner {\n        _safeMint(to, tokenId);\n    }\n}<\/code><\/pre><p>Далее переходим в remix и компилируем<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/remix-compile.png\" width=\"2254\" height=\"930\" alt=\"\" \/>\n<\/div>\n<p>Далее переходим в деплой, указываем сеть Sepolia и первоначального владельца.<br \/>\nТеперь можно жать деплой.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/remix-deploy.png\" width=\"2226\" height=\"1092\" alt=\"\" \/>\n<\/div>\n<p>Я подключался из метамаска и там надо будет подтвердить транзакцию из него.<br \/>\nПосле чего reemix выдаст лог и ссылку на транзакцию.<\/p>\n<p>У меня уже есть контракт поэтому я не буду новый делать.<\/p>\n<p>После успешного деплоя нужно вызвать функцию минта NFT из него.<br \/>\nДля этого находим функцию и делаем транзакцию<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/remix-mint.png\" width=\"740\" height=\"1392\" alt=\"\" \/>\n<\/div>\n<p>Лог выглядит так:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/remix-transact.png\" width=\"672\" height=\"148\" alt=\"\" \/>\n<\/div>\n<p>Можно переходить по ссылке и смотреть ее<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/ethersscan-nft-mint.png\" width=\"2152\" height=\"1562\" alt=\"\" \/>\n<\/div>\n<p>Далее можно заходить на OpenSea и смотреть, что вышло:<\/p>\n<p><a href=\"https:\/\/testnets.opensea.io\/collection\/anton-gusev\">https:\/\/testnets.opensea.io\/collection\/anton-gusev<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/OpenSea-nft.png.jpg\" width=\"2560\" height=\"1234\" alt=\"\" \/>\n<\/div>\n<p>И вот тут у меня было сложности как видите. или точнее не видите.<br \/>\nПервый раз я что то накосячил и картинки были не видны как и тут четвертая:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/empty-nft.png\" width=\"1616\" height=\"1556\" alt=\"\" \/>\n<\/div>\n<p>Я не знал, что делать и как проверить. В интернете писали, что тестовый opensea не поддерживает картинки, а чеканить без гарантии в основной сети я не хотел. Это стоило около 50 баксов без минта.<\/p>\n<p>В общем я решил спросить сеть и написать прогу для теста NFT.<\/p>\n<p>Нейронка выдала примерно это:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">require('dotenv').config();\nconst axios = require('axios');\nconst { ethers, JsonRpcProvider } = require('ethers');\n\n\/\/ Ensure the ALCHEMY_API_KEY is loaded properly\nif (!process.env.ALCHEMY_API_KEY) {\n    throw new Error(&quot;Missing ALCHEMY_API_KEY environment variable&quot;);\n}\n\nconst provider = new JsonRpcProvider(`https:\/\/eth-sepolia.g.alchemy.com\/v2\/${process.env.ALCHEMY_API_KEY}`);\nconst contractAddress = '0x084cc7deda8cd1dc0051362ed514d510a0e65225';\nconst abi = [\n    &quot;function tokenURI(uint256 tokenId) external view returns (string memory)&quot;\n];\n\nconst contract = new ethers.Contract(contractAddress, abi, provider);\n\nasync function getTokenMetadata(tokenId) {\n    try {\n        const tokenURI = await contract.tokenURI(tokenId);\n        console.log(&quot;Token URI:&quot;, tokenURI);\n\n        const metadataResponse = await axios.get(tokenURI);\n        const metadata = metadataResponse.data;\n        console.log(&quot;Metadata:&quot;, metadata);\n\n        return metadata;\n    } catch (error) {\n        console.error(&quot;Error fetching token metadata:&quot;, error);\n    }\n}\n\nconst tokenId = 4;\ngetTokenMetadata(tokenId);<\/code><\/pre><p>ну и то, что нужно поставить:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">npm install ethers\nnpm install dotс\nnpm install axios\n\nmkdir nft-sepolia\ncd nft-sepolia\nnpm init -y\ntouch fetchNFT.js\ntouch .env<\/code><\/pre><p>Код выше я уже подредактировал на мой контракт и токен id 4.  Для проверки текущего минта.<br \/>\nЕще были и другие попытки, но я выбрал эту так как нужен API ключ, а ключ Alchemy мне легко достался.<br \/>\nв файл .env нужно прописать ключ api “ALCHEMY_API_KEY=XXXXX” Полученный на из аккаунта <a href=\"https:\/\/www.alchemy.com\">https:\/\/www.alchemy.com<\/a><\/p>\n<p>Теперь вроде все, можно проверять.<\/p>\n<p>Запускаем...<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">node fetchNFT.js<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/node-nft-check1.png\" width=\"2220\" height=\"344\" alt=\"\" \/>\n<\/div>\n<p>Класс,  видно, что работает.. и цвет зеленый, значит json формат хороший.<br \/>\nВот так я и нашел багу первую, у меня вывод был не зеленый. А у других NFT зеленый. Оказалось дело было в квотировании кавычками внутри текста. Пришлось убрать “ и заменить их просто дефисом.<\/p>\n<p>Но почему не видно картинку на OpenSea все же?<\/p>\n<p>А наше еще зайти на нее и нажать обновление метаданных тут:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/refresh-nft-meta.png.jpg\" width=\"2560\" height=\"1340\" alt=\"\" \/>\n<\/div>\n<p>Жмем... ждем... иии....<\/p>\n<p>Магия не происходит)))  в этот раз я где то еще накосячил. ( контракт не тот указал блин 🙈🙈🙈, но когда это писал этого я еще не знал :) )<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Error-this-time.png\" width=\"2222\" height=\"1072\" alt=\"\" \/>\n<\/div>\n<p>А прошлый лог оказался от другого токен id.<\/p>\n<p>Вот, точно. BaseURI и TokenID совмещаются это есть в спецификации контракта и можно проверить через вызов контракта как на картинке:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/nft-tokenid-error.png\" width=\"620\" height=\"1512\" alt=\"\" \/>\n<\/div>\n<p>В общем кидаем еще один json чик с id 4 и должно заработать...<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">(base) yuriygavrilov@MBP-Yuriy build % .\/gnfd-cmd object put anton.json gnfd:\/\/data\/nft\/anton.json4\nPlease enter the passphrase now:\nobject nft\/anton.json4 created on chain \ntransaction hash:  CB93C2CF1EF22DBAEF4A99F32893D2342BE2FD762EA7D832EC8C31BD74036E8A\nuploading progress: 100.00% [ 878B \/ 878B ], rate: 1.01 KB\/s    \nsealing...\nupload nft\/anton.json4 to gnfd:\/\/data\/nft\/anton.json4<\/code><\/pre><p>Вот,  теперь норм должно быть,  проверяем:<\/p>\n<p>Еще надо обновить мету на OpenSea...<\/p>\n<p>И проверим наш текущий id через наш скрипт<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">node fetchNFT.js<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Node-nft-check2.png\" width=\"2218\" height=\"316\" alt=\"\" \/>\n<\/div>\n<p>Все! 🥳🥳🥳<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/nft-done.png.jpg\" width=\"2560\" height=\"1531\" alt=\"\" \/>\n<\/div>\n<p>Теперь можно продавать Антону :)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/nft-sale.png\" width=\"1518\" height=\"776\" alt=\"\" \/>\n<\/div>\n<p>🤑🤑🤑🤑🤑🤑<\/p>\n<p>На что еще можно обратить внимание при выборе хранения:<\/p>\n<p>www.arweave.org – The Arweave network is like Bitcoin, but for data: A permanent and decentralized web inside an open ledger. Можно тут попробовать: www.akord.com<br \/>\nnft.storage<br \/>\nstorj.io<\/p>\n<p><a href=\"https:\/\/ucm-wiki.g8way.io\/#\/en\/main\">https:\/\/ucm-wiki.g8way.io\/#\/en\/main<\/a> – Universal Content Marketplace<\/p>\n",
            "date_published": "2024-05-26T16:21:08+03:00",
            "date_modified": "2024-05-27T00:17:34+03:00",
            "tags": [
                "blockchain",
                "Data",
                "Greenfield"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/node-nft-check.png",
            "_date_published_rfc2822": "Sun, 26 May 2024 16:21:08 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "124",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/node-nft-check.png",
                    "https:\/\/gavrilov.info\/pictures\/greenfield.png",
                    "https:\/\/gavrilov.info\/pictures\/dcellar.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Smart-contract.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/remix-compile.png",
                    "https:\/\/gavrilov.info\/pictures\/remix-deploy.png",
                    "https:\/\/gavrilov.info\/pictures\/remix-mint.png",
                    "https:\/\/gavrilov.info\/pictures\/remix-transact.png",
                    "https:\/\/gavrilov.info\/pictures\/ethersscan-nft-mint.png",
                    "https:\/\/gavrilov.info\/pictures\/OpenSea-nft.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/empty-nft.png",
                    "https:\/\/gavrilov.info\/pictures\/node-nft-check1.png",
                    "https:\/\/gavrilov.info\/pictures\/refresh-nft-meta.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Error-this-time.png",
                    "https:\/\/gavrilov.info\/pictures\/nft-tokenid-error.png",
                    "https:\/\/gavrilov.info\/pictures\/Node-nft-check2.png",
                    "https:\/\/gavrilov.info\/pictures\/nft-done.png.jpg",
                    "https:\/\/gavrilov.info\/pictures\/nft-sale.png"
                ]
            }
        }
    ],
    "_e2_version": 4171,
    "_e2_ua_string": "Aegea 11.4 (v4171e)"
}