본문 바로가기
Blockchain

remix 에서 작성한 solidity 코드 배포하기

by 마티 2021. 4. 30.

pragma solidity (version);
저번에 작성한 포스팅에서는 버전을 0.8.0 로 지정하였지만 이번에는 0.7.0 이상 0.9.0 미만의 버전으로 작성하였다.
저렇게 작성하면 0.7.0 이상 0.9.0 미만의 버전 중 하나를 알아서 지정한다.
저 사이의 버전이 0.8.0 만 있는 것이 아니므로 코드를 배포할 때에는 자신이 작성한 solidity 버전 정보를 확인해야한다.

코드를 배포하기 전에 solidity 를 메타마스크와 연결하기 위해서는 JVM 으로 설정되어 있는 것을 Injected Web3 으로 바꿔야 한다.
참고로 solidity 는 크롬에서 실행하였다. 다른 브라우저를 이용할 경우 결과가 달라질 수 있으니 유의하자.

solidity 로 작성한 사칙연산 코드

파일을 컴파일 시키고 메타마스크에서 확인을 누른 다음 Depoly를 클릭한다.
(참고로 저 사진에서 가진 코인은 없고, gas fee만 있어서 사용 가능한 전환율 없음이 뜨고 있다.)

빨간색으로 표시된 것이 account 정보이다. 옆에 복사 아이콘을 누르면 바로 복사할 수 있다.

더보기

pragma solidity >=0.7.0 <0.9.0;

contract Likelion_1 {
function add(uint a, uint b) public view returns(uint){
return a+b;
}

function sub(uint a, uint b) public view returns(uint){
return a-b;
}

function mul(uint a, uint b) public view returns(uint){
return a*b;
}

function div(uint a, uint b) public view returns(uint, uint){
return (a/b, a%b);
}
}

Depoly를 누르면 아래의 콘솔 창에 빨간색으로 표시된 부분이 뜬다.
(사실 빨간색 표시를 잘못한 것 같은데...초록색 체크 모양이 제일 마지막 부분인 것 같다.
아래 더 있는 것은 내가 여러번 해서 저렇게 나온 것 같다.)
아무튼 초록색 체크가 표시된 것이 정상적으로 완료된 것이다.
아래 http:// 이러쿵저러쿵 링크를 눌러서 이동한다.

링크를 타고 들어오면 다음과 같이 정보가 나온다.
contract account (빨간색으로 표시된 부분)를 클릭하면 다른 화면으로 이동한다.

Verify and Publish 이전하기 전 코드는 아래 무수히 긴 숫자와 같다.
사람이 알아볼 수 있는 코드로 변환시키는 과정이 Verify and Publish 이다.

Verify & Publish 해주기 위해 위와 같이 입력한다.
contract address 는 전에 remix 에서 복사한 account address 를 입력하면 된다.
solidity 파일 하나만 가지고 하고 있으므로 compile type 도 Solidity(single file)를 선택한다.
compile 버전은 solidity version 정보와 일치시키면 된다.
라이센스 타입의 경우, 현재 나는 테스트를 하는 것뿐임으로 No License (None) 을 선택해주었다.

Enter the Solidity Contract Code below 칸에 remix 에서 작성한 코드 전체를 복사(ctrl+a >> ctrl +c)하고 붙여넣기(ctrl +v)하면 된다.

'로봇이 아닙니다.' 체크박스를 선택하면 된다.
이게 아주 잠깐 사이에도 만료되던데, 그냥 다시 체크박스를 선택해주면 된다.

successfully generated ByteCode and ABI for Contract Address 이 뜨면 성공한 것이다.
옆의 주소를 클릭하면 Contract 확인 창으로 넘어가게 된다.

빨간색 주소를 복사해서 전달해주면 remix 코드를 배포할 수 있다.
노란색으로 표시된 부분을 클릭하면 바로 복사가 된다.

'Blockchain' 카테고리의 다른 글

remix solidity struct 사용 코드  (0) 2021.04.30
solidity 에서 array 사용한 코드  (0) 2021.04.30
remix 에서 solidity add 함수 작성하기  (0) 2021.04.26
blockchain.py  (0) 2021.04.21
MetaMask 계정 생성하기  (0) 2021.04.13