# Scroll Pre-Alpha Testnet

By [0xCaptain](https://paragraph.com/@0xcaptain) · 2023-04-03

---

Twitter:[@CryptoBrawn](https://twitter.com/CryptoBrawn);

GameFi enthusiast,NFT player,founder of [@GF\_GuildGameFi](https://twitter.com/GF_GuildGameFi),blockchain financing information,long-time cryptocurrency investor.

**\*\***[**Scroll**](https://scroll.io/) **\*\*Introduction**

[Scroll](https://scroll.io/) is an EVM-compatible ZK-Rollup that seeks to solve scalability and gas issues in Ethereum.

Technically speaking, Scroll is built upon two major pieces. The core piece is the zkEVM, which is used to prove the correctness of EVM execution in Layer 2. We have been building it in the open with the Privacy and Scaling Explorations group at the Ethereum Foundation for over a year. But to turn the zkEVM into a full zkRollup on the Ethereum, we also need to build a complete L2 architecture around it.

You can get acquainted with the technical side of the project on their blog on [the mirror](https://scroll.mirror.xyz/), we will not dive into this, and move on to the main thing - the activities.

**Fundraising:**

[Raised](https://crypto-fundraising.info/project/?id=3181) $30M from Polychain Capital, Bain Capital Crypto, Robot Ventures, Geometry DAO and others.

The [Pre-Alpha Testnet](https://scroll.mirror.xyz/FYzq9QWb2UhS00p-AOFMBh1Oq6SCqLA6L855GAHczOw) is now open to all and everyone has a chance to test the project. The testnet won't take much of your time, so we encourage you to take the time to do it. Airdrop is not confirmed, but the probability of an airdrop for testers is high.

**Let's start testing.**

**How to participate?**

**1.Using the bridge (Goerli Testnet & Alpha Testnet)**

<1>Adding Testnet NetWorks

*   First, let's visit the [Scroll Alpha Portal](https://scroll.io/alpha). Once there, click "Add to MetaMask" to add Scroll Goerli & Scroll Alpha Testnet network to MetaMask.
    

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

<2>Goerli Faucet

*   Visit [Alchemy Faucet](https://goerlifaucet.com/) or [Paradigm MultiFaucet](https://faucet.paradigm.xyz/), specify your wallet and request ETH testnet tokens;
    

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

<3>Using the bridge

*   Go to [Bridge](https://scroll.io/alpha/bridge) and connect the wallet;
    

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

*   Send ETH Goerli to the Scroll Alpha Testnet;
    

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

*   Confirm the transaction in your wallet;
    

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

*   Done. The transfer should be processed within 20 minutes.
    

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

*   Make a transfer in the opposite direction.
    

**2.Using the Orbiter Bridge**

*   Go to [Orbiter Finance Rinkeby](https://rinkeby.orbiter.finance/?dest=ScrollL2&source=Rinkeby) and connect the wallet;
    
*   Select Goerli from the list, enter the amount and click “Send”;
    

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

*   On the next page we confirm the action.
    

**3.Using the Uniswap V3**

*   Go to [Uniswap V3](https://uniswap-v3.scroll.io/#/swap) and connect the wallet;
    
*   Select the assets, enter the amount and click "Swap";
    

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

*   Leave your feedback on [discord](https://discord.gg/jEszcdWMNj).
    

**4.Using the SyncSwap**

<1>

*   Go to the [site](https://staging.syncswap.xyz/swap) and connect your wallet;
    

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

*   Select the Scroll Alpha network.
    

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

<2>Getting test tokens

*   Go to "Faucet" and retweet by clicking "Retweet now";
    

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

*   Then click on the "Claim now" button;
    

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

*   Done.
    

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

<3>We're doing swap in platform

*   Go to the "Trade" tab;
    

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

*   Select the pair to exchange, specify the amount and click on the "Unlock USDT" button;
    

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

*   Then click on the "Swap" button;
    

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

*   Done.
    

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

<4>Add liquidity to the pool

*   Go to the "Pool Wizard" tab;
    

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

*   Select the tokens you want to add to the pool and click "Enter Pool";
    

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

*   Then go to the "Deposit" tab, specify the number of tokens, click on the "Permit Test" button, then on the "Permit MKR" button and click on the "Deposit" button;
    

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

*   Done.
    

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

**5.Deploy Token & Contract**

**<1>Deploy Contract**

To deploy the token and contract you need to rent a server on Ubuntu. We recommend testing the guide on the cheapest [Contabo](https://contabo.com/en) server for 6 euros, with Ubuntu 20.04. A limited number of contracts can be deployed on one rented server.

Here we go!

*   Copy each command individually!
    

> sudo apt update sudo apt install git  git clone [https://github.com/scroll-tech/scroll-contract-deploy-demo.git](https://github.com/scroll-tech/scroll-contract-deploy-demo.git) cd scroll-contract-deploy-demo curl -L [https://foundry.paradigm.xyz](https://foundry.paradigm.xyz) | bash source /root/.bashrc foundryup forge build --use 0.8.17

*   Then insert your data into the code, put the amount of ether - 0.0000001ether, unlock time on this site, the private key in your purse MetaMask. Then we copy the whole code and paste it into the terminal:
    
    forge create --rpc-url [https://alpha-rpc.scroll.io/l2](https://alpha-rpc.scroll.io/l2) \\ --value \\ --constructor-args \\ --private-key \\ --legacy \\ contracts/Lock.sol:Lock --use 0.8.17 If everything has been done correctly you will see similar results: Deployer: 0x4397FaBAE1318AB76ecb204a17f1dE9E9F888b11 Deployed to: 0xE70cc2EE909f3C17A712721D688973DABD36eBC4 Copy your contract address (Deployed to) and paste it into the block [browser](https://blockscout.scroll.io/). **<2>Deploy Token** Now we will create our own token, follow the instructions below, read carefully, copy each line and paste into the terminal individually! cd $HOME sudo apt update sudo apt install git curl -sL [https://deb.nodesource.com/setup\_18.x](https://deb.nodesource.com/setup_18.x) | sudo -E bash - sudo apt-get install -y nodejs mkdir DeployToken cd DeployToken sudo npm init \* Press Enter until the next step. sudo npm install --save-dev hardhat sudo npx hardhat \* Press Enter until the very end. npm install --save-dev "@nomicfoundation/hardhat-toolbox@^2.0.0" npm i @openzeppelin/contracts cd contracts nano .sol \* Come up with a name for the token. Example: Next, copy and paste the entire block of code into your file, changing the data to your own. Press CTRL+X to save the file after pasting, then press Y+ENTER: // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract NFDGG is ERC20 {   constructor() ERC20("Your Token Name", "Token Name Abbreviated") {      \_mint(msg.sender, 1000000000 \* 10 \*\* decimals());  } } Next copy the entire block below, paste into the terminal, press ENTER, an empty file will open: cd $HOME/DeployToken/scripts rm -rf deploy.js nano deploy.js   **\* Press ENTER** Next, copy and paste the entire block of code, "Enter Your Token Name" into your file. Save the file after you paste it with CTRL+X, then press Y+ENTER const { ethers } = require("hardhat"); async function main() { const token = await ethers.getContractFactory("Your Token Name"); const deployedToken = await token.deploy(); await deployedToken.deployed(); console.log(\`The smart contract was deployed at: ${deployedToken.address} on Scroll L2!\`); } main().catch((error) => { console.error(error); process.exitCode = 1; }); Next, enter each command separately (you'll find the Private Key in your wallet): npm i dotenv cd $HOME/DeployToken nano .env PRIVATE\_KEY="YOUR PRIVATE KEY"   **\* Save with ctrl+x, then y+Enter.** rm -rf hardhat.config.js nano hardhat.config.js Then paste all the code block into the file, don't change anything and save it by pressing ctrl+x, then y+enter: require("@nomicfoundation/hardhat-toolbox"); require("dotenv").config({ path: ".env" }); const PRIVATE\_KEY = process.env.PRIVATE\_KEY; /\*\* @type import('hardhat/config').HardhatUserConfig \*/ module.exports = { solidity: "0.8.17", networks: {   scrollL2: {     url: \`[https://alpha-rpc.scroll.io/l2\\\`](https://alpha-rpc.scroll.io/l2%5C%60),     accounts: \[PRIVATE\_KEY\]   } } }; Next, enter the command: npx hardhat run scripts/deploy.js --network scrollL2 If all goes well you will get the following text with the contract: The smart contract was deployed at: 0x8a7B961ae27ecE78483E4D3b74cEB9D1909f98eb on Scroll L2! **6.Leaving feedback** Join their [Discord](https://discord.gg/jEszcdWMNj) and get verified. Stay active on their server and watch for updates. **7.Joining the Guild** Now you can join the guild on the [site](https://guild.xyz/scrollzkp) and get the first Mystery role. Done

---

*Originally published on [0xCaptain](https://paragraph.com/@0xcaptain/scroll-pre-alpha-testnet)*
