Connect
Subscribe
Canvie.crypto
Canvie.crypto
0xDC67
A Javascript & Solidity Programmer.
Entries
Collection
Subscribe to Canvie.crypto
Receive the latest updates directly to your inbox.
Subscribe
Subscribe
安全审查-Elevator破解
Canvie.crypto
July 29
有道安全题叫Elevator,意思是说要攻击这个合约,修改里面的top变量,使得top的值为true。我们先看原题:
Mint
安全审查-谈谈Reentrancy攻击
Canvie.crypto
July 14
在Defi的应用中,防止重入攻击是最基本的需求,曾经也有很多因为没有防御机制,造成重要损失的现实案例。可以先看一下没有防御机制的代码
Mint
为什么bool比uint256消耗更多的gas
Canvie.crypto
July 12
之前遇到有朋友这么问:“为什么bool比uint256消耗更多的gas”。首先要说明的是这个说法是不准确的,并不是简单的bool和uint256这个类型差异造成的。我们在看OpenZeppelin的ReentrancyGuard.sol的源码时,会看到下面的写法,我们从底层机制上分析
Mint
安全审计-转账的疑惑
Canvie.crypto
July 11
在King这个题目中,只要转账金额大于当前King之前转账的金额时,你就成了新的King,同时你转的金额会全部贡献给前一个King。看代码
Mint
安全审计-private带来的危害
Canvie.crypto
July 11
ethernaut上有道题叫Vault,要求获取到密码来解锁。先看代码
Mint
安全审计-交易打包的底层问题
Canvie.crypto
July 10
最近在刷Ethersnaut,有道题目是猜测问题,需要在看到被攻击合约代码后,找到攻击点,使得可以连续猜中10次以上。被攻击合约中,本意是想使用随机数来计算。可以在整个计算中是可以预测和计算,这并不是真的是随机数。如果是要使用随机数,最好是是用预言机来获取随机数,在每次计算时都是未知和不可以预测的,这样才会防止被攻击。在web2的传统开发思路中,循环10次就可以完成10次的猜测动作,这个是个容易忽视的陷阱。在合约开发中,首先一定要熟悉整个交易打包的底层机制,首先是发出交易,进入内存池等待,交易打包,然后对交易进行计算处理(其中就有EVM参与的执行),如果是在一个交易中循环执行10次,但是block.number等信息始终不变,一个交易中block信息不会变化。要想实现10次有不同的block.number,则要发起10次不同的交易。
Mint
leetCode 寻找两个有序数组的中位数
Canvie.crypto
November 07
\--END
Mint
细品Map
Canvie.crypto
October 28
写过JAVA,对于map这个东西应该比较熟悉了。在javascript中也有map(映射),就是键值对数据项的集合。
Mint