背景
在目前NFT概念國(guó)內(nèi)外火爆的背景下,涌現(xiàn)了很多項(xiàng)目,特別是公鏈以太坊上,社區(qū)與新團(tuán)隊(duì)更是層出不窮,讓人眼花繚亂。
而一個(gè)新項(xiàng)目上線的成功與否,往往與其社區(qū)支持力度息息相關(guān)?,F(xiàn)在很多新項(xiàng)目方為了擁有更多的熱度,人為的設(shè)置了白名單這個(gè)玩法和門檻,于是我們可以看到Discord頻道里的人們?yōu)榱烁伟?,可以絞盡腦汁、廢寢忘食。畢竟,拿到了白名單的人,是會(huì)被承諾可以提前pre mint,對(duì)于熱門項(xiàng)目來說,這幾乎是個(gè)穩(wěn)賺不賠的投資。
而對(duì)于ERC721標(biāo)準(zhǔn)協(xié)議的內(nèi)容來說,并沒有白名單這個(gè)說法,那么從技術(shù)的角度來說,是怎么實(shí)現(xiàn)這個(gè)功能的呢。實(shí)際上,這里還是個(gè)逐漸演進(jìn)的過程。
白名單
最早,在有項(xiàng)目方開始逐漸使用白名單機(jī)制的時(shí)候,由于白名單一般只給出幾百個(gè),所以實(shí)現(xiàn)方式還是比較原始的。而因?yàn)楫?dāng)時(shí)普遍的項(xiàng)目架構(gòu)都是前端網(wǎng)頁調(diào)用智能合約就完事了,并沒有引入后端進(jìn)來,所以做法往往是把白名單地址列表由項(xiàng)目方直接寫入到合約中,然后用戶在發(fā)起pre mint請(qǐng)求時(shí),方法里會(huì)判斷用戶地址是否在該地址列表中。
這種方式從原理上當(dāng)然沒有問題,而且也體現(xiàn)了區(qū)塊鏈不可篡改、公開透明的特性。不過由于以太坊上高昂的gas費(fèi),以及目前白名單人數(shù)一般都是數(shù)以千計(jì),所以為了自身成本考慮,幾乎所有項(xiàng)目都逐漸放棄了這種方式,而是改用另外兩種機(jī)制:文章來源:http://www.zghlxwxcb.cn/news/detail-482627.html
- 鏈下(即后端服務(wù))對(duì)單個(gè)白名單地址簽名,合約只需存儲(chǔ)簽名地址。
- 對(duì)白名單地址列表整體構(gòu)建Merkle樹,合約只需存儲(chǔ)Merkle的root hash。
本文對(duì)第一種鏈下簽名文章來源地址http://www.zghlxwxcb.cn/news/detail-482627.html
到了這里,關(guān)于Solidity合約中簽名驗(yàn)證的一點(diǎn)實(shí)踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!