# zksync上的首个汇总订单薄DEX--ZigZag(Doc中文版) **Published by:** [Forward](https://paragraph.com/@forward-2/) **Published on:** 2022-05-02 **URL:** https://paragraph.com/@forward-2/zksync-dex-zigzag-doc ## Content (一)在zksync上一、跨链指南如果您想在 zkSync 上使用 ZigZag Exchange,您首先需要将您的资金从以太坊第 1 层桥接到 zkSync 第 2 层。之后, zkSync 的设计需要一次性激活费来激活您的帐户。然后您就可以开始在 ZigZag 上进行交易了。转到trade.zigzag.exchange/bridge,将 zkSync 网络切换到首选网络(主网或 Rinkeby),连接您的钱包并签署消息以访问您的帐户;填写您要转账的金额,点击 ETH 转账或任意 ERC-20币进行批准+转账; 如果您选择 ETH,您可以立即桥接到 L2。如果您选择任何 ERC-20,您首先需要批准该ERC-20币,然后才能转移;在 Metamask 中确认交易并等到您的资金被桥接到 zkSync;资金到账后,在trade.zigzag.exchange开始交易。二、帐号激活什么是账号激活费 账户激活费是您在 zkSync 注册账户的一次性费用。此费用仅适用于您的第一个 zkSync 交易。在更深层次上,为了更适合零知识证明,zkSync 账户定义在与以太坊不同的椭圆曲线上。激活您的帐户会在与您的以太坊地址关联的这条曲线上生成并发布一个新的私钥-公钥对。注册过程直接发生在以太坊智能合约上,因此它是 L1 交易,因此激活费是支付给以太坊矿工而不是 zkSync 验证器。ERC-1271 兼容的钱包(如 Argent)由于与 zkSync 智能合约的更高交互性而增加了这一一次性费用。如果您使用基于 CREATE2 智能合约的钱包,此操作会更便宜。 https://docs.zksync.io/userdocs/faq.html三、主网交互指南将您的网络切换到以太坊主网转到trade.zigzag.exchange/bridge并将网络切换到 zkSync - 右上方的主网将钱包和资金从 ETH L1 连接到 zkSync L2将您的钱包连接到trade.zigzag.exchange,签署 zkSync 设计的一次性激活费并开始交易!查看账户和交易详情:查看余额: 1.转到trade.zigzag.exchange并单击'Orders' and 'Fills'旁边的'Balances'(余额)选项卡 2.zkscan.io查看交易详情:zkscan.io另一种选择是访问wallet.zksync.io/account也可以使用官方网桥:wallet.zksync.io四、快速取款桥您可以通过我们的快速提现桥立即将以下代币从 zksync 提现到 ETH L1:以太坊FRAXUST费用从 L1 发送前的金额中扣除。过桥费是当前的 L1 汽油费 * 1/5。 该桥在主网和 Rinkeby 测试网上都可用。要使用跨链桥,请将您支持的令牌发送到以下地址:0xcc9557f04633d82fb6a1741dcec96986cd8689ae请等待约 1 分钟,以便在以太坊主网上挖掘下一个区块,您将收到您的 L1 代币。可在此处找到快速提款桥流动性: https://etherscan.io/address/0xcc9557f04633d82fb6a1741dcec96986cd8689ae警告仅发送支持的令牌。不受支持的代币可能无法正确返还资金。这是一个单向桥。不要将您的代币发送到我们在 L1 上的桥接地址。如果您发送的金额超过了网桥的处理能力,您将获得交易退款。太小不能超过汽油和过桥费的金额将被退还。五、polygon<>zksync桥接我们的 zkSync <> Polygon bridge 处于 alpha 模式。网桥地址为:0xbb256f544b8087596e8e6cdd7fe9726cc98cb400 https://zkscan.io/explorer/accounts/0xbb256f544b8087596e8e6cdd7fe9726cc98cb400 https://polygonscan.com/address/0xbb256f544b8087596e8e6cdd7fe9726cc98cb400将 zkSync(https://wallet.zksync.io/)上的ETH或 Polygon 上的WETH发送到该地址将触发另一端的桥接。不要将任何其他令牌发送到网桥! 作为 alpha版本,我们在两边都加载了 5 个 ETH 。随着代码的稳定,我们将显著增加(100+ ETH)。目前还没有 UI,一旦我们对桥有信心,我们就会添加一个。 这是一个 alpha版本,因此有可能跨链会丢失。如果您的跨链桥不起作用,请在 Discord 上联系我们。当跨链桥处于 Alpha 阶段时,请不要发送大规模数量。六、ZigZag做市商做市商地址https://zkscan.io/explorer/accounts/0x5364ff0cecb1d44efd9e4c7e4fe16bf5774530e3 https://zkscan.io/explorer/accounts/0x2990d87e823d3cca83683207dcb2d5660debf376 https://zkscan.io/explorer/accounts/0x8b942088245328a5c34f70ac5a27cc718b3db7c8 https://zkscan.io/explorer/accounts/0x88d23a44d07f86b2342b4b06bd88b1ea313b6976重新平衡做市商资金为了在货币低位时重新平衡做市商的资金并为做市商充值,我们必须手动发送资金。这是通过以下方式完成的: https://zkscan.io/explorer/accounts/0x38abcf7e59adf3b918362ee455786d55bb7c1d88七、运行做市商机器人指南任何人都可以运行做市商机器人来完成传入的订单。做市商机器人可以在 GitHub 中找到:https://github.com/ZigZagExchange/market-maker 。有关如何运行机器人的说明和详细信息在 README 中。 如果您需要更简化的分步说明,请继续阅读。如果您在阅读本指南后仍然遇到问题,请加入我们的 Discord ( discord.gg/zigzag )。我们还向任何经营做市商的人提供 Discord 角色(“MM bot”)。加入 Discord 申领你的角色! 注意:您需要不时更新您的做市商。请务必查看 GitHub 存储库 ( https://github.com/ZigZagExchange/market-maker ) 并在 Discord 上声明您的“MM bot”角色以接收公告。1、要求激活的 zkSync 账户该账户的以太坊私钥该账户中有你想要做市商的货币对资产(例如eth-usdc)Cryptowatch API 密钥(限时免费) https://cryptowat.ch/zh-cn/account/login?redirect=/zh-cn/account/api-accessNode.js https://nodejs.org/en/download/Node.js 16 适用于 macOS、Windows 和 Linux(17 似乎不适用)可选:当你在运行机器人时出现网络延迟,请准备VPS2、macOS/Windows/Linux下载并打开/解压 https://github.com/ZigZagExchange/market-maker 如图点击Code-→Download ZIPa) 在 macOS 或 Linux (Unix)上打开终端 b) 在 Windows 上打开 cmd 或从 Windows App Store 安装终端 1.运行cd //linux平台,进入文件夹路径的意思 //(指文件夹路径,比如我的D:\market-maker-master) 如图是我的界面图,我的是windows10,教大家一个技巧,可以直接在当前路径下,在路径框输入cmd,就能在当前路径下打开终端。就会转到如图:运行npm install如图显示安装成功(运行后会显示node版本信息)。 2.获取Cryptowatch API 的Public Key(运行做市商机器人需要)(1) Cryptowatch是一个在线行情监测平台。运行做市机器人需要通过Cryptowatch平台API喂价。进入Cryptowatch注册一个账号。 https://cryptowat.ch/ (2) 登陆账号以后点击API Access,进入获取API页面。如下图所示。(3) 点击生成密钥,出现API公钥和私钥,如下图所示。请记住公共密钥(Public Key),因为接下来需要用它配置机器人。3.从做市商文件夹中复制文件config.json.EXAMPLE并对其重命名为config.json4.用文本编辑打开config.json(1)"cryptowatchApiKey"配置为 CryptoWatch API 密钥 (2)"ethPrivKeys"配置为以太坊私钥 (3)如果您想对某个货币对做市商,请将它们设置为 true(活动),如果您不想运行它们,则将它们设置为 false(非活动) (4)调整Size(基础资产)和Spread(百分比) (5)保存并关闭打开终端/cmd并运行机器人node marketmaker.js可选:使用 ctrl+c 停止机器人运行成功后显示如图: https://twitter.com/0Kombat/status/1521428295702966272?s=20&t=6Sx1SOD1Mnmg47wlU3p9vA八、列出新的货币对指南在 ZigZag 上列出新的货币对需要令牌存在于 zkSync 上。如果您的令牌出现在此列表中,您可以检查它是否存在于 zkSync:https://zkscan.io/explorer/tokens 。如果没有,请继续阅读。如果是,请跳至“在 ZigZag 上列出您的货币对”。1.在 zkSync 上列出你的代币单击“添加新代币”并支付 500 DAI 费用(来自以太坊主网)以使您的代币以未经许可的方式上市。等待几分钟,让令牌出现在列表中。2.在 ZigZag 上列出您的配对如果您的代币确实存在于 zkSync 上并且具有内部 ID,请继续访问https://trade.zigzag.exchange/list-pair。首先,购买 0.5 USDC 的 Arweave 配额。然后填写表格:上找到的内部 ID将掉期费用设置为尽可能接近 1 美元确定您希望货币对的价格出现在多少位小数中(例如:1.000710 美元 DAI/USDC = '6' 位小数如果适用,将网络更改为 Rinkeby为了让您的货币对能够进行交易,请前往https://github.com/ZigZagExchange/market-maker运行流动性节点,提供流动性。九、Arweave 桥您可以通过直接在 zkSync 上支付以 1 美元/MB 的价格访问 Arweave 存储。关于如何使用我们的 Arweave 桥的说明可以在这里找到:https://github.com/ZigZagExchange/arweave-bridge 。我们为什么要建造 Arweave 桥?最初的以太坊愿景有一个名为 Swarm 的组件,它应该是一个去中心化的存储层,供 dApps 使用。包含它太复杂了,所以它被罐装了。快进 6 年,我们仍然没有很好的方式让以太坊上的用户访问文件存储。Filecoin 可以,但坦率地说,Arweave 的架构更好,也更成熟。目前,这些网络都不允许您直接从 L2 付款。 为了实现无权限列表,用户需要将配对元数据存储在可公开访问的空间中,并保证数据不会消失。强迫用户获取$AR来列出一个代币似乎很笨拙,所以我们建立了一个桥梁。您可以使用 USDC、USDT 或 DAI 在 zkSync 上直接付款,并将数据发送到 Arweave 上进行永久存储。 作为奖励,我们意识到这可以作为 L2 的去中心化文件存储层,因此我们决定开源代码并将其作为一个单独的项目分离出来。我们未来的 NFT 市场将使用这项服务。OpenSea 和其他服务使用 IPFS,但它是一个笨重的系统,并且由于网络拓扑问题,内容经常丢失或无法访问。 我们认为 Arweave 有潜力成为以太坊 dapps 的文件系统,我们希望帮助实现它。我们将把这座桥延伸到 Starknet 以及我们建立的任何其他链。 我们的服务目前以 1 美元/MB 的价格提供存储。列出一对将消耗约 1kB,因此列出一对支付的数据费用不应超过 0.01 美元。我们将在未来根据需要对存储重新定价,以使上市 NFT 也变得便宜。 用户可能甚至不会注意到他们正在与此服务进行交互。这主要是为了让 dApps 提供一种简单的方法来允许用户为自己的存储付费。十、代币信息ZigZag Exchange zkSync 1.x 上列出的所有代币都可以在这里找到:https://zkscan.io/explorer/tokens/ 。zkSync 根据 Coingecko 和 Uniswap 过滤掉令牌并列出正确的令牌。ZigZag 只能列出通过 zkSync 的智能合约桥接的代币。 代币名称和代码是从代币合约中提取的,可以在该对下找到。令牌图标也显示:关于某些代币的说明:FTM - NativeMATIC - NativeLUNA - WormholeUST - WormholeSOL - WormholeAVAX - Wormhole十一、限价单限价单在 zkSync 1.x 上生效。7 天后,限价单将到期,必须设置新订单。在 zkSync 1.x 上,您一次只能打开一个订单,所以现在如果您已经打开了一个限价订单,就不能在该帐户上再下其他订单。十二、已启动、待处理、已完成的交易“已启动”:zkSync 服务器已经接收并处理了事务。如果是传输,则可以立即使用。 “待处理”:交易出现在提交给 L1 智能合约的区块中。 “完成”:交易的区块已经在 L1 智能合约上得到证明和验证。十三、费用简而言之,用户为交换支付 zkSync 网络费用(如在 zkscan 或https://l2fees.info/上的 tx 中找到),此费用约为 0.50 美元。除快速提款外,过桥费取决于以太坊主网 gas。为了更详细地解释这一点,我们看到了人们可能有疑问的 5 种可能的费用类型。 1.兑换(swap)费用 ZigZag 使用的动态费用:用户为交换支付当前的 zkSync 网络费用。在 zkSync 上,网络费用取决于网络活动和 L1 gas。随着 zkSync 上的更多活动,兑换的费用将会下降。因此,兑换费用将降低。 在 ZigZag 上,使用你交易的代币支付兑换费用。例如,你不需要 ETH 来支付掉期费。如果您从 DAI 网跨链到 zkSync网,您可以将 DAI 换成 ETH,并用您的 DAI 支付 gas 费用。 2.交易费用 我们不收取任何额外的交易费用。 3.(快速取款)桥接时的 Gas 费 当从以太坊主网 (L1) 桥接到 zkSync (L2) 或从 L2 回到 L1 时,您需要支付 gas 费。该gas费用取决于L1 gas,与zkSync或ZigZag无关。一定要检查以太坊上当前gas,以便在桥接时选择一个好时机并省钱。 当从 zkSync 桥接到以太坊时,gas 费用会显示在签名消息中。仔细阅读。十四、随机数不匹配下订单时有时会出现“随机数不匹配”错误,从而导致订单被拒绝。这不会导致扣除天然气或交易费用。作为用户,你可以做的是刷新、重新连接你的钱包并下一个新订单。 当用户签署订单时,随机数包含在签署的消息中。因此,当交换提交时,用户的 nonce 必须与签名的 nonce 匹配。如果用户或做市商在提交交换之前增加了他们的随机数(通过进行任何其他交易,例如转移、提款或其他交换),那么他们签署的订单将无效。当做市商必须一次进行大量兑换时,这一点尤其明显。 我们打开了多个做市商机器人,这使得这个问题基本上不明显。(二)在StarkNet上StarkNet 测试网(当前已禁用) 我们正在等待 StarkWare 在 StarkNet 上发布 ERC20。然后我们将重新打开我们的测试网。 我们的 StarkNet 测试网可以在我们的网站上找到:https://trade.zigzag.exchange/ 。现在,我们已经实现了一个自动铸造假代币的浏览器钱包。订单簿和限价单是真实的,但功能有限。我们知道所有的bugs和error。(三)如何使用ZigZag1.在ETH主网上有一个像MetaMask这样的以太坊钱包和一些ETH.2.转到 https://wallet.zksync.io 并连接您的钱包.3.单击“+添加资金”,选择ETH,输入您的金额,然后单击“添加资金”,这会将资金从ETH L1发送到ETH L2 zkSync.4.交易完成后,单击“确定”并等待ETH显示在“L2 中的余额”https://wallet.zksync.io/account 上,另请参阅 https://wallet.zksync.io/token/ETH 了解更多详情5.转到 https://trade.zigzag.exchange 连接您的钱包并签署zkSync消息. ## Publication Information - [Forward](https://paragraph.com/@forward-2/): Publication homepage - [All Posts](https://paragraph.com/@forward-2/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@forward-2): Subscribe to updates - [Twitter](https://twitter.com/boilla9): Follow on Twitter