开源的nft市场,支持二开
私信
主帖 5
回帖
视频
提问
回答
资源
专栏
本次我们将带大家了解智能合约中一个经常被用到的东西——随机数。智能合约的开发中常常会用到随机数,例如Lottery和现在流行的NFT数字藏品的属性等都需要用到随机数。目前来说常见的随机数获取有两种:使用区块变量生成随机数,使用预言机来生成随机数。下面我们了解一下这两者的特点:1)使用区块变量生成随机数我们先了解一下常见的区块变量有哪些:block.basefee(uint):当前区块的基本费用block.chainid(uint):当前链idbl...
4天前 194浏览 0点赞 0回复 0收藏
本次,我们来讲一讲运用delegatecall函数时更复杂的合约漏洞案例。目标合约漏洞分析这次的攻击目标依然是获得HackMe合约中的owner权限,我们可以看到两个合约中除了HackMe合约中的构造函数可以修改合约的owner其他地方并没有修改owner的函数,但是却可以修改位置slot0的值,而HackMe合约中插槽slot0表示的便是Lib的地址,那么我们就先修改Lib的地址为我们的地址,再次调用HackMe合约时就会运行我们合约中的逻辑,那么想改哪个位...
6天前 123浏览 0点赞 0回复 0收藏
在之前的内容中,学习到了storage中是使用插槽存储数据的。而delegatecall函数有个有趣的特点:当使用delegatecall函数进行外部调用涉及到storage变量的修改时是根据插槽位置来修改的而不是变量名。举个例子:合约A合约B当合约B调用testDelegatecall()函数时,合约B的地址c的值会变为合约A的地址,而地址a则是不变。因为合约A的函数test()改变的是插槽slot1的值,同样的在合约B中运行时,改变的也是插槽slot1的值,即地址c的值...
7天前 117浏览 0点赞 0回复 0收藏
这次我们将了解如何访问合约中的私有数据(private数据)。目标合约话不多说,直接上代码这次我们的目标合约是部署在Ropsten上的一个合约。合约地址:0x3505a02BCDFbb225988161a95528bfDb279faD6b链接:https:ropsten.etherscan.ioaddress0x3505a02BCDFbb225988161a95528bfDb279faD6bcode分析由上面的合约代码我们可以看到,Vault合约将用户的用户名和密码这样的敏感数据记录在了合约中,我们知道合约中修饰变量的关键字仅限制...
2022-07-30 11:21:20 141浏览 1点赞 0回复 0收藏
selfdestruct函数(自毁函数)由以太坊智能合约提供,用于销毁区块链上的合约系统。当合约执行自毁操作时,合约账户上剩余的bi会发送给指定的目标,然后其存储和代码从状态中被移除。selfdestruct函数虽然能在紧急情况下帮助开发人员删除智能合约并将合约内的余额转移到指定的地址,但这一特性也被不法分子利用,使它成为了gongji手段。让我们来看个经典游戏“幸运7”的案例:合约代码分析在“幸运7”游戏中,玩家每次向EtherGa...
2022-07-27 16:01:14 188浏览 0点赞 0回复 0收藏
获得成就
已积累 286 人气
获得 1 个点赞
获得 0 次收藏