# 估值18亿美元 Scroll测试网最全交互教程

By [CPBOX](https://paragraph.com/@cpbox) · 2023-05-12

---

Scroll 最近成功从 Polychain 资本、红杉资本等知名 VC 筹集了 5000 万美元。总体而言，Scroll 成功筹集了 8300 万美元。

Scroll 现在估值为 $ 1,8 B

Scroll 是基于以太坊上 zkEVM 的 zkRollup，提供与现有以太坊应用程序和工具的原生兼容性。简单来说，它是一个新的以太坊第 2 层网络。

目前，alpha 测试网阶段正在进行中，在 pre-alpha 版本期间，实现了 100 万个唯一地址和 1600 万笔交易

一、准备
====

步骤1、登录官网、链接测试网

登录：[https://scroll.io/alpha](https://scroll.io/alpha)

将网络（Goerli 测试网和 Scroll Alpha 测试网）添加到 metamask 钱包

![](https://storage.googleapis.com/papyrus_images/46121c10eb37001b8fbd744bc7f7e22db2c3dd9dd20ada27fc730a19749bb011.png)

**步骤2、领取测试网代币**

使用[https://goerlifaucet.com/](https://goerlifaucet.com/) 领取测试网代币

![](https://storage.googleapis.com/papyrus_images/1ca222d2030ea272330cb18a0570037fe241888b7e610907ec2c3dbbfcfe5a9c.png)

二、Bridge
========

登录桥接部分：[https://scroll.io/alpha/bridge](https://scroll.io/alpha/bridge)

将 ETH 从 goerli testnet 发送到 Scroll Alpha testnet 网络

![](https://storage.googleapis.com/papyrus_images/fa2adb9f931203670bff87c65c53e7acb1f288bf23e4d42e03ff8f8a3cab3a9b.png)

![](https://storage.googleapis.com/papyrus_images/e4babec0b389a05dbc83c3bc60e974c10168a2d5b877bb71da131769fa1bde65.png)

让小狐狸向任何其他钱包发送少量金额。

![](https://storage.googleapis.com/papyrus_images/a39188d5cb21f403394caebad5e7d26afc5e7708ea10ee2fe50add6a266743a0.png)

现在我们需要从Scroll Alpha testnet中提取少量ETH回Goerli网络，

返回桥接部分，并确保在 Scroll Alpha 测试网上并发送给 Goerli。 [https://scroll-usdc-faucet.vercel.app/](https://scroll-usdc-faucet.vercel.app/)

![](https://storage.googleapis.com/papyrus_images/82fab19b4aa3a2d2a2b4753b37287a8c67a128d00a9a5b540b94a76c6d7f5d89.png)

![](https://storage.googleapis.com/papyrus_images/8e40449c32a54c85392c4854ea0867061687618a6d6ffe94be6a1534833804ef.png)

三、添加流动性
=======

要获得 testnet USDC 代币，请点击链接，并从水龙头领取 USDC； [https://scroll-usdc-faucet.vercel.app/](https://scroll-usdc-faucet.vercel.app/)

![](https://storage.googleapis.com/papyrus_images/799e422bccad351b8d34d6971f9bb9259fc889fe92983609d5c318a6d0f7052b.png)

点击链接，兑换 USDC（可以添加 USDC 合约 0xA0D71B9877f44C744546D649147E3F1e70a93760） [https://uniswap-v3.scroll.io/#/swap?outputCurrency=0xA0D71B9877f44C744546D649147E3F1e70a93760](https://uniswap-v3.scroll.io/#/swap?outputCurrency=0xA0D71B9877f44C744546D649147E3F1e70a93760)

![](https://storage.googleapis.com/papyrus_images/5ba047244a1e879b2ea0891525545e86eaab40b380268246f42295e0f8fbc404.png)

将少量的 ETH 换成 USDC

![](https://storage.googleapis.com/papyrus_images/6cca276e53caea363e53e230c1086bafad618d6ed31429b49cb275f891bf50bb.png)

点击链接，并创建+new position，以便添加流动性 [https://uniswap-v3.scroll.io/#/pool](https://uniswap-v3.scroll.io/#/pool)

![](https://storage.googleapis.com/papyrus_images/0341dbfc5c5ddaf39da2f4b7d4507a11c3041d984d34e93a19911110be880959.png)

选择 ETH — USDC对，选择 0.3% 和全范围

![](https://storage.googleapis.com/papyrus_images/40ba2e5ac4ea04544f2ac313eb63cd9bd4f0e1e85d8a0e01927b046662de4061.png)

然后点击 I Understand

![](https://storage.googleapis.com/papyrus_images/039dce9f747a25314444bca1d353fafe7ac74d9d5152db05228a36407381efd4.png)

输入要添加的金额并确认所有操作

![](https://storage.googleapis.com/papyrus_images/e0bcfd1d8bbcae1bb371446b5e772ff04f85b86a074744859319a74a1d73db84.png)

![](https://storage.googleapis.com/papyrus_images/f90cba4df8f88cf578006c6b495861dac6ae8f79e064b9f969e4f70177704aca.png)

按关闭

![](https://storage.googleapis.com/papyrus_images/6b4ed23408d862eab1ba826d53bdcc9c0c5d06be8860562f7426327bb3719ccb.png)

现在看到我们的位置，可以删除一小部分

![](https://storage.googleapis.com/papyrus_images/ebf17c9174948ac873546d46aab2aee6c32b755acc55e6299af3ee1a690e4c6d.png)

点击Remove liquidity

![](https://storage.googleapis.com/papyrus_images/48ddf364529ca3552dba392220618db810e2c7ba7cce2a1dce98da36fae1d11b.png)

移除 25% 的流动性

![](https://storage.googleapis.com/papyrus_images/1c030d31264d34b00262aa79ff14f07cfc5852e71ac963fd105c39fe67db4bbb.png)

**到这里我们完成了最简单的部分，下一步是智能合约部署**

四、部署智能合约
========

点击链接，按照如下所示进行操作：

1、 单击图标

2、写合约名称

3、点击空白处 [https://remix.ethereum.org/](https://remix.ethereum.org/)

![](https://storage.googleapis.com/papyrus_images/692ce3161ae80aaffcf3c9b50637f79630fac90ce86b5a850f3a692113c72b16.png)

从这里复制此代码，[官方文件](https://guide.scroll.io/developers/contract-deployment-tutorial)

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.4;
    contract FunctionTypes{
        uint256 public number = 5;
        
        constructor() payable {}
    

      // 函数类型
        // function (<parameter types>) {internal|external} [pure|view|payable] [returns (<return types>)]
        // 默认function
        function add() external{
            number = number + 1;
        }    // pure: 纯纯牛马
        function addPure(uint256 _number) external pure returns(uint256 new_number){
            new_number = _number+1;
        }
        
        // view: 看客
        function addView() external view returns(uint256 new_number) {
            new_number = number + 1;
        }    // internal: 内部
        function minus() internal {
            number = number - 1;
        }    // 合约内的函数可以调用内部函数
        function minusCall() external {
            minus();
        }    // payable: 递钱，能给合约支付eth的函数
        function minusPayable() external payable returns(uint256 balance) {
            minus();    
            balance = address(this).balance;
        }
    }
    

单击空白区域并使用命令粘贴代码：

MAC 用户_cmnd + V_

Windows_用户 ctrl + V_

![](https://storage.googleapis.com/papyrus_images/38012f6b58283fc6aefa0ae7932773a148f7cc77be6fb537f1600e05df4eae0f.png)

ok

![](https://storage.googleapis.com/papyrus_images/672ec1910e63bbad98988c623f2c47552193a71e73960f9d8884d2b3e993a757.png)

MAC 用户按_cmnd + S_

Windows 用户按_ctrl + S_

现在你应该看到绿色复选标记，如下所示:

![](https://storage.googleapis.com/papyrus_images/be95647f6a54b26e53c9e558cd2544c7dce42d3784f666576df5a76aee6c28b7.png)

点击，如下所示

![](https://storage.googleapis.com/papyrus_images/cb36992332d3470b877c36b338f52e57b360c1d0cd809b89a97bc437f1ffb768.png)

1、将版本更改为最新

2、点击编译

![](https://storage.googleapis.com/papyrus_images/9c1ec79a0f198ec8a3066802faa04e996863b1e8787b7c2acf971115337acb25.png)

如果一切顺利，应该会看到绿色复选标记，如下所示

![](https://storage.googleapis.com/papyrus_images/116ccc0e7d994d95cf64e3edcec61465ad3582de04281cf9c4753fb54b16ff26.png)

按照如下所示的步骤操作：

1、单击图标

2、选择 Injected provider (metamask)

3、确保你在Scroll Alpha 网络上，并检查地址是否正确

4、点击部署

![](https://storage.googleapis.com/papyrus_images/7457718f7bfd4a660e5c23a06680bdb4984b2b082abd7d236f86bc63b2caab2f.png)

在 Metamask 中签名

![](https://storage.googleapis.com/papyrus_images/001299bcc7644833df84312bb2f965bfe5e66e865999860bb8d1e46fef32f3c0.png)

如果合约部署成功，我们将看到如下所示的消息，我们也可以在小狐狸中看到它。

![](https://storage.googleapis.com/papyrus_images/f8e4d65207aec38ffd130cd44158b388f664996da9a0ec2f76549c341bc6109f.png)

![](https://storage.googleapis.com/papyrus_images/6fb2e4911ee9b2e13a108685ddd0902946606d0b98632276081f53b40d324c8a.png)

到这里，我们就已经在 Scroll Alpha 测试网上部署了智能合约。

五、创建你自己的代币
==========

此操作将类似于之前的操作（部署智能合约）

点击链接，按照如下所示的步骤操作 [https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.18+commit.87f61d96.js](https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.18+commit.87f61d96.js)

![](https://storage.googleapis.com/papyrus_images/ee2f358870e03351fd80f515e70750a27b9b6bbd64cada8980bdbb02525e1791.png)

复制此代码

    // SPDX-License-Identifier: MIT
    // WTF Solidity by 0xAA
    

    pragma solidity ^0.8.4;interface IERC20 {
        /**
         * @dev 释放条件：当 `value` 单位的货币从账户 (`from`) 转账到另一账户 (`to`)时.
         */
        event Transfer(address indexed from, address indexed to, uint256 value);    /**
         * @dev 释放条件：当 `value` 单位的货币从账户 (`owner`) 授权给另一账户 (`spender`)时.
         */
        event Approval(address indexed owner, address indexed spender, uint256 value);    /**
         * @dev 返回代币总供给.
         */
        function totalSupply() external view returns (uint256);    /**
         * @dev 返回账户`account`所持有的代币数.
         */
        function balanceOf(address account) external view returns (uint256);    /**
         * @dev 转账 `amount` 单位代币，从调用者账户到另一账户 `to`.
         *
         * 如果成功，返回 `true`.
         *
         * 释放 {Transfer} 事件.
         */
        function transfer(address to, uint256 amount) external returns (bool);    /**
         * @dev 返回`owner`账户授权给`spender`账户的额度，默认为0。
         *
         * 当{approve} 或 {transferFrom} 被调用时，`allowance`会改变.
         */
        function allowance(address owner, address spender) external view returns (uint256);    /**
         * @dev 调用者账户给`spender`账户授权 `amount`数量代币。
         *
         * 如果成功，返回 `true`.
         *
         * 释放 {Approval} 事件.
         */
        function approve(address spender, uint256 amount) external returns (bool);    /**
         * @dev 通过授权机制，从`from`账户向`to`账户转账`amount`数量代币。转账的部分会从调用者的`allowance`中扣除。
         *
         * 如果成功，返回 `true`.
         *
         * 释放 {Transfer} 事件.
         */
        function transferFrom(
            address from,
            address to,
            uint256 amount
        ) external returns (bool);
    }contract ERC20 is IERC20 {    mapping(address => uint256) public override balanceOf;    mapping(address => mapping(address => uint256)) public override allowance;    uint256 public override totalSupply;   // 代币总供给    string public name;   // 名称
        string public symbol;  // 符号
        
        uint8 public decimals = 18; // 小数位数
        address public owner;    // @dev 在合约部署的时候实现合约名称和符号
        constructor(string memory name_, string memory symbol_){
            name = name_;
            symbol = symbol_;
            owner = msg.sender;
        }    // @dev 实现`transfer`函数，代币转账逻辑
        function transfer(address recipient, uint amount) external override returns (bool) {
            balanceOf[msg.sender] -= amount;
            balanceOf[recipient] += amount;
            emit Transfer(msg.sender, recipient, amount);
            return true;
        }    // @dev 实现 `approve` 函数, 代币授权逻辑
        function approve(address spender, uint amount) external override returns (bool) {
            allowance[msg.sender][spender] = amount;
            emit Approval(msg.sender, spender, amount);
            return true;
        }    // @dev 实现`transferFrom`函数，代币授权转账逻辑
        function transferFrom(
            address sender,
            address recipient,
            uint amount
        ) external override returns (bool) {
            allowance[sender][msg.sender] -= amount;
            balanceOf[sender] -= amount;
            balanceOf[recipient] += amount;
            emit Transfer(sender, recipient, amount);
            return true;
        }    // @dev 铸造代币，从 `0` 地址转账给 调用者地址
        function mint(uint amount) external {
            require(owner == msg.sender);
            balanceOf[msg.sender] += amount;
            totalSupply += amount;
            emit Transfer(address(0), msg.sender, amount);
        }    // @dev 销毁代币，从 调用者地址 转账给  `0` 地址
        function burn(uint amount) external {
            balanceOf[msg.sender] -= amount;
            totalSupply -= amount;
            emit Transfer(msg.sender, address(0), amount);
        }
    }
    

单击空白区域（与我们在部署智能合约时所做的相同）

MAC 用户_cmnd + V_

Windows 用户_ctrl + V_

粘贴代码，然后确定

![](https://storage.googleapis.com/papyrus_images/c4673c7916de5e8322e1bcb5f8d51302dbfcd5f4ceaafc335fd192571e8f8736.png)

Mac 用户按_cmnd + S_

Windows 用户按_ctrl + S。_

我们应该看到绿色复选标记，如下所示

![](https://storage.googleapis.com/papyrus_images/c2fd37c77cde5dda99e6f244693b46126383cfefeb7df9890e88e0c34fe2b74b.png)

按照如下所示的步骤操作：

1、点击图标

2、选择最新版

3、编译。

在我们应该看到绿色复选标记之后

![](https://storage.googleapis.com/papyrus_images/b7676beabc3856bc27ee718c02a204d656d3da1e7182c91ae023bd276fbb7ade.png)

按照如下所示的步骤操作：

1、点击最后一个图标

2、injected provider

3、你的地址将自动被添加（这里要检查地址是不是对的）

4、点击injected provider

5、写下名字

6、写下Symbol

7、点击transact

并确认你钱包中的所有操作。

![](https://storage.googleapis.com/papyrus_images/21cb91aed5f1971ae22dfe472e637dccc4e3a535323f5043405d4455237c4a14.png)

如果一切顺利，你将在控制台和钱包中看到它

![](https://storage.googleapis.com/papyrus_images/31f73ac79156cb14450c2c6178ffddea087747ba35f93a6dbf4e526a357701fc.png)

单击交易记录器，如下所示

![](https://storage.googleapis.com/papyrus_images/53210eed03754b04b152f77a009ea0c9c0fd173c4a33d1ee6261ca132f7a24c0.png)

按照如所示的步骤操作：

1、打开 ERC20 AT…. Menu

2、打开 Mint 菜单

3、输入金额 1800000000000000000000

4、点击交易

钱包验证

![](https://storage.googleapis.com/papyrus_images/f78f30fc857e92ae02f836e581f5a49fc22556536eb82672486d8fdb838a9df5.png)

如果一切顺利，将收到如下所示的消息

![](https://storage.googleapis.com/papyrus_images/f83f78afd2a028f1f0a620f22df6b6f36708769ed63dce7fcc2874060a7335d6.png)

复制你的代币地址

![](https://storage.googleapis.com/papyrus_images/61072a917b9e0e7125e1f6672659c371803cad13106108f4c242f64040ee9db5.png)

可以使用我们自己的代币添加流动性

登录：[https://uniswap-v3.scroll.io/#/pool](https://uniswap-v3.scroll.io/#/pool)

点击：new position

![](https://storage.googleapis.com/papyrus_images/a6f5f98e5a94ac5ebee069df2087b5c58a4476c28beb78b555de1445deb44f5f.png)

选择token

![](https://storage.googleapis.com/papyrus_images/8650f117ed4e19cd646f5333d55e516a7d20e340d5036a8c3220592bdbfd4bd1.png)

粘贴你的代币地址（之前复制的）

![](https://storage.googleapis.com/papyrus_images/7745ab5306fa422b42c8bf4906f563811b96b732e0a383a87bf29ec5c99f6eeb.png)

可以使用如下所示的相同设置

![](https://storage.googleapis.com/papyrus_images/abafb605d16323cd9a0a0bca58f4a3d3b4013ace43c5adeb151cd945056c3757.png)

![](https://storage.googleapis.com/papyrus_images/6f9bf1c439369f99c1ff849dedbeaadc78aeb2f7cc8cbeeaf3773ebe9ab50658.png)

钱包确认

如果一切顺利，你应该会看到如下所示：

到这里基本完成了Scroll的全部操作。

以上就是本篇 的全部内容。

**结语：最后感谢这篇教程的作者 加密狗 大佬，大家可以关注一下加密狗的推特：** [**https://twitter.com/JiamigouCn**](https://twitter.com/JiamigouCn)

Crypto Box是一个致力于成为\*\*最专业的Web3投研信息、实用工具、教程百科平台！\*\*我们的愿景是以社区发掘+深入投研+技术工具帮助Web3投资者。

                                                            **Crypto Box 7\*24快讯推送**
    
                                                             功能限时开放
    
                                                           扫码进群即刻体验
    

![](https://storage.googleapis.com/papyrus_images/a6ad984740ed3e583ac2caa29277a724d7449e681c93182773f5e90df20b32dd.jpg)

\*\*推特： \*\*[https://twitter.com/Web3CryptoBox](https://twitter.com/Web3CryptoBox)

\*\*Mirror： \*\*[https://mirror.xyz/0x5D150bF18B9a878eD2417b2C0E69f7eA5a6dFC18](https://mirror.xyz/0x5D150bF18B9a878eD2417b2C0E69f7eA5a6dFC18)

\*\*官网： \*\*[https://www.cpbox.io/](https://www.cpbox.io/)

![](https://storage.googleapis.com/papyrus_images/8bf1950cd597a18bc9075b15fa0f5dfeaeb8cbb86255ffc02361ede1fd1b63a9.png)

---

*Originally published on [CPBOX](https://paragraph.com/@cpbox/18-scroll)*
