最新消息:本站技术交流 QQ 群:28124927

区块链/比特币

中本聪11岁时写的作文《My Mother》

中本聪11岁时写的作文《My Mother》

exchen 1年前 (2023-03-26) 1390浏览 0评论

中本聪11岁时写的作文《My Mother》,让人感动落泪,六岁与父母分离成为留守儿童。 "The phone call is from your mother" yelled my uncle from outside the house. I r...

消息签名与Permit

消息签名与Permit

exchen 2年前 (2022-08-03) 2869浏览 0评论

消息签名与Permit ECR20 标准代币有一个 approve 函数,它可以将当前用户指定的币数授权给另一个账户操作,该函数定义如下: function approve(address spender, uint...

智能合约的升级

智能合约的升级

exchen 2年前 (2022-07-22) 2671浏览 0评论

智能合约的升级 智能合约的特点是布署完成后不可修改,但是可以通过升级的方法修改业务逻辑。在做合约审计时经常会遇到合约有升级的功能,OpenZeppelin 里提供 ERC1967 代理升级合约,其原理是使用 delegatecall 委托调用。 de...

自毁合约漏洞利用与防范

自毁合约漏洞利用与防范

exchen 2年前 (2022-07-22) 2441浏览 0评论

自毁合约漏洞利用与防范 selfdestruct 可以自毁合约,这个函数有两个功能,一个是自毁合约,还有一个是强制发送主币ETH到任一地址。如果向一个合约发送主币ETH,这个合约没有接受主币ETH的回退函数,是不能发送成功的,而使用 selfdest...

回退函数与三种方法发送ETH

回退函数与三种方法发送ETH

exchen 2年前 (2022-07-14) 1562浏览 0评论

回退函数与三种方法发送ETH 之前测试过重入漏洞,了解到发送主币 ETH 给一个合约,这个合约需要有一个回退函数,如果发送币使用 call 容易造成重入的问题,这次我们来详细了解回退函数,还有三种方法发送 ETH,分别看它们之间有什么不同点。 回退函...

USDT 多签钱包合约分析

USDT 多签钱包合约分析

exchen 2年前 (2022-07-07) 2377浏览 0评论

USDT 多签钱包合约分析 之前看过 USDT 的合约,了解到它有一个 issue 函数用于增发,只有 owner 调用 issue 才可以增发,但仔细分析并没有那么简单,它的 owner 不是普通地址,是一个合约地址 ,这个合约是一个多签钱包。多签...

Uniswap 工厂合约创建配对合约

Uniswap 工厂合约创建配对合约

exchen 2年前 (2022-07-05) 1728浏览 0评论

Uniswap 工厂合约创建配对合约 uniswap 里有一个工厂合约,作用是创建交易对合约,每添加一个交易对都会创建一个配对合约。uniswapv2 里使用的是内联汇编创建合约,这种方式比较复杂,先获取配对合约的字节码,再获取 token0 和 t...

数学溢出攻击演练与防范

数学溢出攻击演练与防范

exchen 2年前 (2022-07-01) 1316浏览 0评论

数学溢出攻击演练与防范 一个数字在内存中是有范围的,如果超出这个范围就会溢出,比如 uint256 是无符号的整数,范围是256位,最大的数字范围是 2的256次方减1,最小的范围是 0,如果超过范围是上溢,低于范围是下溢。 (1) 已知 uint2...

重入攻击演练与防范

重入攻击演练与防范

exchen 2年前 (2022-07-01) 1597浏览 0评论

重入攻击演练与防范 重入是在合约 A 调用合约 B 时执行某个操作时,合约 B 会调用合约 A 的回退函数 fallback,然后合约 A 的回退函数 fallback 里又调用了合约 B 的某个操作,形成了一个循环。 重入会造成攻击形象,比如合约 ...

USDT 代币合约分析

USDT 代币合约分析

exchen 2年前 (2022-06-24) 5154浏览 0评论

USDT 代币合约分析 一个代币合约最基本功能有增发币、销毁币、转账、批准、查询等,我们以以太坊网络上的 USDT 为例看一下代币合约的细节,合约地址:https://etherscan.io/address/0xdac17f958d2ee523a2...

geth 搭建以太坊私有链测试

geth 搭建以太坊私有链测试

exchen 2年前 (2022-05-10) 2758浏览 0评论

geth 搭建以太坊私有链测试 安装 geth macOS 下安装非常简单,使用 brew 安装即可,安装完成后输入 geth -version 可以查看版本,验证是否安装成功 brew tap ethereum/eth...