现代 DeFi: Uniswap V3
概述 本文将带领读者从零实现 Uniswap V3 的所有功能。在内容上,本文主要参考了 Constructor | Uniswap V3 Core Contract Explained 系列教程,同时部分内容也来自 Uniswap V3 Development Book 以及 Paco 博客。 本文内的代码可以参考 clamm 代码库。 ...
概述 本文将带领读者从零实现 Uniswap V3 的所有功能。在内容上,本文主要参考了 Constructor | Uniswap V3 Core Contract Explained 系列教程,同时部分内容也来自 Uniswap V3 Development Book 以及 Paco 博客。 本文内的代码可以参考 clamm 代码库。 ...
概述 在笔者之前的几篇使用 Clickhouse 进行数据分析的文章内使用了 Clickhouse 作为数据分析工具,并采用了 ifast 作为数据源。但 ifast 在很久前就已经停止运营。而且依赖 ifast 并不是一个很好的选择。本文将摆脱对 ifast 数据源的依赖。但是我们依旧保留之前的文章,因为这些文章内的数据清洗工作具有较高价值。 ...
概述 Morpho 是目前以太坊内第四大借贷协议(数据来源为 defillama)。相比于其他高度复杂的借贷协议,Morpho Blue 的合约使用了 500 行代码就完成了所有的借贷工作。同时,Morpho 也是一个无许可的借贷协议,任何用户都可以调用合约内部的 createMarket 函数使用指定的参数创建交易市场。但是需要注意,Morpho 也并不是完全自由的,用户不可以随意指定一些借贷参数。 ...
概述 椭圆曲线密码学是现代区块链的核心之一,Ethereum 和 Bitcoin 等都依赖于椭圆曲线密码学(Elliptic-curve Cryptography,简称为 ECC)。在本文中,我们将介绍 Ethereum 使用的椭圆曲线算法 secp256k1 并尝试从零开始实现它。 ...
概述 最近发现了一个 非常有意思的 PPT 介绍了大量的 gas 优化技巧,本文为此 PPT 的文字版本,但与 PPT 不同的是,本文会会介绍合约内函数 gas 的计算并尽可能介绍每种优化方案的原理。 ...
概述 如何对早期的想法或者应用进行价值共识,并参与投资?这在去中心化世界是一个巨大的挑战。ERC7527 遵循“信贷创造货币”的共识,提出了一种基于 Premium 驱动的去中心化定价的范式。 ...
概述 纯链上资产定价是一项相当有趣的工作,常见的方案都是基于函数报价。具体来说,包含以下三类: 各类用于代币互换的 AMM 曲线,以 Uniswap 推出的 x * y = k 最为著名 直接根据供应量等因子给出报价的 Bonding Curve 方案,近期的 FriendTech 和 pump.fun 都属于此类 基于拍卖的方案,链上拍卖方案往往使用荷兰式拍卖以提高效率,较少见到因英式拍卖,且由于技术问题,也较难见到基于密封报价的盲拍。较为著名的是 paradigm 推出的 GDA 和 VRGDA 方案,以及 UniswapX 内的荷兰式拍卖方案 上述不同的函数定价方案都存在一定的优点和缺陷,本文将首先介绍这些目前已经被广泛使用的链上资产定价方案,然后本文将介绍基于 ERC7527 及连续函数报价的新一代链上资产定价方案。 ...
概述 作为以太坊开发者,拥有自己的以太坊节点是一个常规操作。而且大量的以太坊项目也依赖于以太坊节点,本文将向读者介绍如何最快的部署以太坊的完整节点,包括执行层节点与共识层节点。我选择使用 Reth 作为执行层节点,选择使用 Lighthouse 作为共识层节点。 ...
概述 对于伪随机数的生成,特别是正态分布随机数的生成在智能合约内拥有较为广阔的使用场景。本文主要讨论链上的伪随机数生成。链上没有真随机数的观点是正确的,但是此观点不应该阻碍智能合约工程师探索链上高质量伪随机数生成,链上也有具有较难操纵的随机数来源,比如 EIP-4399 引入的 PREVRANDAO 操作码,但是将此随机数作为种子计算如正态分布的随机数的有关讨论则较少在智能合约领域提及,本文主要对此问题进行讨论。 ...
概述 VRGDA(Variable Rate GDAs) 是一种渐进式荷兰式拍卖(Gradual Dutch Auctions, GDAs)的扩展,其作用是在超长代币发行期间保持一个合理价格的且定期的流动性释放。而普通的 GDAs 则是只可以保证代币出售的价格合理,但不能保证代币在合适的时间释放。 ...