우측 상단의 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 형퍼럴로 가입 부탁드립니다. 컨텐츠 제작에 큰 힘이 됩니다.