元宇宙非小号金色财经交流群社区官网

mint白名单的实现过程

时间:2022-07-25 10:53:29

首先一个非常重要的背景是地址分为合约地址和钱包地址,钱包地址就是你自己小狐狸的地址,它是归属于你个人所有的,只用于收付款等行为,合约地址则是通过智能合约代码部署生成的地址,除了具备收付款能力以外,因为有智能合约的存在可以实现更多业务逻辑,比如多签钱包。

先看看mint白名单的实现过程,以前土办法人工录入再mint时检验成功后打一次GAS费,白名单人数少时还好,一多就傻了,又慢又贵,所以现在NFT市场普遍采用梅克尔树这种加密签名验证来节省更多的GAS费,方法就是将白名单不要存储在链上合约中,而是放在链下由项目方自己保管,当用户在官网mint时根据用户的钱包地址用算法生成一个签名,NBA这次使用的就是加密签名方式的校验,这次问题就出在白名单钱包地址输入返回签名时合约无法对这个钱包所有者身份进行确认,也就是说所有人都可以用这个白名单的钱包地址来获得合法签名,拿到签名就可以进行mint了

ERC代币一个不太明显的问题,揭露了代币和以太币之间的细微差异。以太币是通过以接收地址为目标的交易进行转移的,代币转移发生在代币合约的状态中,以代币合约作为目标,而不是接收者的地址。代币合约跟踪余额并触发事件。在代币转移中,实际没有交易发送给代币接收者,接收者的地址只是被添加到代币合约的映射。向一个地址发送以太币的交易会改变地址状态。转移代币到一个地址的交易只会改变代币合约的状态,而不是接收者地址的状态。即使ERC20代币的钱包也不会知道代币余额,除非用户特地添加一个代币合约来“看”。一些钱包会“看”主流代币合约,来检查它们所控制的地址持有的余额,但是这仅限于现有ERC20合约的小部分。

对于新的用户需要额外说明的是,在我们创建普通钱包(或叫外部账户,以太坊的账户分为外部账户和合约账户)时,只是在钱包的客户端通过一定的加密算法在客户端本地生成的钱包地址(没有上链,只有产生了交易才会在链上有了关联),所以普通钱包是不需要支持Gas费的,而多签钱包本质上是一个部署在链上的智能合约,而部署合约就像发起转账一样会产生一笔交易,所以需要支出Gas费用来奖励旷工确认这笔交易。

标签:nt

本站分享的区块链、Web3.0元宇宙、NFT、数字藏品最新消息等相关数藏知识快讯NFR资讯新闻,与金色财经非小号巴比特星球前线Btc中国官网无关,本站资讯观点不作为投资依据,市场有风险,投资需谨慎!不提供社区论坛BBS微博微信交流群等相关币圈信息发布!
本站内容来源于互联网,如存在侵权及违规内容投诉邮箱( [email protected] )
皮卡丘 2021-2024© YangKaTie.Com All