###### uniswap V2 协议 V2是uniswap协议的第二版,第一版只支持ETH/ERC20交易对,uniswap应该是目前最大的去中心化交易所,目前常用的是V2,和V3,EVM链的很多去中心化交易所,都是基于uniswap V2改造的,这里先介绍V2(路由合约)。 uni...
### 如何防范 ApproveScam 漏洞 防范 ApproveScam 漏洞的最好方式是谨慎使用 approve 函数,尤其是在授权金额时。应当遵循以下原则: 1.只在必要时才调用 approve 函数,不要滥用或过度使用。 2.授权金额应当根据实际需求设置,例...
# 写一个 0 转账攻击合约 ## 备注 时间:2024 年 7 月 7 日 作者:[33357](https://github.com/33357) ## 正文 以太坊上有大量转账 Token 数量为 0 的合约,比如这个 https://etherscan.io/address/0x6c5319df4fcca5961d71e117287c76a1f2aad593 。这些合约...
注释 ```solidity //SPDX-License-Identifier: MIT pragma solidity 0.8.25; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import "@openzeppelin/contracts/utils/Strings.sol"; //import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; //import "@openzeppel...
# PoolManager ``` contract PoolManager is IPoolManager, Fees, NoDelegateCall, ERC1155, IERC1155Receiver { ... } ``` - 如上所示,PoolManager合约本身就是一个ERC1155合约,其中tokenId对应的是uint160(erc20 token address) ``` // erc20 token address --> erc1155 tokenId fu...
目前大部分新发的ERC20 Token都带有permit功能,即通过签名完成授权。签名的人不需要上链,省了gas,但是实际上更危险,一不小心签名,可能把所有的Token授权给他人了。下面是permit的细节 ```javascript /** * @inheritdoc IERC20Permit *...
### Omakub - 轻松构建你的开发环境 https://github.com/basecamp/omakub **Shooter**: 只需一条命令就能将全新的Ubuntu系统转化为一个配置完备、美观且现代化的Web开发平台。 ### GitButler - 新的Git 分支管理工具 https://gitbutler.com/ **Mark ...
## 0x00 起因 公司有个业务,需要用户将 ERC20 版的 USDT 转入一个合约,然后满足一定条件时通过该合约将转入的 USDT 转回给用户。 ropsten 测试网上测试,一切正常。合约审查,完全没问题。 顺利主网上线! 测试用户将 ...
# 什么是EIP和ERC? EIP是Ethereum Improvement Proposal的缩写,即以太坊改进提案。这个提案主要描述的是以太坊未来潜在的新的功能特性或者对之前一些技术、方案的改进和优化等等 ERC是Ethereum Request for Comment, 它是EIP的子集,专注于...
本文从技术角度详细介绍如何基于以太坊ERC20创建代币的流程. ## 写在前面 本文所讲的代币是使用以太坊智能合约创建,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看[以太坊是什么](https:/...
首先要说明的是StorJ是一个ERC20代币,而StorJ项目也不是一个传统意义上的区块链的分布式存储项目,因为它没有任何共识算法作为整个系统的安全保障。 我们先来说一下StorJ的文件存储的原理。 用户如果要在StorJ上存储文件...