NFT合约交互基础篇

新手发文,有错误欢迎指出

NTF合约交互

一、寻找到合约,我知道的有两种方法

1.直接在官方网站上按f12打开开发者模式,然后shift+f查找关键字address,contract等,这里以apemfers.com为例(此方法同样适用于寻找未开源合约的ABI)

你也可以在这里查找抽奖的逻辑,如果查到只是在前端js验证的则可用新钱包参与抽奖,当然这需要一定代码阅读能力,此处不细说了

2.通过etherscan来查找,可以在此处查找合约(需要特别注意,此次可能会找到假合约,请注意自行鉴别)

我们以查找LilHeros为例,0xd78b76fcc33cd416da9d3d42f72649a23d7ac647是合约地址。我们通过名字查找(也可通过其他查找,例如总数,价格等),可以看到此处有两个合约。分辨真假个人看这些方面:供应总数,价格,时间是否与官方一致,以及是否有交易(通常会有测试)。当然如果无法判断建议等官方通知就好,不要冒不必要的风险。

注:有时可能主网合约还没有部署,可去Rinkeby测试网查找,查找方法同主网一样。

二、与合约交互

1.仍以LilHeros为例,点击Contract,Code页面我们只需关注源代码部分即可(最上面的),看不懂源码直接看Read,Write部分即可。个人认为Read,Write部分较简单,理解英语单词即可了解各函数的作用。

。Code页面
。Code页面

Read页面只可读取不可操作,大致分两种,一种不需要填参数可直接查看,如第11项,另一种需要填写参数,如第1项就需要填写地址来查询此地址拥有的token数量。

通过英文意思我们猜测这些函数的功能从上到下为:查询数量,查询是否授权(看参数可知特指某一tokenId的授权),查询是否全部授权,最大数量,名称,合约拥有者,某tokenid拥有者,暂停,价格,私有mint数量,私有Mint是否开启,每笔私有mint交易最大mint数量,每个钱包私有Mint最大数量,私有Mint开始时间,公共Mint是否开启。

需要注意的是这些读取到的数值是可能被改变的,如果你想第一时间抢,关注StartTime,setActive,Pause之类的关键字函数就好,让我们接着看Write页面

Read页面
Read页面

Write页面则是我们需要操作的地方,要操作首先需要点击Connect to Web3链接你的钱包。一般我们只需关注带Mint的函数即可(如果着急卖也可提前授权OPENSEA,可以让你比他人更快一些上架),其他函数大多为合约拥有者才可执行。这里我们以mintPublic为例(为什么以这个为例?因为其他函数还需要一个签名的参数我不会)。看到参数是有提示的,第一个参数是价格,即ETH的数量,第二个参数是你要Mint的数量,假设mint价格是0.4,你要mint两个,则第一个参数填写0.8,第二个参数填写2。一般的mint函数都是这两个参数,遇到需要其他参数的自行研究

Write页面
Write页面

需要注意的是如果你错误地执行这些函数小狐狸会提示你错误并且给你一个比较高的GAS,导致这种情况的原因很多,直接拒绝即可。

错误页面
错误页面

三、进阶应用

仍以LilHeros为例,通过阅读合约源码我们可以看到mintPrivate这个函数的验证和白名单一样,所以只要你有白名单你就可以通过调用这个方法mint到50个

Subscribe to tp
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.