DApp Contract를 개발하는 가장 쉬운 방법은 Remix를 이용하는 것 같다.
VSCode 내에서 터미널을 하나 생성하고 아래 명령어를 차례대로 수행해 준다.
> npm install -g @remix-project/remixd
> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
> remixd -s . --remix-ide https://remix.ethereum.org
remix ide(https://remix.ethereum.org)에 접속해서 Workspace에서 'connect to localhost'를 선택한다. 이후, 'connect'를 선택하면 local 디렉토리를 mapping 한다. 여기서 contract file(.sol)을 불러오거나 새로 생성한다.
좌측에서 두번째 아이콘을 선택하면 계약서를 compile 할 수 있다. EVM(Ethereum Virtual Machine)은 기본으로 두어도 되는데, 개인적으로는 아무 이유없이 'london'을 선택한다. 중요한 건, configuration에서 'Auto Compile'을 해제하는 것인데, 매번 오류를 자동으로 찾아줘서 편하긴 하지만, 가끔 이 옵션 때문에 Editor 내에 작성한 것이 날라간다. Local에 계속 매핑 되고 있으므로, 사이트에 새로 접속하면 수정된 곳까지 불러오긴 하지만 귀찮으니까 그냥 꺼두고 작업하자.
compile을 하면 컴파일 된 계약서를 아래와 같이 얻을 수 있는데, 아래 ABI(Application Binary Interface) 값은 나중에 Client에서 사용하게 된다. 어디가는 거 아니니까 역할 정도만 우선 기억하자.
컴파일 되었으면, 이를 배포해서 활용할 수 있도록 해야 한다. Environment에서 JavaScript VM을 선택하면 크립토 지갑(ex. Metamask) 연동 없이 테스트할 때 사용할 수 있고, Web Application을 개발해서 연동하려면, 'Injected Web3'를 선택한다. Contract에서 컴파일된 계약서를 선택해서 Deploy하면 끝이다.
계약서가 변동되지도 않았는데, 개발할 때마다 매번 Deploy 할 필요는 없다. Deploy하게 되면, 아래처럼 배포된 계약서의 주소를 복사할 수 있는데, 이를 메모장 같은 곳에다가 적어놨다가, 'At Address'항목에서 붙여 넣으면 이미 배포된 계약서를 불러온다.
'블록체인 > 블록체인 서비스 개발' 카테고리의 다른 글
[NFT 101] Frontend 개발 (0) | 2022.03.25 |
---|---|
[NFT 101] Contract 개발 (0) | 2022.03.21 |
[DeFi] 디파이 기본 (0) | 2022.02.06 |
[NVM] Mac M1에서 NodeJS 여러버전 사용 (0) | 2022.01.25 |
[Klaytn] 설치부터 Deploy까지 (0) | 2022.01.13 |
댓글