别看过期教程了,最新的NFT Mint方法看这一篇就够了!!

有很多人听说过NFT,但是不知道如何Mint。Mint方式除了最简单的前端Mint,合约方法Mint以及16进制Mint.网上有很多文章详细地介绍了这三种方式,内容大同小异,我在这里就不重复他们的内容了。这篇文章主要是对他们内容的补充以及最新的合约Mint方式的讲解。零基础的朋友,需要先阅读下面这篇文章,本文偏技术性。

一、另类的前端Mint方式

大多时候前端mint就像上面文章所提到的那样在网页上连接自己的钱包,然后点击一个Mint按钮,最后在钱包中确认即可。但是有些项目为了彰显自己的特色,Mint方式会设计的比较另类,比如下面这个网页。

当点击Mint按钮之后,就会跳转到这台计算机的界面,一开始可能比较懵,不知道下一步该干啥。仔细看一下右上角的便签,写着Mint方法,首先是在电脑上输入“connect-wallet”指令连接钱包,然后是输入"mint“指令,就可以成功Mint。

无论前端页面被设计的多么花里胡哨,就记住两个步骤:1.连接钱包 2.调用Mint方法,按照网站指示做即可。

二、合约Mint的第三个参数proof是什么?

上文讲的合约Mint是比较理想的情况,但是实际情况可能更复杂的多。比如前两天比较火的项目Debox老鹰,在白名单Mint阶段,前端页面点击Mint按钮之后一直在转圈圈,无法响应。一直卡了半个小时左右,才Mint成功,但是这也导致了很多白名单没有Mint上。

 那么遇到这种情况,我们只能绕过前端,直接调用合约去mint。首先,如果已经有人mint上了,我们可以去OpenSea找到该集合,然后点击合约地址。

现在让我们回到当晚,可以在etherscan看到交易记录中,有好几条是调用了MintAllowList这个方法,我们可以找一个成功的点进去看看。

那么如下图所示,通过该方法调用是可以成功Mint到NFT的,再加上函数的命名,基本就可以确定白名单Mint方法,就是MintAllowList.

这个时候,我们就可以用上文提到的直接写合约的方式去Mint,按照下图步骤操作:

接下来就是展开MintAllowList方法,其他两个参数都好理解,但是这个proof是什么呢?

三、尝试用16进制方式Mint

 直接调用合约方法又不知道proof参数是什么意思,有些大聪明这时候肯定会说了,上面的文章不是说了还有一种16进制Mint方法吗,我们直接把成功Mint的人的数据拷贝过来就可以了嘛。但是事实是每一条成功的记录的proof都是不一样的,直接拿过来在钱包里调用是无法成功的。

首先我们先下拉到Input Data,然后点击Decode InputData

我们可以看到第一条记录的proof是这些数据

第二条数据的proof是这个样子的,二者明显不同。所以16进制这条路也给我们堵死了。

四、Merkle proof 

难倒我们的proof专业的叫法应该是Merkle proof,它的作用是用来检测钱包地址是否被写入了白名单中。

到这里,如果有懂技术的小伙伴,我相信一定会想起大名鼎鼎的Merkle Tree(默克尔树),这是一种高效的数据结构,大概长下面这个样子,在NFT领域广泛应用于白名单的验证,项目方只需要把默克尔树的根节点数据写入到合约中,可以大大地节省Gas(Money)。

五、Merkle Tree简介

这里简单介绍一下默克尔树验证白名单的原理,我们先来看看这棵树是如何形成的,我们可以把上图L1,L2,L3,L4看成是四个白名单地址,首先地址1和地址2 先经过hash运算(这是一种可以把任意大小的数据输出成固定长度数值的算法),他们会生成Hash 0-0 和Hash0-1,然后Hash0 的数值 = hash(Hash 0-0+Hash0-1),即父节点的Hash值是根据子节点的hash值生成的,同理Hash1的值也是根据地址3和地址4生成的最终可以得到根节点的哈希值。

 所以项目方只要将根节点的数据写入合约中,当有一个钱包来mint时前端会用该钱包对应的merkle proof去验证该”叶子“是否”长“在这棵树上。

六、如何手动填写Merkle proof

 你获取的proof大概是这个样子的,['0x0d018f4e9d04e5ff56e36b0bb4b688d67076ea25c4462e258dbc6344b7d2031b','0x97fd676f3c4c0678051e7d3c8b4781c1313e2dcd3de2ffb23ce3463261721f59','0xa1344c1183827cbc918f1deb53259cdb6558effc8197449347752640f45b333e']

在填写的时候,不能有单引号,双引号,空格,逗号用英文的!

七、总结

本文主要讲了在实际合约Mint过程中可能会遇到的问题,本文偏技术性,不太适用于新手,新手可以先阅读上方推荐的文章,如果有其他的问题,可以添加下方的微信,备注”撸白“进群交流或者加入Discord抽取更多白单:

Subscribe to 熊猫撸白.nft
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.