Skip to content

Uploading your assets to opensea.io in a blink of an eye!🦄 [multiple assets uploading supported] 🥳

License

Notifications You must be signed in to change notification settings

ModernNFTSpace/MultipleNFTUploader

Repository files navigation

Modern NFT Uploader

opensea-io-badge assets-up-yo-badge speed-badge mnu-version-badge License

MNU created to help with uploading multiple assets to opensea.io 🚢


Minimum uploading speed → 1000 assets per hour⁽¹⁾

Image

FuturesInstallationSupport

¹ Tested on 2000 assets ~100 KB and ~3 sec for each
¹ Assets per Hour → ApH

❗ Deprecated

Conceptually, MNU continues to be able to work, but as a result of the Opensea update, it needs to be revised, but since the need for the project has disappeared, its support has been discontinued.

Perhaps in the future there will be a 'next-gen' version, with a more thoughtful interface.

🌟 About

❗ Please upgrade to latest version. Due to some reason, the old version of Metamask did not work in some countries.

Uploads NFT assets to opensea.io, 'automatically' (not auto-clicker) and with the highest possible performance (also possibly parallel loading will be added). Implemented in python:

  • Account authorization - Selenium
  • Uploading - reversed opensea`s API and some features
  • Implemented GUI example - Kivy

Features

  • 1000 ApH
  • Almost complete emulation of human behavior
  • Support for all types accepted by the opensea.io(image/*,video/*,audio/*,webgl/*,.glb,.gltf)
  • Fault resistance pipeline. In case of failure, the resource will not be lost, but will be re-queued. Also you can stop the process at any time and continue from the same place later
  • The UI is implemented using HTTP, so it is possible to implement GUI as a web interface(Webhooks and long poling supported)

Note

❗ Currently supported python version 3.7 - 3.10. Since the library used by MNU for the GUI has not yet been officially released for version 3.11

MNU only uploads assets, to put up for sale use MNManager(repo will be unlocked soon) For view full pipeline of uploading/selling assets read [How upload multiple assets to opensea.io]

Project is currently in Alpha, but is actively developed. If you want support us go to this section

Project development depends not only on financial support, but also on your activity (the main motivation for development)
So if you use MNU or have any questions while using it, contact us and we will try to help

Table of content

Requirements

Backend part:

OS: Windows 7+ (UNIX support will be added)
RAM: 2+ GB Python 3.8+
Google Chrome
SSD(Optional)

GUI part(implemented example):

OpenGL 2.0+

🎥 Installation video

How to setup MNU

💾 Installation

Install Google Chrome

⚠ If it is already installed on your system, skip this step.

  1. Follow steps described at Google Support

Install python

  1. Download installer for your OS
  2. Run it and follow the instructions

Install MNU

  1. Create a folder and go into it
    • CMD
      mkdir "%programfiles%\MNSpace" && cd /d "%programfiles%\MNSpace"
    • Bash
      mkdir /home/MNSpace && cd "$_"
  2. Clone repository and go into MNU dir:
    git clone --recurse-submodules https://github.com/ModernNFTSpace/MultipleNFTUploader.git && cd MultipleNFTUploader
  3. Install requirements:
    pip install -r requirements.txt
  4. Generate empty configs; Download and patch webdriver:
    python main.py --setup
  5. In "WebDriver info" section will be showing downloaded version of webdriver. If it differs from the version(major part) of Google Chrome you have - read How to manually download webdriver

💡 Getting started

Note: At the moment, MNU does not have the most user-friendly interface (will be fixed during refactoring). This is due to the emphasis on quality and speed of work.

Prepare assets

To work with MNU, you need to collect data about your assets in a so-called manifest file. This simplifies the process of searching for assets, and also provides a mechanism for customizing the traits of assets when uploading.

To simple prepare the assets, do:

  1. Create a folder and copy all assets you want upload
  2. Copy absolute path to folder
  3. Run(Replace ABS_PATH with path which you copied earlier):
    python -m mn_penpusher --path="ABS_PATH"
  4. Preparing complete. Remember the path to the folder, it will be needed to be included in the configuration file

Note: If the project is in demand, the GUI for preparing assets will be added

Setup configs

MNU stores some data in configuration files, such as collection data (will be migrated), server settings, and metamask wallet data

Note:
    Don`t use your main wallet for uploading.
    Instead create a new wallet and give it upload access to the collection

    If you are use a different authorization method on opensea,
    then you will also need to get a Metamask wallet

    How create Metamask wallet and configure collection for using with MNU

⚠️if you have any problems - contact us

  1. Configure configs/metamask.conf:

    1. Open in any editor
    2. Replace "null" with your Metamask secret phrase
      secret_phase: null
    3. Save & exit
  2. Configure configs/opensea_collection.conf:

    1. Open in any editor
    2. Paste inside quotes collection slug, in which you want to upload assets.
      For example mnu-collection is a slug for https://opensea.io/collection/mnu-collection
      collection_name: 'mnu-collection'
    3. Paste inside quotes absolute path to directory with your assets
      (folder from
      "Prepare assets" step, with manifest file).
      collection_dir_local_path: 'C:\\collection_dir'
    4. Paste inside quotes base name for assets. It will be used for generating names.
      For example: "MNU asset#0", "MNU asset#1", ...
      single_asset_name: 'MNU Asset'
    5. These settings are enough to start the upload. You can learn more about asset data customization here.
    6. Save & exit

Installation testing

Run command:

py.test tests

Will be checked configs and a test upload will be performed (into a test collection)

If tests finished without error/fail(xfailed doesn't count) ➡ congrats you set up MNU
(with the current lack of usability - this is a feat)🥳

Running application

After all the above manipulations, you can run MNU and start uploading. In this order:

  1. Start program via command line:
    python main.py
  2. If you configured the configs correctly, a browser session will be launched (in which you will be logged into opensea.io) and a graphical interface for managing MNU will also be launched
  3. After "everything starts", click the <Start> button to start uploading.

Support

You can support us financially, even 0.50$ will be enough:
liberapay-badge patreon-badge

But if you have a penchant for art - better help us with the graphic design of the project 😉

Contacts

If you have any questions or suggestions please contact us:

License

Read full license text

🔗 Links

ChromeDriver download page
Selenium WebDriver
Opensea.io
Metamask