Scroll 是一个基于零知识证明技术的新兴以太坊扩容方案,它兼具高速、安全与低成本特性,并且完全兼容以太坊虚拟机(EVM)。这意味着开发者可以无缝迁移其去中心化应用(DApp)至 Scroll 网络,无需修改代码。
近期,Chainstack 宣布支持 Scroll 的 Sepolia 测试网,进一步降低了开发者的接入门槛。本教程将手把手教你如何在 Scroll 上部署完整的 Uniswap V3 自动化做市商(AMM)套件,只需几个简单步骤即可完成。
Scroll 采用了分层零知识证明(ZKP)系统,分别针对证明者和验证者进行了优化。第一层优化了证明生成速度,通过定制电路和硬件友好型算法降低延迟;第二层则优化了验证效率,采用简洁证明和 EVM 兼容的验证算法,显著降低了交易成本。这种结构使 Scroll 在交易确认速度和 Gas 费用方面优于多数 Layer 2 方案,非常适用于 DeFi 和 NFT 交易等高吞吐量场景。
准备工作
在开始之前,请确保你已完成以下准备:
- 注册一个 Chainstack 账户,用于部署 Scroll Sepolia 节点。
- 安装 Node.js 作为 JavaScript 运行环境。
- 使用 Yarn 包管理器。
- 确保 TypeScript 版本为 V4.2.3 或兼容版本。
部署流程概述
本教程将引导你完成在 Scroll Sepolia 测试网上部署 Uniswap V3 智能合约的全过程。主要包括以下环节:
- 创建公共链项目并接入 Scroll Sepolia 测试网。
- 获取节点终端并充值测试币。
- 使用官方部署工具一键部署合约。
详细步骤说明
创建项目并接入测试网
首先,在 Chainstack 控制台创建一个新项目,并加入 Scroll Sepolia 测试网。具体操作可参考平台提供的引导流程。
获取节点终端地址
成功加入网络后,进入节点管理页面,复制你的 HTTPS 终端地址。该地址将用于后续的合约部署命令。
充值测试币
部署合约需要消耗 Gas,因此需先为你的钱包地址充值 Scroll Sepolia ETH。推荐按以下步骤操作:
- 访问 Chainstack Sepolia 水龙头领取 Sepolia ETH。
- 通过 Scroll 官方桥将资产跨链至 Scroll Sepolia 网络。
部署 Uniswap V3 合约套件
我们将使用 Uniswap 官方提供的 v3-deploy 库进行自动化部署。该库集成了所有核心合约,并支持通过 CLI 工具一键部署到任意 EVM 兼容链。
Uniswap 是 Web3 领域最流行的去中心化交易所(DEX)之一,而 V3 版本通过集中流动性设计显著提升了资本效率。自2021年上线以来,其总锁仓价值(TVL)已超过千亿美元。
配置部署环境
首先克隆仓库并安装依赖:
git clone https://github.com/Uniswap/deploy-v3.git
cd deploy-v3
yarn install
完成安装后,构建 TypeScript 项目:
ncc build index.ts -o dist -m
构建成功后将输出类似如下信息:
ncc: Version 0.36.1
ncc: Compiling file index.js into CJS
1480kB dist/index.js
✨ Done in 3.76s.
执行合约部署
接下来需要准备以下参数:
- 部署账户的私钥(以
0x开头) - Chainstack 提供的 Scroll Sepolia HTTPS 终端
- 管理员合约的接收地址
运行以下命令进行部署(请替换相应参数):
yarn start -pk <你的私钥> -j <你的终端地址> \
-w9 0xa1EA0B2354F5A344110af2b6AD68e75545009a03 \
-ncl ETH -o <管理员地址>
参数说明:
-pk: 部署账户的私钥-j: JSON-RPC 终端地址-w9: WETH9 合约地址(Scroll 测试网固定地址)-ncl: 原生货币符号(此处为 ETH)-o: 管理员地址
执行后,终端将逐条显示合约部署状态:
Step 1 complete [
{
message: 'Contract UniswapV3Factory deployed',
address: '0x0287f57A1a17a725428689dfD9E65ECA01d82510',
hash: '0x9832d37fc03460326a4a17a77bf81ad0f7c4e75a4a5d495230bc49cb93f7d1d6'
}
]
部署完成后,所有合约详情会保存在 state.json 文件中。至此,你已成功在 Scroll 测试网部署 Uniswap V3!
核心合约解析
UniswapV3Factory
作为系统的核心工厂合约,负责创建新的流动性池、管理手续费等级以及维护所有池子的基本信息。
UniswapInterfaceMulticall
支持将多个调用合并为单次交易,显著降低交互复杂度与 Gas 消耗。
ProxyAdmin 与 TransparentUpgradeableProxy
代理合约模式允许项目后期无缝升级逻辑合约,无需迁移数据或中断服务。
TickLens
提供池子中 tick 数据的查询功能,包括初始状态、流动性分布等关键信息。
NonfungibleTokenPositionDescriptor 与 NonfungiblePositionManager
共同管理 ERC-721 LP 持仓代币,包括元数据描述和流动性操作接口。
V3Migrator
专为从 V2 迁移至 V3 设计的工具合约,支持流动性平滑转移。
UniswapV3Staker
激励用户通过质押代币参与流动性挖矿,奖励以池子的原生代币发放。
QuoterV2 与 SwapRouter02
- QuoterV2: 提供预报价功能,用户可在执行交易前预估成交价格与滑点。
- SwapRouter02: 负责实际交换执行,支持多路径路由和最优价格计算。
常见问题
为什么选择 Scroll 部署 Uniswap?
Scroll 基于 ZK-Rollup 技术,在保证以太坊级安全性的同时大幅降低了交易成本、提高了吞吐量,非常适合高频交易的 DeFi 应用。
部署过程中最常见的错误是什么?
主要是参数配置错误,如私钥格式不正确、终端地址无效或测试币余额不足。请仔细检查各项参数是否符合要求。
是否可以在 Scroll 主网部署?
可以。只需将教程中的测试网配置更换为主网节点和信息即可,但主网操作需使用真实 ETH 并承担相应成本。
Uniswap V3 相比 V2 有哪些改进?
V3 引入了集中流动性机制,允许 LP 在特定价格区间内做市,从而大幅提升资本效率,减少无常损失。
部署后如何验证合约?
可通过 Scroll 区块浏览器查询部署交易哈希,确认合约状态和所有交互记录。建议在开源验证平台提交合约代码进行验证。
结语
通过本教程,你已经掌握了在 Scroll 网络部署 Uniswap V3 的全流程。无论是测试网还是主网,这套方案都能帮助你快速搭建去中心化交易环境。部署完成后,你可以继续添加流动性、创建交易对,或集成到自己的 DApp 中。
Scroll 的高效与低成本特性,为 DeFi 项目提供了新的发展机遇。现在就开始你的部署之旅吧!