Ленивый майнинг NFT с автоматизацией браузера
Пару месяцев назад я решил проверить, что такое шумиха вокруг NFT. Мне удалось алгоритмически создать «художественную» коллекцию. Я добавил «искусство» в кавычки, так как я не художник. Я просто хотел узнать, что такое NFT… Поэтому я взял цифровой рисунок моей дочери и сделал программу для создания тысяч таких рисунков, добавляя различные черты (цвета, значки и т. д.) и контролируя их редкость. Та-да! Моя коллекция NFT была готова…
Затем я занялся чеканкой, то есть сделал их доступными в блокчейне.
Я выбрал ленивый метод чеканки, чтобы избежать предоплаты за газ. Ленивая чеканка — это, по сути, отложенная транзакция, в которой NFT торгуется на рынке как цифровой предмет, но записывается в блокчейн только после продажи. Также в интересах экономии времени я предпочел иметь готовый MVP (минимально жизнеспособный продукт), а затем узнать о смарт-контрактах и dApps на более позднем этапе.
Было бы много ручной и повторяющейся работы, чтобы загрузить NFT одну за другой в OpenSea, а затем перечислить их… Поэтому я решил создать бота, чтобы сделать это за меня.
Некоторые разработчики и специалисты по данным создают цифровые артефакты, а затем конвертируют их в NFT, поэтому я надеюсь, что эти заметки помогут преодолеть последнее препятствие, связанное с публикацией их в OpenSea.
Предпосылки
- Ваше изображение NFT готово и названо последовательно: 1.png, 2.png, … и т. д.
Также настроены соответствующие метаданные: 1.json, 2.json, … и т. д. - У вас есть учетная запись OpenSea с подключенным кошельком MetaMask.
- Вы создали коллекцию OpenSea для хранения ваших предметов коллекционирования, а именно
YourOpenSeaNftCollectionName
. - Вы установили
selenium
иwebdriver_manager
в своей среде Python. - У вас есть расположение расширения Chrome MetaMask (файл
crx
).
Давайте начнем…
Убедитесь, что эти библиотеки импортированы:
Основные параметры определены ниже:
Программно запустите браузер Chrome и перейдите в OpenSea:
На этом этапе вам нужно открыть новую вкладку и войти в MetaMask, чтобы импортировать свой кошелек. Как только вы это сделаете, вернитесь на вкладку OpenSea и войдите в свою учетную запись.
Вспомогательные методы
Подождите, пока текст не появится в элементе:
Большинство веб-приложений используют методы AJAX, поэтому, когда страница загружается браузером, элементы на этой странице могут загружаться с разными интервалами времени, что усложняет поиск элементов: если элемент еще не присутствует в DOM, функция find_elements
вызовет исключение. Таким образом, мы ждем, пока не истечет заранее определенный тайм-аут, прежде чем мы прервемся.
Найдите элемент и нажмите на него:
Опять же, иногда элемент, который мы хотим щелкнуть, может быть не виден, поэтому после его обнаружения мы центрируем экран вокруг него, а затем щелкаем по нему:
Напишите текст в поле ввода:
Приведенный ниже код также обрабатывает символы Юникода, такие как эмодзи 🦸♀️:
Ленивая чеканка
Прочитайте метаданные токена:
Этот метод:
- читает файл json для данного идентификатора токена и
- обращается к соответствующим элементам json и возвращает их в виде кортежа.
Монетный двор один:
Этот метод:
- сначала переходит к конечной точке
create
коллекции, - загружает изображение NFT,
- вызывает функцию
read_token_info
для получения метаданных токена и устанавливает имя, описание и все свойства [примечание: первое свойство всегда установлено, поэтому кнопкаAdd more
нажимаетсяproperties_number - 1
раз], - создает NFT и
- ждет подтверждения.
Чеканить их все:
Теперь прокрутите все ваши NFT и создайте их, вызвав функцию mint_token
:
Вуаля!
Вот и все! Ваша коллекция NFT готова! Следуя приведенному выше примеру, теперь вы можете легко расширить его, чтобы перечислить свои NFT для продажи.
Спасибо за прочтение!
Я регулярно пишу о лидерстве, технологиях и данных на Medium — если вы хотите читать мои будущие публикации, пожалуйста, подпишитесь или подпишитесь!