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

原文作者: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

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2022年9月9日 下午7:26
下一篇 2022年9月9日 下午7:26

相关推荐

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

星期五 2022-09-09 19:26:42

有小伙伴提了一个问题,说 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