All Projects → alephao → nftool

alephao / nftool

Licence: MIT license
A suite of tools for NFT generative art.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to nftool

opensea-sales-twitter-bot
A Twitter bot that tweets Opensea sales for a given collection 🐳
Stars: ✭ 120 (-17.24%)
Mutual labels:  nft, opensea
nft-art-maker
NFT Art Maker - generates images and metadata files, packs them into IPFS CAR files, and uploads them using nft.storage. All from provided PNG layers.
Stars: ✭ 77 (-46.9%)
Mutual labels:  ipfs, nft
samila
Generative Art Generator
Stars: ✭ 750 (+417.24%)
Mutual labels:  generative-art, nft
opensea automatic uploader
(Bypass reCAPTCHAs) A Selenium Python bot to automatically and bulky upload and list your NFTs on OpenSea (all metadata integrated - Ethereum and Polygon supported); reCAPTCHA solver & bypasser included.
Stars: ✭ 205 (+41.38%)
Mutual labels:  nft, opensea
opensea-images-downloader
Script to download all the images from an opensea collection using the OpenSea API
Stars: ✭ 42 (-71.03%)
Mutual labels:  nft, opensea
fetch-nft
🖼🎑🌠 A utility to fetch and easily display Ethereum & Solana NFTs in a common format given any wallet
Stars: ✭ 83 (-42.76%)
Mutual labels:  nft, opensea
tenk
Template for making a NFT contract with a raffle of tokens
Stars: ✭ 32 (-77.93%)
Mutual labels:  ipfs, nft
opensea-scraper
Scrapes nft floor prices and additional information from opensea. Used for https://nftfloorprice.info
Stars: ✭ 129 (-11.03%)
Mutual labels:  nft, opensea
opensea
python wrapper for opensea api
Stars: ✭ 38 (-73.79%)
Mutual labels:  nft, opensea
nft.storage
😋 Free decentralized storage and bandwidth for NFTs on IPFS and Filecoin.
Stars: ✭ 309 (+113.1%)
Mutual labels:  ipfs, nft
nft-generator-py
Unique image & metadata generation using weighted layer collections.
Stars: ✭ 127 (-12.41%)
Mutual labels:  generative-art, nft
apebase
Bored Ape Database
Stars: ✭ 110 (-24.14%)
Mutual labels:  ipfs, nft
nft-website
NFT School: Community education platform for developers in the non-fungible token space.
Stars: ✭ 260 (+79.31%)
Mutual labels:  ipfs, nft
nft-collection-generator
Generates images and metadata for a collection of NFTs.
Stars: ✭ 77 (-46.9%)
Mutual labels:  generative-art, nft
opensea-arb-nft20
🧸 💸 Detects arbitrage opportunities for ERC-721 tokens between OpenSea and NFT20.
Stars: ✭ 42 (-71.03%)
Mutual labels:  nft, opensea
tiddlywiki-ipfs
IPFS with TiddlyWiki
Stars: ✭ 50 (-65.52%)
Mutual labels:  ipfs
git-lfs-ipfs
Use IPFS as a git-lfs endpoint
Stars: ✭ 41 (-71.72%)
Mutual labels:  ipfs
ipfs-crawler
A crawler for the IPFS network, code for our paper (https://arxiv.org/abs/2002.07747). Also holds scripts to evaluate the obtained data and make similar plots as in the paper.
Stars: ✭ 46 (-68.28%)
Mutual labels:  ipfs
awesome-generative-deep-art
A curated list of generative deep learning tools, works, models, etc. for artistic uses
Stars: ✭ 172 (+18.62%)
Mutual labels:  generative-art
ethereum-dapp-ipfs-node.js-mongodb
以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台
Stars: ✭ 46 (-68.28%)
Mutual labels:  ipfs

nftool

Tests

A suite of tools for NFT generative art.

Features

  • Metadata
    • Generate ERC-721 and ERC-1155 compatible metadata
  • Traits/Attributes/Properties Generation
    • Configure custom rarity
    • Generate collection attributes configuration file
    • Merge collections
    • Shuffle collection
    • Find collisions between collections
  • Image Generation
    • Generate images from collection description
    • Generate images in parallel
    • Generate only missing images (if you delete a few images from the output folder)
  • Rarity
    • Generate traits rarity
    • Generate collection rarity
  • Provenance
    • Generate provenance
  • OpenSea
    • Update metadata of collection

Install

Homebrew on Macos

brew install alephao/formulae/nftool

Using Go

go install github.com/alephao/nftool@latest

Or clone the repository, change to the root folder and run go install.

Manually

Download the binary from the releases page and move it to your bin path like /usr/local/bin.

Getting Started

To get started, install nftool following the instructions above and cd to the examples folder in this repo.

You can always use nftool help [command] to see all the documentatio and all the options of a command.

First generate the configuration file from the layers folders.

mkdir -p out
nftool traits dump --layers ./layers --out ./out/config.yaml

You can open config.yaml and play around with the rarity weights, and optional configuration.

Then generate a collection from the config.yaml

nftool traits make --amount 10 --config ./out/config.yaml --out ./out/collection.json

Now we can use the collection.json to generate the images. Run the following commands:

mkdir -p ./out/images
nftool img gen --width 300 --height 300 --collection ./out/collection.json --config ./out/config.yaml --out ./out/images

We can also generate rarity reports for traits (which trait is more rare and how many times it shows up) and the collection rarity rank.

# Generate traits rarity report
nftool rarity traits --collection ./out/collection.json --out ./out/traits_rarity.json

# Generate collection rarity rank report
nftool rarity collection --collection ./out/collection.json --out ./out/collection_rarity.json

To generate the provenance for this collection it's easy:

nftool provenance --images ./out/images --out ./out/provenance.json --startingIndex 2

Note: the startingIndex should be a number smaller than the total amount of items in the collection and it's usually generated on-chain.

Now we need to generate the actual metadata that we'll upload to IPFS (or another storage service).

	mkdir -p ./out/metadata
	# Generate ERC-721 metadata
	nftool metadata --collection ./out/collection.json --config ./out/config.yaml --out ./out/metadata

Note: if you want to generate the metadata following the erc-1155 convention for the id/file-name, add the flag --erc1155

Check out the output in ./out/metadata/1. If you want to change anything, you can do so by editing the values in ./out/config.yaml.

Documentation

Link to the generated docs

Contributing

  • For requests and questions, please open an issue.
  • PRs accepted.

Releasing

To release a new version

git tag vx.x.x
git push origin vx.x.x
goreleaser release --rm-dist  

License

MIT © Aleph Retamal

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].