Skip to content

nihat2065/apts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disclaimer

We are not affiliated with Aptos or any NFT project. We develop tools for everyone to use, at their own risk.

What is this ?

The Aptos NFT Mint project is designed to let creators set up a candymachine for NFT minting and a minting website ultra fast on Aptos. Candy machine is originally from Solana. We use Candy machine here to refer to general nft minting system on blockchain.

Our twitter: https://twitter.com/FTMTeam1

Discord for questions: https://discord.gg/6ZPvDCR8Xd

Aptos is still in an early stage, We will update as soon as we can, but if you have questions, head into our discord for help.

Features developed

  • Set start and finish time for everyone.
  • Won't accept your funds if they're out of NFTs to sell.
  • Wallet based whitelist.
  • Royalties for your NFT.
  • Asset upload on IPFS.
  • Integrated with all the marketplace and wallets on Aptos.
  • Fully customizable website with wallet integrated and your candy machine status displayed.

Preparations

In order to use this tool, here are the few things you need to have before continuing:

Code

git clone https://github.com/FTM-Labs/AptosNFTMint.git

Python3

You need python version 3.9 and above. https://www.python.org/downloads/

Install dependencies

You need python version 3.9 and above

cd script/third_party
pip3 install -r requirements.txt

nodeJs and npm

https://docs.npmjs.com/downloading-and-installing-node-js-and-npm

NFT assets

Thre are a bunch of solutions to generate NFT art and metadata. We recommend to use HashLips. Its simple and flexble.

Basically, you need layered art and use hashlips the generate images and metadata.

The metadata format we need is super simple. (the metadata format you generated from hashlips will work, we will just ignore the extra fields.) However, make sure each metadata file has a different, unique name.

{
  "name": "NFT NAME",
  "description": "NFT description",
  "attributes": [
    { "trait_type": "Background", "value": "Black" },
    { "trait_type": "Eyeball", "value": "Red" },
    { "trait_type": "Eye color", "value": "Yellow" },
    { "trait_type": "Iris", "value": "Small" },
    { "trait_type": "Shine", "value": "Shapes" },
    { "trait_type": "Bottom lid", "value": "Low" },
    { "trait_type": "Top lid", "value": "Middle" }
  ]
}

After generated the metadata, put it in a separate folder than your images. The top level folder needs to be created like below:

Assets/  
├─ Images/  
|  |- cover.png
│  ├─ 1.png  
│  ├─ 2.png  
│  ├─ 3.png  
│  ├─ ...  
├─ metadata/  
│  ├─ 1.json  
│  ├─ 2.json  
│  ├─ ...  

where the cover.png is the cover image for the collection.

The metadata and corresponding image should have the same name, eg: 1.png and 1.json

Aptos wallet

For mainnet, you must prepare your own Aptos wallet and transfer some funds into it to cover the transaction fee.

Martian: https://chrome.google.com/webstore/detail/martian-aptos-wallet/efbglgofoippbgcjepnhiblaibcnclgk

Petra: https://chrome.google.com/webstore/detail/petra-aptos-wallet/ejjladinnckdgjemekebdpeokbikhfci

Instructions

Collection metadata

"collection": {
    "assetDir": "/Users/Shared/assets/images",
    "metadataDir": "/Users/Shared/assets/metadata",
    "collectionName": "TestCollection101",
    "collectionDescription": "placeholder",
    "collectionCover": "",
    "collectionSize": 10,
    "maxMintPerWallet": 10,
    "mintFee": 100000000,
    "royalty_points_denominator": 1000,
    "royalty_points_numerator": 50,
    "presaleMintTime": 100000000,
    "publicMintTime": 100000000,
    "whitelistDir": "/Users/Shared/assets"
}

assetDir: Path to your image folder. Copy file path directly instead of manually putting it in to avoid errors.

metadataDir: Path to your metadata folder. Copy file path directly instead of manually putting it in to avoid errors.

collectionName: Your NFT collection name.

collectionDescription: Your NFT description.

collectionCover: if you have a image called cover then this will automatically be filled. Otherwise, you need to provide a link to your cover image.

collectionSize: Your NFT collection size.

maxMintPerWallet: How many mints per wallet allowed.

mintFee: 100000000 = 1 APT. e.g if you want 0.5 APT as mint fee, put 50000000.

royalty_points_denominator: denominator of royaltie points.

royalty_points_numerator: numerator of royaltie points.

presaleMintTime: presale mint time, whitelisted user can mint after this. unix timstamp in seconds. https://www.unixtimestamp.com/

publicMintTime: public mint time. unix timstamp in seconds. https://www.unixtimestamp.com/

whitelistDir: Path to whitelist file.

Whitelist file is a text file of the following format:

0x6c4e890a882b013f82a65db9b917a6d285caa892e46f2d93808b56f2aab2dd92 2
0x9d40f83eee59912bed7488d49becd5274ec21c66c40931c9db95a501e03ecee2 3
0x6c4e890a882b013f82a65db9b917a6d285caa892e46f2d93808b56f2aab2dd92 2

each line must have a wallet address and how many can this wallet mint in white list phase