Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (infinitymint-bt) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
InfinityMint Build Tools by 0x0zAgency
Current Version: Schrödinger's Edition (🐈,🐈⬛)
🧱 - See how ♾️Mint created a Phygital Storefront for Chicago's premier click and mortar gallery and Metaverse Portal, imnotArt @ 1010 N Ashland Ave.
InfinityMint QuickStart Guide
Say hello to Tokenized Commerce. Be your own marketplace! Sell your own tickets. Supercharge your Merch with the power of Phygital. Welcome to InfintyMint. A Web3 EVM Based Multi-chain Dynamic NFT Platform. A Minter that Mints minters which integrate with our EADS.eth supply-side advertising and sponsorship platform, and allows creators to mint an ∞ of NFT projects from PFP/Metaverse Portal Projects, to 1:1 NFTs, to Music NFTs.
🟨 - Follow The 0x🟨Road.eth 🪞
∞Mint.eth (InfinityMint), a cutting-edge tool designed for developers, designers, and artists seeking to elevate their content through Web3 technology. As a versatile development platform, InfinityMint enables the production of highly-scalable and dynamic Web3 content. For designers, it streamlines the prototyping process for NFT collections and facilitates the creation of unique randomized art with our innovative generation engine. For artists, it empowers the development of an entire decentralized ecosystem of users who can engage with your content, granting you full control over every aspect.
InfinityMint boasts numerous groundbreaking features. It allows for the generation of dynamic NFTs, each with a distinct appearance, on the blockchain with minimal gas consumption. Our novel path and asset system for building generative art on-chain currently powers 50+ Web3 deployments. InfinityMint tokens are supported by a custom ERC721 implementation, unlocking a vast array of features previously thought unattainable without significant EVM updates.
♾️
♾Mint.eth development began in 2021 as a result of a successful test of the NFTofME.eth revenue streaming concepts on the Ethereum Name Service. The platform introduced concepts formerly validated in EIP-4337, ERC-6551, and contains alternative implementations of account abstraction as well as accomplishing the use of ERC-721 as a an abstracted wallet capable of containing NFT and ERC-20 tokens - also able to act on its own behalf, and was designed to stream intellectual property controls and the revenues of the object. These concepts first came online on the Rinkeby Testnet in 2021, subsequently the first mainnet type deployment happened on the Polygon EVM in 2022, prior to EIP-4337 and ERC-6551 (May 2023). Our team decided to continue to prove the concept and build deployment protocols prior to submitting, EIP, ENS, and ERC proposals. All InfinityMint tokens are expandable through our smart contract linker, functioning as wallets capable of holding other NFTs within. Modify the nature of your NFTs post-launch, adding new variations to the generation engine over time, and seamlessly integrate additional contracts to expand InfinityMint's functionality.
InfinityMint unifies essential Web3 technologies while introducing its own innovations to deliver a comprehensive toolkit that accelerates Web3 development in mere minutes. Our mission is to provide a user-friendly experience for creating a diverse array of Web3-oriented content.
This “NFT” is all about utility by creating your very own custom Dynamic NFT minter with contracts you own, code you own and can modify and host anywhere. Create a Dynamic NFT project in minutes with direct connections to a robust tools like the NFT location and authentication service EGPS.eth, or the NFT Avatar unification standard NFTofME.eth, and EADS.eth, a supply side content Web3 network that lets NFTs create there own controls allowing for new ways to allow advertising and sponsorships across your content with fun tools like NFT Stickers, Sponsorship anchors. This also enables new ways to manage and monetize IP with our ERC-721 Wallet Expansion Gem via NFTofMe.eth and many more tools and activations in the future.
🚀 Features
- Take control of your content and intellectual property!
- NFTs are expanded erc721 wallets and can hold and transfer ERC and interact with other Smart Contracts
- Mint Ticket NFTs that can be sent official event media and even the next events exclusive TicketNFTs.
- Attach Token Bound Content to your collections, unlocking fresh new ways to engage with customers
- Monetize your content with the power of the Ethereum Ad Service, unlocking the power of sponsorships and advertising to all NFT based content, decentralizing advertising for the first time ever!
- Spawn Minters that can send and sell service based NFT only with that wallet. Customer account abstraction!
- Supports all types of media and content formats and allows for royalty splits
- Simplified project setup and management
- Import resources and files for your project
- Currently deploys to: Ethereum, Base, Polygon, PolygonZK and their respective Testnets
- Infinity Gems expand your NFTs power and because your InfinityMint NFTs are modular, you can upgrade them in perpetuity
Quickstart
Requirements
- OS: Mac OSX, Windows (XP-11), Debian (5+), Ubuntu (14+)
- Node: v18.5.0+
Links:
- InfinityMint GitHub You Are Here
- React-Maker GitHub
Installation
- Run
npm i.- If there are any issues, remove your package-lock.json and
node_modulesdirectory and run: npm i --legacy-peer-deps --install-links --no-audit - For node-gyp issues:
npm install --build-from-source.
- If there are any issues, remove your package-lock.json and
Setup
- .env File: Rename '.env.example' to '.env'. Configure
IPFS_APIKEY,WALLET_MNEMONIC,ETHERSCAN_API_KEY, etc. Keep this file secure. - Imports Folder: Copy a sample folder in
imports, rename it, and populate with your files. - Project File: Use an example from
projectsor runcreate_project.
Local Environment
- Run
npm run ganache..mnemonic: Mnemonic for Ganache wallet..keys: Private keys for deployed wallet.
Token URI
- Update
project_default_uri.json. - In
InfinityMint.sol, update URLs at lines 249 and 400.
React App
- Clone React-Maker.
- Run
npm i. - Link to InfinityMint via
settings.js. - Deploy project using
deploy_project. - Run
npm run start.
Live Demo
- Live Testmet Deployment of 🥳time.eth - This demo dApp is provided as a case you can check out to understand how to work InfintyMint to your advantage. The test deployment is on Goerli🔵Base.
Resources
Enjoy Infinity and welcome to Tokenized Commerce!
Longstart
🗿 Requirements
Mac OSX (any version), Windows (XP, Vista, 7, 8, 10, 11), Debian (5+), Ubuntu (14+)
Node 18.5.0 or Higher
https://github.com/0x0zAgency/infinitymint
https://github.com/0x0zAgency/infinitymint-react-maker
🗿 Installation
Quick install:
npm i.1.1. To prevent OS-specific build issues with node-gyp, run
npm install --build-from-sourcein the root of the repository.
🗿 Getting Started
InfinityMint requires a few more steps before we get started let's set up some default files we need to make sure your project gets off on the right path.
.env- Rename the provided '.env.example' to '.env' and set up and change any variables that are key to you such as theIPFS_APIKEY,WALLET_MNEMONIC,ETHERSCAN_API_KEY, and if you want to maintain a fixed GANACHE session theGANACHE_MEMONICwith theGANACHE_USE_ENV=true. It is critical that you do not share this file as it can contain the keys to your deploying wallet. Like any crypto wallet you should keep these keys safe!Set-up your project's "imports" folder- Navigate toimportsfolder and create a copy of any of the provided sample folders. Be sure to rename it to something related to your project so it is easier to keep track of later. We will be calling everything from the PWA(React) requirements, to the files that will be uploaded to the contracts or IPFS and much more. The fastest way to get started is simply to overwrite the base files with your own. It is a critical step you obtain an API key for an IPFS service else you will be limited to 12kb asset sizes. Currently, We only support web3.storage right now and you can get an API key for free by going to https://web3.storage.Set-up your project file- There are two ways to do this. The fast way, simply copy and paste any of the provided examples in theprojectsfolder. The other way would be to run invokecreate_projectfrom the InfinityMint Console.Start-up a local EVM with Ganache- In a terminal from the root of the project run:npm run ganache. This will set up a local EVM and will save two files we will need to work with.4.1
.mnemonic- This file is located in the root of the project and will contain the Mnemonic for the wallet used by Ganache. All of the accounts on this wallet will be funded with 1000 ETH that you can use to build your project. DON'T PANIC: IF YOU RUN OUT FUNDS YOU CAN CALL A NEW INSTANCE OF GANACHE BY INVOKINGnewGanache.jsFROM THEtools_and_scriptsMENU4.2
.keys- These are the private keys for deployed wallet. You can import these private keys into any wallet that you use to transact on the EVM. We have broken out thedeployerwallet and suggest this be the first account you import while you are in this phase of the development of your project.Set-up the default Token URI files- Now lets set up the default Token URI's for your minters. If you are using themods:{redemption: true}You will need to do this that contract as well. If you copied a provided example imports folder there should be aproject_default_uri.jsonfile. You will need to replace all of values, including adding valid URL's for the images. We highly recommend using IPFS for any external files Once your file is ready upload it to IPFS or anywhere you can get URL.5.1 Navigate to
contracts/InfinityMint.soland update the URLs:Line 249:
result = 'https://your.token.uri.default.json';Line 400:
setTokenURI(currentTokenId,'https://your.token.uri.default.json');
5.2 If you are using the Redemption 💎 you will need to navigate to
mods/redemption/contractsand openRedemptionLinker.sol:- Line 71:
uri[redemptionTokenId] = 'https://proof.token.uri.default.json';
Set-up Infinitymint-React-Maker- We are ready to fork then clone the React Web Application Starterkit repository specific to this release of InfinityMint found over at https://github.com/0x0zAgency/infinitymint-react-maker. **Follow the installation directions in that projects README. However for a quickstart, simply runnpm iin the projects root from your CLI.Link your Infinitymint to your Infinitymint-React-Maker- From your InfinityMint Console invokesettings.jsfrom thetools_and_scriptsmenu. This tool will ask you to set the folder where theInfinitymint-React-Makerresides.Deploy Project- Now that we have a place to put our project, let's deploy our project by invokingdeploy_projectfrom the InfinityMint Console. This process will deploy your projects smart contracts, upload all of your projects paths to IPFS, create a local copy of your deployment files atdeployments/*blockchain*. Because you have Linked your InfinityMint to the Infinitymint-React-Maker this process will also copy the deployments to the target atInfinitymint-React-Maker/src/deploymentsDeploy React App- With the project deployed now its time to get your React App server up and running. To do this, runnpm run startfrom theInfinitymint-React-Makerproject. This should open your default browser and run your Infinitymint athttps://localhost:3000Enjoy Infinity and welcome to Tokenized Commerce!