NFT Minting Extension

NFT ERC721 tokens minting support is released on the 11th of May 2021 for the NFT WordPress Plugin for WooCommerce for the early access sponsorship program members. It become available for the rest of the PRO license owners for free from the 11th of October 2021

Categories: ,

Description

NFT ERC721 tokens minting support is released on the 11th of May 2021 for the NFT WordPress Plugin for WooCommerce for the early access sponsorship program members. It become available for the rest of the PRO license owners for free from the 11th of October 2021.

You do not need to buy this extension anymore. All you need is the NFT WordPress Plugin Kit.

This feature allows to build a full featured multi vendor NFT marketplace where vendors can publish their arts without gas fee payments and NFT tokens would be minted automatically when customers purchase them.

Any EVM compatible blockchain like Binance Smart Chain (BSC) can be used.

Features

  1. NFT token minting in the moment of the WooCommerce product publishing or payment confirmation (“gasless minting”)
  2. WooCommerce NFT product configuration with unique properties. WooCommerce attributes and variations or the Advanced Custom Fields can be used for that.
  3. NFT Series: sell a limited series of digital copies
  4. JSON metadata file implementation according to https://docs.opensea.io/docs/metadata-standards, so, they can be accessed with URL like http://your-site.com/nft/123456
  5. NFT token content is protected with cryptographically generated hashes of all files and attributes attached. The token ID itself is a hash of the JSON metadata file.
  6. Tokens can be minted from vendor or from admin address (configurable)
  7. Re-sell feature: check if product for this token was created before and reassign it to a new vendor
  8. Enhanced security: no need to send tokens to vendor address, just approve or setApprovalForAll vendor’s address to sell your NFTs minted elsewhere
  9. The changing price (sells) history as on opensea. It is implemented as a [nft-product-sales] shortcode. productid, tokenid and tokenaddress attributes can be added. On the product page it can be used without attributes. In this case it will show the history for the current product. It is intended to be added to the product.php page template.
  10. Automatic storage of image and JSON meta data files to IPFS. pinata.cloud and nft.storage pinning services are supported.
  11. NFT token product display with all attributes like opensea does. (Not released yet)
  12. NFT token smart contract deployment from wordpress admin dashboard (optional). (Not released yet)

The minting part generates and stores a token ID in the Ethereum blockchain. The token properties are composed in a JSON file bound to this ID and stored elsewhere, on your site or on an IPFS for example, so, they can be accessed with http://your-site.com/nft/123456

Demo site: demo.ethereumico.io

NFT Marketplace HOWTO

On this page you will find howto build your own personal NFT store or even a multi vendor NFT Marketplace.

Ethereum, Binance Smart Chain (BSC), Polygon (MATIC) and any other EVM compatible blockchain with etherscan-like API is supported.

Personal NFT Store

Personal NFT store is an eCommerce store where only you as a site author/owner can create and sell NFT tokens. Other people will not be able to create new NFT tokens or resell purchased NFT tokens on your site.

To build a personal NFT store these plugins are required:

And this one is an optional, but highly recommended:

There is a NFT WordPress Plugin Kit that contains all these three plugins mentioned above with a discount.

This one can be used to accept Ether and/or some ERC20 token like DAI or USDT:

The Configure WordPress Plugins Service can be used to let us configure plugins for you.

Multi Vendor Marketplace

The multi-vendor marketplace option let other people to create new NFT tokens on your store, and resell purchased NFT tokens on your site.

To build a multi-vendor NFT marketplace, these plugins are needed:

The Configure WordPress Plugins Service can be used to let us configure plugins for you.

NFT Tokens Minting

An ERC721 smart contract needs to be deployed in a blockchain to mint your tokens with these plugins.

We have a Smart Contract Development Service you can order to let us develop and deploy a contract for you.

These options are required for NFT project:

  • Basic NFT Token
  • Metadata
  • White List/KYC
  • Ownable
  • Contract Deployment

Look for these options under the NFT Token Options section

You need to choose a blockchain to use for your tokens. Ethereum is very expensive on deployment, minting or sending tx gas fees. Polygon (MATIC) and Binance Smart Chain (BSC) are also supported. The Polygon (MATIC) blockchain is recommended for negligible tx gas fees.

Tokens on the Polygon (MATIC) chain can be bridged to the Ethereum later if needed.

Lazy Minting

Mint on publish and Mint on sale modes can be configured for any token product. The Mint on sale is a so-called Lazy minting technique, which allows the holder to postpone the token minting tx fee payment until the token selling time when the buyer has already paid for the token, effectively compensating the minting tx fee paid by the seller.

Auction

Auction features can be added with any WooCommerce Auction plugin, but if multi vendor is needed, then you need to use:

The Configure WordPress Plugins Service can be used to let us configure plugins for you.

Video NFTs

The WooCommerce Featured Video plugin is supported for video NFTs creation.

NFT Series

To sell an NFT series, the Advanced Custom Fields plugin needs to be used. Create two custom fields with this plugin, as shown on these images:

The result on the NFT product creation page will be like this:

NFT ACF Product Create

When such a product will be sold, a new product with the same image and the Edition value of 2 will be created automatically. The Edition and Editions fields will be added to the metadata JSON file of the token minted also.

Note that any names for these fields can be used, not only Editions/Edition as in this example.

NFT parameters metadata

Each NFT token has a JSON metadata file associated and stored on the IPFS typically. There are two techniques supported to add your custom metadata to this file – the Advanced Custom Fields plugin and the standard WooCommerce Variable Product functionality.

In the Advanced Custom Fields plugin case you can create NFT products with predefined custom metadata fields.

With the WooCommerce Variable Product functionality you can define a single WooCommerce product with an automatically generated user interface your buyers will be able to use to choose the combination of metadata for the NFT token they want to buy.

White List/KYC

After your contract is deployed, the final step is to allow the admin address to mint tokens. This address is generated or configured on a page like: https://example.com/wp-admin/options-general.php?page=cryptocurrency-product-for-woocommerce&tab=default See the Ethereum wallet address setting documentation.

You need to call the grantRole method for the admin address to give it the MINTER role: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6

  • First argument: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6
  • Second argument: Your admin address here. See above.

And you need to do it from your NFT token contract owner address. Check it in the owner property of your contract.

See this video guide for details please:

After it will be done, send some ETH/BNB/MATIC to your admin address to pay NFT minting gas fees.

Note that vendor minting can be configured instead of the admin minting. But in this case you’ll need to call the grantRole method for each new vendor approved. And vendors need to top up their wallets with ETH/BNB/MATIC for minting fas fees. The admin minting is much more user friendly solution.

There is a way to let buyers compensate the minting tx cost by adding a shipping fee or a token price mark up fee.

Token info displaying (shortcodes)

WodPress shortcodes can be used to display token properties on a product or any other page:

  • [nft-product-token-id productid="123" onlyminted="1" placeholder="N/A" decimal="1"] shortcode to display the product’s tokenID value. If the productid attribute is omitted, the current displayed product id is used. If the onlyminted attribute is set to 1, the only already minted tokens tokenID value is shown. If token is not minted the placeholder attribute value will be displayed. The decimal attribute can be used to display the token ID in a decimal instead of the default hexadecimal form.
  • [nft-product-token-address productid="123" onlyminted="1" placeholder="N/A"] shortcode to display the product’s token contract address value. If the productid attribute is omitted, the current displayed product id is used. If token is not minted the placeholder attribute value will be displayed.
  • [nft-product-token-txhash productid="123" onlyminted="1" placeholder="N/A"] shortcode to display the product’s token txhash value. If the productid attribute is omitted, the current displayed product id is used. If the onlyminted attribute is set to 1, the only already minted tokens txhash value is shown or empty value otherwise. If token is not minted the placeholder attribute value will be displayed.
  • [nft-product-token-meta productid="123" onlyminted="1" param="name" attribute="author" placeholder="N/A"] shortcode to display the product’s token meta information and attributes value. If the productid attribute is omitted, the current displayed product id is used. If the onlyminted attribute is set to 1, the only already minted tokens meta values is shown or empty value otherwise. If token is not minted the placeholder attribute value will be displayed.

Theme Requirements

Any WooCommerce compatible theme should work OK. In the multi vendor case the more precise requirement can be if it supports the WCVendors plugin, but it is optional. In most cases WooCommerce should be just enough.

Other Requirements

All requirements of the base Cryptocurrency WordPress Plugin for WooCommerce should be met.

The NFT WordPress Plugin for WooCommerce specific requirement is to enable the allow_url_fopen setting in your PHP ini file. It is used to efficiently open big image and video files of your NFT products.

IPFS storage

Images and video files of your NFTs can be stored on your server, or on IPFS using pinata.cloud or nft.storage service.

IPFS storage is better since it adds more trust to your tokens.

IPFS configuration example

Note that your NFT smart contract should have a minting method with signature like this:

function mint(address to, uint256 tokenId, string memory token_IPFS_URI)

Names do not matter here, but this function should have three arguments with the meaning given by their names above.

You can use the Smart Contract Development Service to develop an NFT smart contract for your project.

Use this guide to obtain API access secret from pinata.cloud
Use this guide to obtain API access secret from nft.storage

NFT Media Submarining

Any number of downloadable files can be added to an NFT token product. These files will not be uploaded to IPFS. Only hashes will be calculated and added to the attributes section of the NFT meta data JSON file stored in IPFS.

This way only NFT token owner will be able to download such submarined files from your site, and in the same time, NFT token owner can always verify if files provided are the right ones by calculating it’s hashes and compare it with hashes from the JSON meta data file.

Set a low quality or just a placeholder image as a featured image of your WooCommerce NFT product for such submarine NFTs.

The NFT Mint button FOMO?

There is a popular feature request for a “NFT Mint Button”. The idea is to let the buyer choose a number of NFTs to mint, and mint them at once by pressing a Mint button with payment integrated.

There may be some good uses of this feature, but in a nutshell, it is a kind of a FOMO technique. NFTs are unique entities a buyer needs to choose for their unique value. Any use case that forces a buyer to buy several NFTs with an unknown value (not a price, but value) breaks the original idea of NFTs as an unique entity and is a suspicious behavior.

The ethereumico.io team will not develop or support solutions like this. Thank you for your understanding.

Consider the valid NFT Series functionality that can be used to sell many NFTs from a single WooCommerce product. Or other custom metadata generation techniques available, like the Advanced Custom Fields or WooCommerce Variable product functionality.

NFT WordPress Plugin vs. opensea

The fundamental difference of the NFT WordPress Plugin Kit with opensea and other similar platforms is that opensea is implemented as a smart contract on a blockchain, and the NFT WordPress Plugin Kit is not. All logic is implemented in a traditional server side PHP code.

Both of these implementations have advantages and disadvantages:

  • The opensea advantage is that payment and minting can be done in a single transaction. Buyer pays the tx gas fee and can be 100% sure that the token will be sent to him after the payment. Sales history with prices can be verified on a blockchain.
  • The opensea disadvantage is that since payment and minting transactions are coupled, they can not accept fiat USD or Bitcoin. For example, only ETH for Ethereum based tokens, or MATIC for Polygon based tokens.


For the NFT WordPress Plugin Kit it is vice versa:

  • The NFT WordPress Plugin Kit advantage is that payment and minting transactions are decoupled. It allows accepting virtually any fiat or crypto currency as a payment. 
  • The NFT WordPress Plugin Kit disadvantage is that since payment and minting transactions are decoupled, the buyer pays only for the payment transaction fee, and the seller should pay for the minting transaction fee. And the buyer can not be 100% sure that the token will be sent to him after the payment, since there is no smart contract in between that can guarantee it. No verifiable sales history with prices exists on a blockchain also.

There is a way to let buyers compensate the minting tx cost by adding a shipping fee or a token price mark up fee.

An additional NFT WordPress plugin advantage is that it can be easily integrated in the WordPress/WooCommerce plugins ecosystem, giving the site admin virtually endless toolkit to implement the unique site’s idea with a very reasonable budget.

Real World Examples

Examples of NFT stores built with these plugins:

NFT marketplace:

See also the demo site where you can register as a vendor and create your own NFTs on a rinkeby test network, and buy them to test it in action: demo.ethereumico.io

Guides and Documentation

Guides for NFT store configure:

Video guides:

The Configure WordPress Plugins Service can be used to let us configure plugins for you.

Additional information

License

Professional
Single site
Lifetime

Guaranty

Lifetime support and updates guaranty

Refund policy

7-days money back, excluding payment system fees

Brand

EthereumICO.io

You may also like…

  • Sale!
    ERC721 , Ethereum

    NFT WordPress Plugin Kit

    Full suite to build your personal NFT store in a couple of hours. Monthly, Annual and Lifetime subscriptions are available.