Web实习计划(三)
Web3实习计划(三)1.25终于整完了反应式智能合约Uniswap V2 止损订单,还是昨天的Recat agent ing 1.26今天尝试用了一下hardhat,和foundry相比只能说各有优劣,然后把token vendor解决。 1.27整理Uniswap V2 V3的学习笔记。 1.28今天白天有事,晚上在忙着构思和策划hackathon。 1.29学习Uniswap V4 ing + hackathon!!!! 1.30继续hackathon !!!!今天继续学习了一点UniswapV4 1.31今天整理了一下ERC标准,然后继续干hackathon!!!! 2.1整理笔记上传博客。
ERC
ERC什么是以太坊的ERC?ERC是Ethereum Request for...
UniswapV4
Uniswap V4Uniswap v4 是为以太坊虚拟机(EVM)实现的去托管自动化做市商。Uniswap v4 通过任意代码逻辑的 hook 实现定制化功能,允许开发者在 Uniswap v3 引入的集中流动性模型的基础上添加新功能。在 Uniswap v4 中,任何人都可以创建带有指定 hook 的新池,该 hook 可以在预先定义的池操作之前或之后执行。Hook 既可以用于实现之前内置于协议中的功能(如预言机),也可以实现此前需要在协议外独立开发的全新功能。Uniswap v4 还通过单例实现、闪电结算以及对原生 ETH 的支持,带来了更高效的 gas 和更友好的开发者体验。这些创新解决方案旨在简化链上计算,降低成本和复杂性,同时在基于 Uniswap 的协议设计中提供更多的资本效率和灵活性。 与之前版本的 Uniswap 协议一样,它具有去托管、不可升级和无许可等特性。Uniswap v4 基于 Uniswap v1 和 v2 的 AMM 模型,以及 Uniswap v3 引入的集中流动性模型,它的核心关注点在于:为开发者带来更多的可定制化功能,以及为了提高 gas...
UniswapV3
Uniswap V3通过AMM进行代币交换时,预期价格和实际交易价格之间必然产生滑点(Slippage)。并且当池中的流动性不足且交易量大的时候,滑点会加大,滑点越大交易者就不得不以更高价格来交易代币。为了在一定程度解决滑点问题,出现了变化流动性区间——使得Uniswap V3成为设计最灵活、最高效的AMM(自动做市商)。流动性提供者(Liquidity Providers)可以根据需要自行定义该区间范围,设定这个范围意味着供给的代币仅能在“特定价格范围”内进行交换,并将资金集中在某个价格区间内,滑点更下,极大提高资本效率,提升了交易深度和收益率。 集中流动性流动性供给限定在特定价格范围内被称为集中流动性(Concentrated Liquidity)。通过这种方式可以避免供给者承担未用于交换的流动性,从而实现更高效的流动性供给。流动池里面的资金在特定的价格范围内都将被利用。 准时流动性(JIT Liquidity)准时流动性(JIT Liquidity)...
UniswapV2
UniswapV2Uniswap V2 是以太坊上去中心化交易所(DEX)的第二个主要版本。它使用 自动做市商(AMM) 机制,允许用户在无需订单簿的情况下进行代币交易。以下是 Uniswap V2 的核心概念和关键点: 1. Uniswap V2 主要特性 基于 AMM(自动做市商) 采用 恒定乘积公式 x * y = L^2^,保证流动性池中两个代币的乘积保持不变。 流动性池(Liquidity Pools) 由两个代币组成,例如 ETH/USDC。 交易由池内资产重新平衡完成。 去中心化 & 无需许可 任何人都可以提供流动性或创建新交易对。 流动性提供者(LP) 任何人可以向池子存入 等值 的两种代币,赚取交易费用(默认 0.3%)。 LP 份额用 ERC-20 代币表示(LP 代币)。 价格预言机 通过 累积时间加权平均价格(TWAP) 提供更可靠的价格信息。 支持 ERC-20 到 ERC-20 直接交易 V1 只能 ETH <-> ERC-20,V2 允许 ERC-20 <->...
Web实习计划(一)
Web实习计划(一)1.12区块链的概念区块链是一种按某种顺序将数据区块以hash指针相连的方式组合而成的链式数据结构,并以密码学、共识算法方式保证其不可篡改和不可伪造。 (工信部定义) 区块链是一种去中心化的分布式账本技术,用于在网络节点之间安全、透明且不可篡改地记录事务数据。每条链由一系列按照时间顺序相连的“区块”组成,每个区块内部包含了多笔交易数据及元数据,确保了数据记录的完整性与可追溯性。 区块链的特点:==公开透明、难以篡改、全程追溯、去中心化== 公开透明: 任何用户通过运行比特币或者以太坊的全节点客户端都能下载完整的账本数据并查看上述交易及账 户信息。 难以篡改: 区块链系统中的链式数据结构,是由包含交易信息的区块按照时间顺序从先到后链接起来的,...
Web实习计划(二)
Web实习计划(二)1.16把这周的笔记汇总整理了一下。然后做钓鱼攻防任务ing。 1.17数据存储Solidity合约数据存储采用的为合约的每项数据指定一个可计算的可存储位置,数据存储在一个容量为2^256^超大数组中,其中数组的每个元素的初始值都为0。而2^256^是一个超级大的数字,足够容量合约需要任意大小的存储。Solidity是插槽式数据存储,每个插槽可存储32字节的数据,当某个数据超过了32字节,则需要占用多个存储插槽(占用插槽数量由数据长度决定,data.length/32)。 对于数据长度是否已知,solidity有不同的存储方式: 当数据长度已知时,则存储位置将在编译时指定存储位置; 定长数据存储:Solidity编译器在编译合约时,当数据类型是值类型(固定大小的值)时,编译时将严格根据字段排序顺序,给每个要存储的值类型数据预分配存储位置。 相当于已提前指定了固定不变的数据指针。 紧凑存储:一大部分值类型实际上不需要用到 32 字节,如bool、uint1 到 uint256。 为了节约存储量,编译器在发现所用存储不超过 32...
DLNU25ctf考核wp
考核wp[toc] Pigeon合约这个题需要我们满足:盗走合约余额,并且使我们所有。 逻辑关键点在于task函数、flyway函数以及promotion函数,我们需要通过调用task函数积累任务点数,任务点数可以晋升。再加上你随时可以飞走,而晋升是需要扣掉你的余额的,但是飞走可以让你带走余额。所以我们可以先成为鸽子,薅空投可以获得4余额,然后调用2次task函数,一次4,两次8 ,然后飞走,晋升中级鸽子;再调用task,一次4 三次12,可以晋升到高级鸽子。这样可以无损晋升。 合约突破点在晋升时,我们的名字拥有一次重命名的机会,而名字是通过codename = keccak256(abi.encodePacked("code",...
R3CTF_blockchain
R3CTF_blockchain这个合约 Vault 是一个基于 ERC4626 标准的简化版代币化金库(Tokenized Vault),可以接受一个特定的 LING 代币的存款,发行代表份额的 vLING...
Chainlink 价格预言机
Chainlink...