Blockchain/Testnet

Scroll Alpha 테스트넷 컨트랙트 배포 가이드

lowsec 2023. 3. 23. 13:27

안녕하세요. 이번 포스팅에서는 현재 운영 중인 Scroll의 Alpha 테스트넷에 컨트랙트를 배포하는 방법을 알려드리도록 하겠습니다.

 

Scroll은 이더리움의 창시자 Vitalik Vuterin의 쉴링으로 유명한 레이어2 프로젝트이고 현재 팔로워도 27만에 달하는, 하이프가 아주 높은 프로젝트입니다.

 

Scroll은 2022년 4월 $30M, 2023년 3월 $50M의 투자금을 유치했으며 투자 라운드는 1티어 VC인 Polychain 리드로 Sequoia도 VC 리스트에 포함되어 있습니다.

 

사진. Scorll 투자 규모

 

Scroll은 아직 Alpha 테스트넷 단계이고 네이티브 토큰도 런칭 전이기 때문에 프로젝트 기여를 통한 에어드랍을 노리는 분들이 많을 것으로 예상합니다.

 

사전 준비

Scroll Alpha 테스트넷에 컨트랙트를 배포하기 전에 몇 가지 사전 준비가 필요합니다.

 

Scroll Alpha Testnet 네트워크 추가

https://scroll.io/alpha 에 접속합니다. Goerli 테스트넷에 ETH가 없는 분들은 https://goerlifaucet.com/ 을 이용하여 faucet을 수령하고 Add to MetaMask 버튼을 눌러 Scroll Alpha Testnet을 메타마스크에 추가합니다.

 

Scroll Alpha - Portal

Native zkEVM Layer 2 for Ethereum

scroll.io

 

Goerli -> Scroll Alpha 브릿징

https://scroll.io/alpha/bridge에 접속합니다. 

 

Scroll Alpha - Bridge

Native zkEVM Layer 2 for Ethereum

scroll.io

 

 

Goerli 테스트넷을 접속한 뒤 아래 화면의 Scroll Bridge에서 Scroll Alpha Testnet에 보낼 이더 수량을 입력하고 "Send ETH" 버튼을 누릅니다. 

사진. 브릿징 수량 입력

 

버튼을 누르면 브릿징이 시작되며 완료될 때까지 약간의 시간이 소요됩니다. Goerli 네트워크와 Scroll 네트워크에서 트랜잭션이 완료되고 txn hash가 확인되면 사전 준비는 끝입니다.

사진. 브릿징 상태 확인

 

컨트랙트 배포

본 가이드는 https://medium.com/@ndidiesonwune/how-to-deploy-contract-on-scroll-996f89257ee 을 참고하였습니다.

 

먼저 https://remix.ethereum.org/#optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.7+commit.e28d00a7.js&lang=en 에 접속합니다.

 

Remix - Ethereum IDE

 

remix.ethereum.org

 

 

우측 상단의 WORKSPACES 옆에 "+" 버튼을 눌러 새 워크스페이스를 생성합니다. 워크스페이스 이름은 각자 편한 이름으로 정해주시면 됩니다. 저는 "Scroll Workspace"로 지정하여 생성하였습니다.

사진. 새 워크스페이스 생성

 

Create New File을 클릭하여 새로운 컨트랙트 파일을 만들어줍니다. 마찬가지로 이름은 편하게 지정해주시면 됩니다. 저는 "Scroll.sol"로 지정하였습니다.

사진. 새 컨트랙트 생성

 

생성한 컨트랙트 파일을 열고 아래 소스코드를 복사하여 붙여넣기 합니다.

 

pragma solidity 0.8.17;

// SPDX-License-Identifier: MIT

contract JEZFinance {
  string public name = "Jez Finance";
  string public symbol = "JEZ";
  uint8 public decimals = 18;
  uint256 public totalSupply = 10000000000;

  mapping (address => uint256) public balances;
  address public owner;

  constructor() {
    owner = msg.sender;
    balances[owner] = totalSupply;
  }

  function transfer(address recipient, uint256 amount) public {
    require(balances[msg.sender] >= amount, "Insufficient balance.");
    balances[msg.sender] -= amount;
    balances[recipient] += amount;
  }
}

 

Solidity Compiler 메뉴로 이동하여 "Compile Scroll.sol" 버튼을 클릭합니다. 녹색 v 표시가 뜨면 컴파일 완료입니다.

사진. 컨트랙트 컴파일

 

컴파일이 완료되면 Deploy & Run transactions 메뉴로 이동하여 지갑을 설정합니다. 초기에는 Environment에 Remix VM (Merge)로 선택되어 있을 것입니다. 아래 사진과 같이 Injected Provider로 변경합니다.

사진. 메마 지갑 연결

 

지갑을 연결한 후 Account가 자신의 메마 주소로 변경되었는지 확인합니다. Scroll 네트워크에 잔액도 남아 있는지 같이 확인합니다. 그 다음 주황색 Deploy 버튼을 눌러 컨트랙트를 배포합니다.

사진. 컨트랙트 배포

 

Deploy 버튼을 누르면 메타마스크 팝업 창이 뜹니다. 예상 가스 요금을 확인하고 확인을 눌러줍니다. (엄청 저렴하네요.)

사진. 메마 트랜잭션 승인

 

10초 정도 흐르고 메타마스크에서 트랜잭션이 승인되면 Deployed Contracts에 배포한 컨트랙트 메뉴가 생기고 콘솔창에 컨트랙트가 담긴 블록 번호, txIndex, sender 주소 (자신의 메마 주소와 동일), value, data, tx hash까지 확인할 수 있습니다.

사진. 컨트랙트 배포 완료

 

메타마스크에서 활동 메뉴를 보시면 방금 승인된 트랜잭션이 표시됩니다. 트랜잭션을 눌러 "블록 탐색기에서 보기"를 눌러봅니다. Scroll 테스트넷 익스플로러로 연결되며 컨트랙트 배포 트랜잭션에 대한 정보를 확인할 수 있습니다.

사진. 컨트랙트 배포 트랜잭션 확인

 

Scroll Alpha 테스트넷에 컨트랙트를 배포하였습니다. 따라해보시고 안되는 부분이 있거나 궁금하신 점이 있으면 언제든 Telegram 채널에 오셔서 질문 부탁드리겠습니다. 감사합니다.


본 포스팅을 재미있게 읽으셨다면 "❤️"도 눌러주시길 부탁드립니다. 그리고!! 트레이딩에 관심이 있으신 분 + 신규 거래소나 증정금 이벤트를 찾고 계시는 분이라면 bingx 형퍼럴로 가입 부탁드립니다. 컨텐츠 제작에 큰 힘이 됩니다.

 

bingx 거래소 무조건 100달러 받기 이벤트 진행중 (입금 0원, 가입링크)

 

- 회원가입/핸드폰 등록 50 USDT

- KYC 인증 50 USDT

- 500불 입금후 7일유지 / 50 USDT

> 입금없이 받은 증정금만으로도 거래량 이벤트를 달성할수 있습니다. 

- 거래량 10k / 10 USDT

- 거래량 50k / 40 USDT

- 거래량 150k / 100 USDT 

제 레퍼럴로 가입하신 분들은 블로그 댓글이나 텔레그램 채널을 통해 꼭 알려주세요. 아래와 같은 혜택을 드립니다. 추가적인 혜택도 드릴 수 있도록 열심히 노력하겠습니다.

1️⃣ 퀀트를 통한 개별 코인 트레이딩 시그널 (매일 최소 3회 이상 제공, Entry/TP/SL 포함)
2️⃣ 시장에 따른 실시간 매수/매도 전략
3️⃣ 리스크 관리를 위한 자금 운용 전략
4️⃣ 일일 크립토 시황/국제 경제 브리핑