-
It is a new PoW way to mint NFT by block hash and gene template file on IPFS.
-
The design of gene template can make iNFT identifiable, the scarcity can be confirmed.
-
As the block hash of blockchain network is random and unique, iNFT can be deployed to multi chain. It is pretty interesting that Dapp can compare value between different networks by mathematics scarcity.
-
Try iNFT full functions, iNFT System
-
Just minting, iNFT Minter
-
Function, It is the tools for designer to set the parameters for iNFT. Only the source image needed, the iNFT parts can be added here.
-
Language and Framework, React ( Javascript )
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/editor
-
Multi networks support, you can write the iNFT template on different blockchain network.
-
Single iNFT file upload/download support.
-
Function, The client Dapp for normal users.
-
Language and Framework, React ( Javascript )
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/mint
-
Customer can explorer the templates, then mint on selected template.
-
The list of result can be checked from minter.
-
In some network, you can manage your account here.
-
Function, Selling market of iNFT result. Customers can price the NFT themselves.
-
Language and Framework, React ( Javascript )
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/market
-
Different networks supported.
-
Function, Bounty for airdrop base on iNFT, merchant can publish bounty iNFT.
-
Language and Framework, React ( Javascript )
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/market
-
Different networks supported. Full workflow on Anchor Network.
-
Function, User get airdrop from Anchor Network.
-
Language and Framework, Node.js ( Javascript )
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/service/airdrop
-
User get airdrop from Anchor Network.
-
Function, get the bounty and cached iNFTs on server.
-
Language and Framework, PHP, Redis, MySQL
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/service/api
-
Cooperating with
Cache Robot
to supply the iNFT data service.
-
Function, managment portal for
market
andbounty
. -
Language and Framework, PHP, Redis, MySQL
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/service/portal
-
Bounty management. Put bounty on line or off line. Check the applying. Saving the bonus payment on Anchor Network.
-
Function, cache iNFT records and group them.
-
Language and Framework, Node.js ( Javascript )
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/service/history
-
Group iNFTs by address.
-
Group iNFTs by template.
-
Record of iNFT history, including all actions (set, sell, buy, revoke, divert, drop)
-
Subcribe Anchor Network to update the history of iNFT.
-
Function, mint iNFT by setting.
-
Language and Framework, Node.js ( Javascript )
-
Github URL, https://github.com/ff13dfly/iNFT/tree/master/service/robot
-
Multi accounts support to mint iNFT.
-
The template of iNFT definition as follow.
//iNFT template { type:"2D", //2D identifiable NFT. size:[ "OUTPUT_SIZE_X", //iNFT output size X "OUTPUT_SIZE_Y" //iNFT output size Y ], cell:[ "CELL_X", //image grid size X "CELL_Y" //image grid size Y ], puzzle:[ //pieces of iNFT. Will render by the array order, 0 is the background { value:[ //where to get the number of hash "START", //start position of hash string "STEP", //how many string to get from "DIVIDE" , //how to divide, result%n, the value of "n" "OFFSET", //Random number offset to avoid same result ], img:[ //the position of image start, get by order, related ti "hash" "LINE", //line number of iNFT resource "ROW", //row number of iNFT resource "LINE_EXT", //default is 0,optional, line extend "ROW_EXT" //default is 0,optional, row extend ], position:[ //Position of this piece "POSITION_X", // The X position of this piece on iNFT "POSITION_Y" // The Y position of this piece on iNFT ], center:[ //this is optional, default is center of cell "X", //center X position "Y" //center Y position ], rotation:[ //this is optional "IMAGE_ROTATION", "ROTATION_POSITION_X", "ROTATION_POSITION_Y", ], scale:1, //this is optional fill:1, //this is optional, wether fill the empty background color:[ //this is optional "START", //start position of hash string "STEP", //default is 6,optional "DIVIDE", //optional, reduce the color amount. ["RED_OFFSET","GREEN_OFFSET","BLUE_OFFSET"] //optional, adjust the color ], rarity:[ //How the part categoried to series. Parts can be multi used. ["INDEX","INDEX", ... ], //index parts, such as [0,2,3] ["INDEX","INDEX", ... ], ["INDEX","INDEX", ... ], ] }, ... //iNFT is combined by pieces ] series:[ //description of rarity list {"name":"","desc":""}, {"name":"","desc":""}, {"name":"","desc":""}, ... ] version:"VERSTION", //iNFT template auth:["AUTH_NAME"] //auth name list }
-
iNFT mint data as follow. It is pretty simple to save gas fee.
{ "tpl":"ID_OF_TEMPLATE_FILE", //ID of IPFS file "from":"ipfs", //source origin "origin":"web3.storage", //where to storage "offset":[0,3,0,3,6,5,3,9,7] //optional, offset of mint following the template definition }
-
Create PoW iNFT asset.
-
Even the
Anchor Network
crashed, the asset created onEthereum Network
is also valid.
-
Create a
Salt
onEthereum Network
, it is related toBitcoin Network
. -
Using the
Salt
as parameter to mint iNFT on substateAnchor Network
. -
Bridge
package the mintings and save the merkel root hash onEthereum Network
. -
When want to create the asset of iNFT on
Anchor Network
, write the iNFT data and supply the merkel path. -
Validor confirm the iNFT, the iNFT on
Anchor Network
will be dropped then.
-
Substrate
chain such as Anchor Network is used to mint the iNFT. -
Bridge will package the mintings and save the merkel tree root on Ethereum Network.
-
When somebody want to bridge the iNFT on Anchor Network to other blockchain network, just drop the iNFT on Anchor Network and leave the last words about which account to accept the bridged iNFT. Then no need to write the bridge information when it is on Anchor Network.
-
By
Last Words
way, the iNFT is simple on Anchor Network. -
Leaf data sample
{ "origin":{ //data written on substrate chain "name":"ANCHOR_NAME", "raw":{ "target":{ "network":"btc", //mint by Bitcoin Network hash "block":6123456, //target Bitcoin block height }, "salt":"SALT_ON_ETHER", //salt on Ethereum Network "offset":[], //mint offset "tpl":"ID_OF_TEMPLATE_FILE", //ID of IPFS file "from":"ipfs", //source orgin "origin":"web3.storage", //where to storage } "protocol":{ "fmt":"data", "type":"json", "tpl":"inft", }, "pre":0 }, "block":0, //block number of Substrate Network where the iNFT data on "hash":"BLOCK_HASH_OF_ANCHOR_NETWORK", //optional ,target block hash "signer":"SIGNER_ON_SUBSTRATE", }