MNU created to help with uploading multiple assets to opensea.io 🚢
Minimum uploading speed → 1000 assets per hour⁽¹⁾
¹ Tested on 2000 assets ~100 KB and ~3 sec for each
¹ Assets per Hour → ApH
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.
❗ 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
- 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)
❗ 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
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+
⚠ If it is already installed on your system, skip this step.
- Follow steps described at Google Support
- Download installer for your OS
- Run it and follow the instructions
- Create a folder and go into it
- CMD
mkdir "%programfiles%\MNSpace" && cd /d "%programfiles%\MNSpace"
- Bash
mkdir /home/MNSpace && cd "$_"
- CMD
- Clone repository and go into MNU dir:
git clone --recurse-submodules https://github.com/ModernNFTSpace/MultipleNFTUploader.git && cd MultipleNFTUploader
- Install requirements:
pip install -r requirements.txt
- Generate empty configs; Download and patch webdriver:
python main.py --setup
- 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
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.
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:
- Create a folder and copy all assets you want upload
- Copy absolute path to folder
- Run(Replace ABS_PATH with path which you copied earlier):
python -m mn_penpusher --path="ABS_PATH"
- 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
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
-
Configure
configs/metamask.conf
:- Open in any editor
- Replace "null" with your Metamask secret phrase
secret_phase: null
- Save & exit
-
Configure
configs/opensea_collection.conf
:- Open in any editor
- Paste inside quotes collection slug, in which you want to upload assets.
For examplemnu-collection
is a slug forhttps://opensea.io/collection/mnu-collection
collection_name: 'mnu-collection'
- 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'
- 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'
- These settings are enough to start the upload. You can learn more about asset data customization here.
- Save & exit
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)🥳
After all the above manipulations, you can run MNU and start uploading. In this order:
- Start program via command line:
python main.py
- 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
- After "everything starts", click the <Start> button to start uploading.
You can support us financially, even 0.50$ will be enough:
But if you have a penchant for art - better help us with the graphic design of the project 😉
If you have any questions or suggestions please contact us:
- via telegram bot
- via channel @modern_nft_space
ChromeDriver download page
Selenium WebDriver
Opensea.io
Metamask