把币或 NFT 不慎打入合约地址,等同于销毁?

gm365.eth热度: 21430

币打入合约不完全等于销毁。

原文作者:gm365.eth

原文来源:Twitter

有小伙伴提了一个问题,说 zk money 官方合约里80万 DAI的币,是否是别人误操作打入合约的?因为Ta听说 Token 打入合约 = 销毁,是无法取出的。

问题很好,值得花3分钟和大家一起探讨下,补习点行业基础知识,避免后续误操作。

资产

1:普通EOA地址操作任意资产

大家用小狐狸钱包等创建的地址,叫做外部 EOA 地址,即由一个私钥控制的地址。

这个地址名下的任何资产 (ERC20、ERC721等)都可以通过私钥签名的方式,进行转移、出售等操作。

智能合约呢?默认不具备以上任何权限。

2:智能合约有多智能?

智能合约其实一点都不智能,也完全无法自动进行任何操作。

智能合约只能执行代码中设计好的动作(function),且必须由一个外部EOA触发,或另一个智能合约触发。

没错,一个智能合约可以调用另一个智能合约进行任意操作与组合,比如MEV套利合约。

这也是DeFi可组合性真正强大之处。

3:智能合约如何操作合约内的资产?

简单来说,只要合约定义了提现函数,就可以提取合约内的任意对应资产(注:ERC20和ERC721需分别定义)。

如图是某个付费mint的NFT合约,内置的 withdrawAll 函数。

onlyOwner 限制了只有合约拥有者才能提现(不然就成免费ATM了)。

第110行代码即提现核心操作。

资产

4:Token打入合约 = 销毁 正确与否?

江湖传言把币打入合约=销毁,无法取出。这个说法在某些场景下是正确的:即当前合约代码并没有提取对应Token的相关函数。

币打入合约不完全等于销毁。

注:绝大多数合约都是没有提现功能,能提现 ERC20 资产的合约,不一定能提现 ERC721 资产。

故:务必慎之又慎。

5:把 DAI 打入 zk money合约 = 销毁吗?

回到最初的问题,80万DAI被销毁了吗?显然不是的 zk money 一开始就支持ETH、DAI、WBTC(V1版)等资产,且有相应函数来处理对应资产 但如果不慎打入其他代币,比如 USDT,会发生什么事?从代码看,可能真的销毁了,再次提醒,谨慎操作。

资产

责任编辑:Felix

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
最近更新
本文来源gm365.eth
原文标题把币或 NFT 不慎打入合约地址,等同于销毁?
下载MarsBit APP
以行业热点、实时快讯、视频解读等维度提供全方位的区块链整合服务
24H热门新闻
暂无内容