Как создать свой NFT? Инструкция от Cryptonews
Крипторынок может быть интересен не только для трейдеров и инвесторов, но и для креативщиков. В этой статье – подробная инструкция, которая поможет создать ваш первый NFT.
Обзор NFT рынков
Пользователи криптовалют привыкли покупать и продавать свои активы на биржах или одноранговых платформах (P2P). На подобных торговых площадках продаются все виды криптовалют – от монет-мемов до коинов отдельных протоколов.
Однако в случае с NFT ситуация кардинально меняется. Из-за того, что токенизированные активы могут быть как фотографиями, так и билетами на концерты или игровыми карточками, приходится торговать на разных платформах с конкретной спецификой.
Например, открытый рынок NBA Top Shot предназначен исключительно для покупки и продажи видео с соревнований по баскетболу. На маркетплейсе OpenSea представлены NFT таких категорий, как объекты искусства, музыка, фотография, подписки и т. д. Кроме того, компании, выпускающие игровые NFT, такие как CryptoKitties, продают их через собственный сайт.
Программируемый рынок объектов искусства. Источник: async.art
Популярность и стоимость цифровых объектов искусств могут зависеть от нескольких факторов. Вот некоторые из них:
- известность и репутация автора: если NFT создан известной личностью в социальных сетях, это может добавить ценности картинке. Репутация и успех художника могут привлечь коллекционеров и поклонников, которые готовы заплатить большие суммы за его работы;
- символическое значение: например, активы, связанные с историческими моментами, знаменитостями или культурными явлениями, могут заинтересовать коллекционеров;
- внутренняя экономика: некоторые NFT имеют дополнительную функциональность из-за связи с определенными Метавселенными или играми. Если актив имеет практическое применение или возможность использования внутри платформы, это может увеличить его ценность.
Более того, на подобных рынках можно также перепродавать произведения искусства. Согласно отчету Art Basel и финансовой компании UBS, на вторичный рынок цифровых активов в 2022 году пришлось 80% от общей стоимости зарегистрированных продаж.
По мнению специалистов, эти цифры подчеркивают, что перепродажа NFT является доминирующим видом деятельности на этих платформах, а не создание и выпуск новых токенов. В исследовании также подчеркивается, что первичные продажи изображений достигли $1,5 млрд в 2022 году.
В целом торговые площадки NFT – это прекрасная возможность для тех, кто учится чеканить, создавать и продавать свои произведения искусства, музыку или видео.
Чеканка актива вручную или через третью сторону: что выбрать?
Любую работу можно либо выполнить самому, либо делегировать другому. Подобно тому, как инфлюенсеры нанимают маркетологов для продвижения в социальных сетях, автор NFT может передать чеканку своего актива профессиональной компании.
На открытых торговых площадках, таких как Mintable, Rarible и Opensea, пользователь сам создает коллекцию картинок и продает их, как ему заблагорассудится. На Nifty Gateway, Superrare и других курируемых рынках автор подает заявку, а затем ждет решения представителей о том, будет ли выбрана его коллекция для размещения.
Продавать можно что угодно. Например, в марте 2021 года производитель туалетной бумаги Charmin представил… цифровые рулоны. Каждый NFT имел уникальный дизайн с разноцветными цветами и продавался по $4 100 за штуку.
Бывший генеральный директор Twitter перед уходом со своего поста решил оставить своим поклонникам дорогой «сувенир» в виде NFT на память. Джек Дорси продал свой первый твит (точнее его скриншот) за $2,9 млн.
Начинающие авторы могут завоевать уважение других художников, если их работы будут добавлены на торговую площадку с более строгими правилами публикации. Представители таких рынков избирательны, как музейные кураторы, и охотнее принимают работы определенных стилей.
Источник: Nifty Gateway
Пошаговое руководство по созданию нового NFT
OpenSea – это первая децентрализованная платформа для торговли NFT, появившаяся в январе 2018 года. Она до сих пор остается одной из самых популярных площадок, поэтому рассмотрим, как создать новый NFT именно на ней. Чеканить активы можно и на других сайтах, таких как Rarible и Mintable. Однако это руководство можно использовать в качестве основного примера.
Как упоминалось ранее, NFT – это не только статичные изображения, но и видео- и аудиоматериалы. OpenSea позволяет также создавать эти виды активов, поэтому эта платформа является отличным выбором для тех, кто планирует заниматься всеми типами художественных медиа.
1. Определитесь со стоимостью чеканки
Прежде чем приступить к работе, необходимо узнать, во сколько обойдется создание цифрового актива. Для этого следует обратить внимание на комиссию за газ, или же сбор за транзакцию. NFT на OpenSea и многих других платформах разрабатываются на базе блокчейна Ethereum. В связи с тем, что децентрализованные приложения и виртуальные объекты искусства стали популярными, плата за использование сети увеличилась. В загруженные периоды стоимость газа может превышать $100.
Чтобы сэкономить, необходимо отслеживать изменения цены в блокчейне Ethereum в режиме реального времени. Сделать это можно через сайт Useweb3.xyz. Портал показывает, сколько примерно будет стоить транзакция каждый час в долларах США. Также есть график со средними показателями стоимости за последние 14 дней.
По мнению главного научного сотрудника блокчейн-стартапа DEXTF, цена за газ ниже всего утром в выходные дни. Эксперт выяснил, что газ начинает дорожать во время рабочих часов в таких азиатских странах, как Гонконг, Сингапур, Тайвань и Китай (UTC + 8). Это связано с тем, что приложения на базе блокчейна получили там широкое распространение.
Еще один способ сэкономить на оплате газа – использовать недавно запущенные блокчейны. Однако необходимо заранее проверить, какие сети поддерживает выбранный NFT рынок. Например, площадка Mintable позволяет создавать NFT не только на базе Ethereum, но и Zilliqa.
Zilliqa – это более продвинутый протокол, в котором используются новые технологии. Это помогает сократить комиссионные. Платформа взимает за транзакцию 0,1 ZIL (текущая цена одно ZIL составляет $0,0221). Расходы определяются сообществом Zilliqa с учетом объема транзакций, спроса пользователей и актуальной стоимости ZIL в долларах США.
Однако этот блокчейн не так широко используются, как Ethereum, поэтому количество потенциальных покупателей NFT будет меньше.
Вторая составляющая стоимости создания виртуального изображения – комиссия самой платформы. Например, OpenSea взимает плату после совершения покупки. В других торговых площадках сбор взимается сразу же.
2. Установите криптокошелек
Для открытия счета на рынках NFT, в децентрализованных приложениях (DApps) и многих других блокчейн-платформах нужно подключать криптовалютный кошелек. Хотя существует множество цифровых хранилищ, MetaMask – это самый простой способ начать чеканить NFT на любой платформе, основанной на Ethereum.
Тем не менее держать доходы от продажи актива в нем не рекомендуется. Хотя взломы случаются редко, вероятность всегда есть, поскольку MetaMask хранит приватные ключи на серверах в Интернете. Инструмент можно использовать для создания учетных записей на различных платформах для продажи NFT, но по возможности стоит переводить прибыль на аппаратный кошелек. Это физическое устройство, предназначенное для безопасного хранения активов вне сети.
Скачать MetaMask можно с официального сайта двумя способами – в виде расширения для браузера или приложения на смартфон. После загрузки необходимо будет придумать надежный пароль и записать сгенерированную фразу для восстановления.
Следующий шаг – пополнение кошелька токенами ETH. Их можно купить практически на всех криптовалютных биржах, таких как Binance или ByBit, за фиатные деньги. Затем монеты Ethereum нужно будет перевести на кошелек MetaMask.
Для начала можно начать с небольшой суммы – $250 в ETH. Стоит помнить о комиссии за газ и способах экономии, о которых мы писали в предыдущем пункте. Для чеканки целой коллекции понадобится больше средств.
3. Создайте коллекцию
Итак, после настройки кошелька необходимо перейти в свой профиль и подключить инструмент MetaMask к OpenSea. После этого можно перейти к созданию собственной коллекции. Платформа позволяет выбрать изображение для серии и дать ему название, а также описание.
После создания отдельной страницы для коллекции можно приступить к разработке компонентов, нажав на «Добавить новые элементы». Пользователь автоматически будет перенаправлен на страницу, где можно разместить медиафайлы в качестве нового элемента коллекции.
Загрузить в качестве NFT можно изображение, видео, аудио или 3D-модель. Если в дополнении к картинке нужно указать какие-либо дополнительные сведения, то платформа позволяет добавлять ссылки на источник. Это позволит потенциальным участникам рынка лучше понять, что именно продает автор.
Также можно добавить описание, которое будет отображаться, когда покупатели делают ставки на NFT. Краткое определение поможет инвестору понять, чем один актив отличается до другого в коллекции. Например, NFT-токены из серии под названием Hashmask имеют разные цвета глаз, кожи, маски и т. д.
Признаки актива, представленные в виде чисел и шкалы прогресса, будут использоваться в основном теми, кто занимается чеканкой коллекционных предметов с различными характеристиками. Например, у игровых активов можно ввести скорость или силу определенной карты.
Можно также придать полезности активу. Это означает, что новый обладатель NFT получит доступ к чему-либо благодаря своей покупке. Наконец, можно определить объем поставок или количество копий, которые будут отчеканены.
В OpenSea с пользователей не взимается плата за создание предметов внутри коллекции. Торговая площадка использует метод, называемый “lazy minting” («ленивой чеканкой»). Это означает, что плата за газ будет взиматься позже. Когда пользователь покупает NFT, он также оплачивает и произведение искусства, и связанные с ним комиссионные сборы.
4. Установите стоимость
После завершения чеканки цифрового изображения пользователь должен назначить его стоимость. OpenSea предлагает три варианта ценообразования: фиксированный, аукционный (для тех, кто предложит наибольшую сумму) и сразу за всю серию. Портал получает 2,5% от суммы покупки.
Как правило, ставки на активы вносятся в цифровой валюте Ethereum, но также можно использовать Dai или USDC. Автор может указать:
- конечную цену, которая будет снижаться со временем по мере нахождения покупателя;
- дату, когда NFT можно будет купить;
- настройки конфиденциальности, т. е. разрешить покупку изображения только одному определенному адресу.
Еще одно преимущества отслеживаемых транзакций в блокчейне – это возможность установки гонораров за произведения искусства. Это позволяет владельцу получать процент каждый раз, когда NFT перепродается на платформе.
Чтобы настроить эту функцию, нужно вернуться в раздел с коллекцией, там будет опция редактирования. Затем необходимо крутить страницу вниз, пока не появится кнопка «Комиссия», после чего можно установить свою ставку. Максимальный гонорар на OpenSea – 10%. Другие платформы, такие как Rarible, позволяют устанавливать комиссию до 30%.
5. Разместите NFT на торговой площадке
На финальной стадии автор увидит, как выглядит его творение с точки зрения покупателя. Все детали, добавленные на этапе создания, например, характеристики и стоимость, будут отображаться рядом с картинкой.
Можно даже посмотреть историю цен и предложений, как на примере выше с изображением из серии Hashmask. После покупки NFT пользователь станет единоличным обладателем актива. Затем он может хранить его в надежде на рост стоимости или продать его, передав права собственности.
Подписывайтесь на канал медиа Cryptonews, чтобы не пропустить актуальные новости и гайды.
Полное руководство по модулю asyncio в Python. Часть 1
Python-модуль asyncio позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio , при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio .

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:
- Определение, создание и запуск корутин.
- Асинхронное программирование в Python.
- Организация неблокирующего ввода-вывода.
- Средства конкурентного программирования, используемые при работе с корутинами.
Оригинал этого руководства включает в себя 26 разделов. Сегодня, в первой части перевода, мы предлагаем вашему вниманию разделы №1 и 2.
1. Что такое асинхронное программирование
Асинхронное программирование — это концепция программирования, при применении которой запуск длительных операций происходит без ожидания их завершения и не блокирует дальнейшее выполнение программы.
Вместо этого запросы и вызовы функций производятся и выполняются в фоновом режиме, результаты их работы оказываются доступными не сразу, а через некоторое время. Это позволяет вызывающей стороне решать другие задачи, а результаты, ожидаемые после выполнения асинхронных вызовов, обрабатывать позже — либо тогда, когда они будут готовы, либо тогда, когда они понадобятся вызывающей стороне.
Прежде чем переходить к освоению asyncio — разберёмся с основами асинхронного программирования.
1.1. Асинхронные задачи
Слово «асинхронный» используют для описания неких процессов, не совпадающих друг с другом во времени. Его противоположность — слово «синхронный», используемое для описания чего-либо, точно совпадающего во времени.
В программировании смысл асинхронности в том, что когда делается запрос на выполнение некоего действия, это действие выполняется не в тот момент, когда делается запрос, а позже.
Асинхронный: раздельное выполнение потоков, которые могут выполняться конкурентно в любом порядке относительно друг друга, является асинхронным.
The Art of Concurrency, 2009, с. 265
При выполнении асинхронного вызова функции мы делаем запрос на выполнение вызова функции, но не ждём завершения этого вызова. А состояние вызванной функции или результаты её работы мы узнаём позже.
Асинхронный вызов функции — это запрос на вызов функции, выполняемый неким образом в некий момент времени, при этом вызывающая сторона, после выполнения вызова, может продолжать работу и решать другие задачи.
Получается, что вызов функции будет выполнен в некий момент времени, в фоновом режиме, а программа может решать какие-то задачи или реагировать на некие события.
В этом — вся суть. Мы не осуществляем контроль над тем, как или когда будет обработан запрос. Мы лишь сообщаем системе о том, что нам нужно, чтобы запрос был бы обработан тогда, когда наша программа занимается какими-то другими делами.
Выполнение асинхронного вызова функции часто приводит к предоставлении вызывающей стороне некоего идентификатора запроса, который вызывающая сторона может использовать для того, чтобы проверить состояние запроса или получить результаты. Такие идентификаторы часто называют объектами, ждущими результата выполнения задачи (future, объект Future, преднамеченное значение, «футура»).
Объект future: идентификатор асинхронного вызова функции, позволяющий проверять состояние вызова и получать результаты работы функции.
Комбинацию асинхронного вызова функции и объекта Future часто называют асинхронной задачей. Это так из-за того, что такая комбинация даёт больше возможностей, чем обычный вызов функции. Например — позволяет отменять запрос и выполнять другие действия.
Асинхронная задача: этот термин используется для обозначения сущности, представляющей собой объединение асинхронного вызова функции и порождённого этим вызовом объекта Future .
1.2. Асинхронное программирование
Формирование асинхронных задач и выполнение асинхронных вызовов функций называют асинхронным программированием.
Итак — что такое асинхронное программирование? Его смысл в том, что особые длительные задачи можно запустить в фоне, отдельно от главного приложения. Вместо того чтобы блокировать весь остальной код приложения, заставляя его ждать завершения этих длительных задач, система получает возможность выполнять другие действия, не зависящие от этих задач. Затем, после завершения длительной задачи, мы получим уведомление об этом и сможем обработать результат.
Python Concurrency with asyncio, 2022, с. 3
Асинхронное программирование: использование особых приёмов асинхронного выполнения кода — таких, как выполнение асинхронных задач или вызовов функций.
Приёмы асинхронного программирования используются, в основном, в системах, предусматривающих применение неблокирующих операций ввода/вывода. Это, например, чтение данных из сокета или их запись в сокет при работе с другими процессами или системами.
Когда мы, в неблокирующем режиме, пишем данные в сокет, мы можем просто инициировать соответствующую операцию, действуя по принципу «выстрелил и забыл», а наше приложение может перейти к выполнению других задач.
Python Concurrency with asyncio, 2022, с. 18
Неблокирующий ввод/вывод — это когда программа запрашивает у системы чтение или запись неких данных, а соответствующие операции выполняются асинхронно. Вызывающей стороне не нужно ждать завершения операции перед переходом к другим задачам.
Операции чтения и записи выполняются тем или иным образом (например — операционной системой, или некими системами, построенными на её основе), а сведения о состоянии операций и/или данные, полученные в ходе их выполнения, вызывающая сторона получает позднее, как только они будут готовы, или когда вызывающая сторона готова будет их принять.
Неблокирующая обработка ввода/вывода: выполнение операций ввода/вывода посредством асинхронных запросов и ответов, а не таким образом, который предусматривает ожидание завершения операции.
Таким образом — можно видеть, как неблокирующий ввод/вывод связан с асинхронным программированием. На самом деле, мы либо используем неблокирующий ввод/вывод через механизмы асинхронного программирования, либо неблокирующий ввод/вывод реализован посредством таких механизмов.
Комбинация неблокирующего ввода/вывода с асинхронным программированием так распространена, что её обычно называют асинхронным вводом/выводом.
Асинхронный ввод/вывод: условное сокращение, которое означает комбинацию асинхронного программирование и неблокирующей обработки ввода/вывода.
Теперь давайте разберёмся с асинхронным программированием в Python.
1.3. Асинхронное программирование в Python
В широком смысле асинхронное программирование в Python — это выполнение запросов без блокировки основной программы ради ожидания их завершения.
Асинхронные механизмы в Python можно реализовать разными способами, но при этом некоторые из них лучше других соответствуют модели конкурентности Python.
Первый и наиболее очевидный подход к разработке асинхронных Python-программ заключается в применении модуля asyncio. Этот модуль напрямую предлагает программисту среду для асинхронного программирования, в которой используется синтаксическая конструкция async/await и неблокирующий ввод/вывод с применением сокетов и подпроцессов.
Название модуля asyncio — это сокращение от asynchronous I/O (асинхронный ввод/вывод). Это — Python-библиотека, которая позволяет нам выполнять код, используя модель асинхронного программирования. Такой подход даёт возможность одновременно обрабатывать несколько операций ввода/вывода, а приложение при этом не теряет возможности реагировать на внешние воздействия.
Python Concurrency with asyncio, 2022, с. 3
Всё это реализовано с использованием корутин. Они выполняются в цикле событий, а сам он выполняется в единственном потоке.
Asyncio: асинхронная среда программирования, представленная в Python благодаря модулю asyncio .
Если говорить о других подобных механизмах — то в Python можно работать с потоками и процессами, которые способны асинхронно выполнять задачи.
Например, один поток может запустить другой поток для выполнения вызова функции, а после этого продолжить выполнять другие действия. Операционная система запланирует и выполнит второй поток в некий момент времени, а первый поток может, по желанию программиста, проверить состояние задачи, или может этого не делать.
Потоки асинхронны, то есть — они могут работать с разными скоростями, и любой поток может в любой момент остановиться на время, длительность которого заранее неизвестна.
The Art of Multiprocessor Programming, 2021, с. 76
А точнее — Python даёт в наше распоряжение пулы потоков и процессов, основанные на концепции исполнителей. Реализовано это, соответственно, посредством классов ThreadPoolExecutor и ProcessPoolExecutor.
Эти классы используют одинаковый интерфейс и поддерживают асинхронные задачи с помощью метода submit() , который возвращает объект Future .
Модуль concurrent.futures предоставляет высокоуровневый интерфейс для асинхронного выполнения вызываемых объектов. Асинхронное выполнение объектов может быть произведено с помощью потоков — посредством ThreadPoolExecutor, или с помощью отдельных процессов — посредством ProcessPoolExecutor.
concurrent.futures — Launching parallel tasks
Модуль multiprocessing тоже предоставляет пулы воркеров, использующие процессы и потоки, посредством классов Pool и ThreadPool. Это — предшественники классов ThreadPoolExecutor и ProcessPoolExecutor .
Возможности этих классов описываются в терминах воркеров, асинхронно выполняющих задачи. Они явным образом предоставляют синхронные (блокирующие) и асинхронные (неблокирующие) версии каждого метода для выполнения задач.
Например, можно запустить функцию, предназначенную для особого случая, либо сделав это синхронно, воспользовавшись методом apply() , либо асинхронно — с помощью метода apply_async() .
Объект пула процессов управляет пулом процессов-воркеров, которым можно отправлять задания. Он поддерживает асинхронную выдачу результатов с использованием тайм-аутов или коллбэков и имеет параллельную реализацию метода map().
multiprocessing — Process-based parallelism
Существует один аспект асинхронного Python-программирования, который менее жёстко связан с реализацией конкурентности в Python.
Например, Python-процессы асинхронно принимают или обрабатывают сигналы. Сигналы — это, по своей сути, асинхронные события, отправляемые из одних процессов другим процессам.
Этот механизм, в основном, поддерживается благодаря модулю signal.
Теперь, когда мы разобрались с тем, что такое асинхронное программирование, поближе присмотримся к asyncio .
2. Что такое asyncio
В Python понятие «asyncio», в широком смысле, означает возможность реализации механизмов асинхронного программирования с использованием корутин.
Если говорить конкретнее, то понятие «asyncio» имеет отношение к двум элементам:
- Добавление модуля asyncio в стандартную библиотеку Python в Python 3.4.
- Добавление выражений async/await в языковой арсенал Python в Python 3.5.
Всё это вместе — модуль и изменения, внесённые в язык — обеспечило возможность разработки Python-программ, поддерживающих конкурентное выполнение кода, основанное на корутинах, позволило использовать неблокирующий ввод/вывод и механизмы асинхронного программирования.
В Python 3.4 появилась библиотека asyncio, а в Python 3.5 — ключевые слова async и await, позволяющие удобно работать с этой библиотекой. Эти новшества языка открыли дорогу так называемому «асинхронному программированию».
Using Asyncio in Python, 2020, с. VII
Рассмотрим подробнее эти два аспекта asyncio , начав с изменений, внесённых в язык.
2.1. Изменения, внесённые в Python для добавления в язык поддержки корутин
Языковые возможности Python изменились для того, чтобы приспособить язык к работе с модулем asyncio . Сделано это посредством добавления в Python новых выражений и типов данных.
Точнее — язык изменился ради обеспечения стандартной поддержки корутин. А корутины, в свою очередь, являются компонентом системы конкурентного выполнения кода. Этот компонент используется в программах, в которых применяется модуль asyncio .
Корутина — это функция, выполнение которой можно приостановить и возобновить.
Корутина: корутины — это более общая форма подпрограмм. Подпрограммы имеют одну точку входа и одну точку выхода. А корутины поддерживают множество точек входа, выхода и возобновления их выполнения.
Python glossary
Корутину можно определить с использованием выражения async def . Она может принимать аргументы и возвращать значение — так же, как и функция.
# определение корутины async def custom_coro(): # .
Вызов функции корутины создаёт объект корутины, в основе которого лежит новый класс. При этом функция корутины не выполняется.
. создание объекта корутины coro = custom_coro()
Корутина может запустить другую корутину посредством выражения await .
Это выражение приостанавливает выполнение вызывающей стороны и планирует выполнение целевого объекта.
. приостановить выполнение кода и запланировать выполнение целевого объекта await custom_coro()
Асинхронный итератор — это итератор, который выдаёт объекты, допускающие ожидание.
Асинхронный итератор: объект, который реализует методы aiter() и anext(). Метод anext() должен возвращать объект, допускающий ожидание. Конструкция async for разрешает объекты, допускающие ожидание, возвращённые методом anext() асинхронного итератора до тех пор, пока он не вызовет исключение StopAsyncIteration.
Python glossary
Асинхронный итератор можно обойти, используя выражение async for .
. обход асинхронного итератора async for item in async_iterator: print(item)
Применение этой конструкции не приводит к параллельному выполнению цикла for .
Вместо этого вызывающая корутина, которая выполняет цикл for , будет приостанавливаться и самостоятельно ожидать каждый объект, допускающий ожидание, полученный из итератора.
Асинхронный менеджер контекста — это менеджер контекста, который может приостанавливать выполнение в своих методах enter и exit.
Asynchronous Context Managers and «async with»
Выражение async with используется для создания и использования асинхронных менеджеров контекста.
Вызывающая корутина приостановится и подождёт менеджер контекста до входа в блок менеджера и похожим образом поступит при выходе из блока менеджера контекста.
Это — сводка основных изменений, внесённых в Python для поддержки корутин.
Теперь поговорим о модуле asyncio .
2.2. Модуль asyncio
Модуль asyncio даёт нам функции и объекты для разработки программ, основанных на корутинах с использованием парадигмы асинхронного программирования.
В частности, этот модуль поддерживает неблокирующую обработку ввода/вывода с использованием подпроцессов (для выполнения команд) и с использованием потоков (для программирования TCP-сокетов).
Asyncio — это библиотека для написания конкурентного кода с использованием синтаксических конструкций async/await.
asyncio — Asynchronous I/O
Центральной концепцией модуля asyncio является цикл событий.
Это — механизм, который выполняет программы, основанные на корутинах, и реализует кооперативную многозадачность корутин.
Цикл событий — это база любого asyncio-приложения. Цикл событий выполняет асинхронные задачи и коллбэки, сетевые операции ввода/вывода, подпроцессы.
Event Loop
Этот модуль предоставляет и высокоуровневый, и низкоуровневый API.
Высокоуровневый API предназначен для разработчиков Python-приложений. А низкоуровневый API — преимущественно для разработчиков фреймворков, но, в большинстве случаев, не для разработчиков приложений.
Большинство вариантов использования asyncio реализуются с использование высокоуровневого API, который даёт в распоряжение программистов инструменты для работы с корутинами, потоками, примитивами синхронизации, подпроцессами и очередями, предназначенными для разделения данных между корутинами.
Низкоуровневый API — это основа высокоуровневого API, в его состав входят внутренние механизмы цикла событий, транспортные протоколы, политики и другие механизмы.
Теперь мы, в общих чертах, разобрались с тем, что такое asyncio , и с тем, что этот модуль предназначен для асинхронного программирования на Python.
Далее — поговорим о том, что нужно принимать во внимание при использовании asyncio в своих Python-программах.
О, а приходите к нам работать?
Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.
Мы предлагаем интересные и сложные задачи по анализу данных и low latency разработке для увлеченных исследователей и программистов. Гибкий график и никакой бюрократии, решения быстро принимаются и воплощаются в жизнь.
Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.
Async art как создать работу
16 июня, 2022 год

Создание NFT с генеративной музыкой
Генеративные музыкальные NFT — новое любопытное направление, где каждая NFT-коллекция представляет уникальное музыкальное произведение, сгенерированное из набора звуков.
Создать такую коллекцию не так-то просто, потребуются хорошее владение навыками программирования. Но что делать, если создать подобное все же хочется? Тогда на помощь приходит стартап Async Art.
Его специальная функция Music Blueprints — это система для загрузки стемов (коротких звуковых фрагментов) с разными мелодиями, текстами, барабанными партиями и впоследствие генерирование из них музыки и различных вариаций. После того, как музыка будет создана, Async Art конвертирует ее в коллекцию NFT
Пионер Web3, платформа Async Art объявляет о закрытии
Платформа для авторов Async Art официально объявила о своем закрытии, сигнализируя об окончании своего влиятельного присутствия в сообществе Web3. В заявлении, опубликованном 23 октября, команда Async Art подробно рассказала о своих планах прекратить деятельность в ближайшие месяцы.
Медвежий рынок принимает очередную жертву
С момента своего создания в 2020 году Async Art послужила важной силой художественных инноваций, предоставляя художникам и музыкантам по всему миру надежную платформу для демонстрации своих талантов и продажи своих работ.
Async Art представила новые концепции в индустрии NFT, позволив художникам создавать многослойные, динамичные произведения искусства, которые развивались с течением времени или под влиянием коллекционеров. Одна примечательная особенность — система Blueprints — позволяет создавать генеративные NFT без кода. Выдающиеся проекты, такие как «Grifters» XCOPY и «Across the Face» Osinachi’s, родились именно из этого нововведения.
Генеральный директор взвешивает
Конлан Риос, генеральный директор Async, поделился своим мнением о решении о закрытии, отметив изменившуюся ситуацию в мире NFT:
«Когда мы запустили его в феврале 2020 года, мир NFT был меньше и проще. Все знали друг друга и вокруг царило настоящее чувство альтруизма».
Однако путь принял другой оборот, когда сектор NFT взорвался. Риос рассказал о переходе от коллекционера произведений искусства к оператору платформы и руководителю группы, а также о менее чем привлекательных аспектах, с которыми они столкнулись по мере изменения динамики отрасли.
Что произойдет с существующими асинхронными NFT
Что касается существующих NFT, это дает некоторую уверенность художникам и коллекционерам. Все асинхронные NFT надежно закреплены в IPFS, популярной децентрализованной сети хранения, сохраняя свое присутствие в цепочке. Однако Async Market прекратит закупки к концу 2023 года, а с 23 октября Async Art больше не будет принимать новые материалы.
Риос пообещал более подробную информацию в ближайшие недели, подчеркнув свое намерение «сохранить работы, созданные с помощью платформы, и обеспечить, чтобы оставшиеся члены ее команды нашли новый дом, чтобы продолжать заниматься своими web3-увлечениями».
Искусство Web3 будет жить
Несмотря на закрытие платформы, команда Async Art по-прежнему с оптимизмом смотрит на будущее динамичного и генеративного искусства в области web3. «Мы уверены, что это движение будет жить благодаря духу создателей и создателей Web3», — подтвердили они в своем прощальном заявлении.
Сфера криптоарта готова помнить новаторский вклад Async Art и продолжать развиваться. Но Async Art не одинок в своем уходе. Ранее в этом месяце другая платформа NFT, Versum, объявила о своем закрытии после объявления о закрытии Nifty в августе.