paint-brush
Remix에서 Solidity 스마트 계약 코드를 작성하고 컴파일하는 방법: dApp 개발 기본 사항~에 의해@lumoslabshq
2,448 판독값
2,448 판독값

Remix에서 Solidity 스마트 계약 코드를 작성하고 컴파일하는 방법: dApp 개발 기본 사항

~에 의해 Lumos Labs6m2023/03/23
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

이번 주 블로그 게시물에서는 스마트 계약이라는 주제를 소개하지만 대부분의 웹 개발자가 쉽게 전환할 수 있는 언어로 Solidity에 대해 이야기하고 있습니다. 대부분의 스마트 계약 개발자는 Solidity로 시작하며 Remix 통합 개발 환경은 일반적으로 여행을 시작하는 첫 번째 도구입니다.

People Mentioned

Mention Thumbnail
featured image - Remix에서 Solidity 스마트 계약 코드를 작성하고 컴파일하는 방법: dApp 개발 기본 사항
Lumos Labs HackerNoon profile picture
0-item
1-item

스마트 계약의 개념은 90년대로 거슬러 올라가지만, 이더리움은 그 잠재력을 실현하고 구현을 통해 제3자의 필요성을 제거한 최초의 플랫폼이었습니다.


이더리움이 주목을 받으면서 스마트 계약 시장은 더욱 강력해졌고 2030년까지 미화 83억 달러 규모의 시장 규모로 성장할 것으로 예상됩니다. 분명히 스마트 계약이 여러 산업 분야의 프로젝트에서 선호를 얻고 있는 가운데 이러한 수요 증가를 고려할 때 스마트 계약 개발자가 좋은 급여를 받는 것은 놀라운 일이 아닙니다.


말이 나와서 말인데, 이번 주 블로그 게시물에서는 스마트 계약이라는 주제를 소개하지만 대부분의 웹 개발자가 쉽게 전환할 수 있는 언어로 Solidity에 대해 이야기하고 있습니다.

리믹스 통합 개발 환경

스마트 계약 개발을 배우고 싶다면 대중적이고 배우기 쉬우며 쉽게 접근할 수 있는 개발 환경을 제공하는 언어를 선택하는 것이 이상적인 선택입니다.


이러한 이유로 대부분의 스마트 계약 개발자는 Solidity로 시작하며 Remix 통합 개발 환경은 일반적으로 web3 개발 여정을 시작하는 첫 번째 도구입니다. 대부분의 경우 개발 환경을 사용하는 것은 이번이 처음이지만 Remix IDE는 널리 사용되는 모든 브라우저에서 설정할 수 있으므로 수월하게 수행할 수 있습니다.


Remix IDE - 기본 화면


기본 수준에서 각 스마트 계약은 작성된 언어인 Solidity 덕분에 .sol 파일이라는 점을 기억하는 것이 중요합니다. 또한 계약을 컴파일하려면 사용할 버전을 선택해야 합니다. 스마트 계약을 작성하고 컴파일하는 이러한 작업은 모두 테스트넷 또는 메인넷에 스마트 계약을 배포하기 전에 수행되어야 합니다.


말하자면, 스마트 계약을 메인넷에 배포하기 전에 테스트넷에서 테스트하는 것이 중요합니다. Remix를 사용하는 경우 Goerli 또는 Sepolia 테스트넷을 사용할 수 있습니다. 그러나 이를 위해서는 먼저 Web3 지갑을 Remix에 연결해야 합니다. 가급적 Metamask 지갑을 사용하는 것이 좋습니다.


메타마스크 지갑


테스트넷이 무엇인지 모른다면 테스트를 통해 스마트 계약이 실제 세계에 적용될 준비가 되었는지 평가하면서 가짜 자금을 사용하여 계약을 실행하는 환경으로 생각하십시오. 간단히 말해서, 스마트 계약이 메인넷에 배포되기 전에 어떻게 작동하는지에 대한 시뮬레이션입니다.


마지막으로, 배포된 모든 스마트 계약은 고유한 주소로 식별된다는 점을 이해해야 합니다. 물론 Remix에서 사용할 수 있는 더미 사용자 계정을 통해 스마트 계약 안팎으로 자금을 이동할 수 있습니다. 또한 첫 번째 스마트 계약을 작성하고 실행할 때 가스 요금 지불과 가스 요금이 계정에서 차감되는 방법에 대해 가능한 모든 것을 배워야 합니다.

Remix IDE 사용을 위한 첫 번째 단계

이제 Remix IDE를 사용하여 첫 번째 스마트 계약을 작성하고 컴파일하려면 아이콘 패널에 사용법을 배워야 하는 4개의 아이콘이 있습니다.


아이콘 패널


이 네 가지 아이콘은 각각 작업 공간 사용 방법에 대한 다양한 기능을 나타냅니다.

  1. 파일 탐색기
  2. 파일에서 검색
  3. 솔리디티 컴파일러
  4. 트랜잭션 배포 및 실행


파일 탐색기를 선택하면 아래와 같이 기본 작업 공간으로 이동합니다.

기본 작업공간


여기에서 폴더와 Solidity 파일을 생성, 수정 및 삭제할 수 있어야 합니다. 작업 공간에 파일을 업로드하고 Github gist에 추가하는 것도 사용할 수 있는 옵션입니다.


패널의 두 번째 아이콘은 파일에서 검색이라는 라벨이 붙어 있으며 이를 통해 검색이 가능합니다. 이 경우 '자동 판매기'라는 검색어를 찾고 있으며 이에 대한 결과가 아래에 표시됩니다.


파일에서 검색


Solidity 컴파일러 옵션을 선택하면 아래와 같은 화면이 나타납니다.

솔리디티 컴파일러


위와 같이 파란색 버튼을 누르기 전에 여기에서 컴파일러 버전과 컴파일하려는 계약을 선택할 수 있습니다.


패널의 마지막 아이콘인 Deploy & Run Transactions에 대해서는 이 시리즈의 다음 블로그 게시물에서 해당 아이콘을 사용하는 방법을 다루겠습니다.

첫 번째 Solidity 계약 작업

이제 다수의 인기 있는 스마트 계약 언어는 이미 숙련된 개발자들 사이에서 인기 있는 언어인 JavaScript, Python 및 Rust와 유사한 구문을 가지고 있습니다.


그러나 눈에 띄는 것은 Solidity입니다. Ethereum 플랫폼은 계속해서 균일한 속도로 개발자를 고용하므로 이 언어를 사용하여 자동 판매기 스마트 계약을 구현하는 것으로 여정을 시작하는 것이 가장 좋습니다. 이 이더리움 웹페이지 에서 자판기 스마트 계약 코드를 복사할 수 있습니다.


자동 판매기에 익숙하십니까?


자판기의 작동은 스마트 계약이 작동하는 방식과 매우 유사하다는 점을 지적해야 합니다. 실제로 자판기 스마트 컨트랙트에서 볼 수 있듯이 '리필'과 '구매' 두 가지 방식은 자판기 소유자와 구매자가 실제 생활에서 수행하는 행위를 그대로 재현합니다.


이제 '파일 탐색기' 아이콘을 선택하여 작업 공간으로 이동하세요. 아래와 같이 새 파일 만들기 아이콘을 사용하여 새 .sol 파일을 엽니다.


새 파일 만들기 아이콘


이제 아래와 같이 Vending Machine 스마트 계약 코드를 SPDX-License-Identifier와 함께 해당 파일에 붙여넣습니다.

'자동 판매기' 스마트 계약


그런 다음 "pragma" 문에서 선택한 컴파일러 버전을 기반으로 Remix에서 첫 번째 스마트 계약을 컴파일할 시간입니다. 물론 오류에 대한 디버깅도 이 프로세스의 일부입니다.

Remix에서 첫 번째 Solidity 스마트 계약 컴파일하기

이제 기본 작업 공간의 .sol 파일에 스마트 계약 코드를 추가한 후 다음 단계는 코드를 디버깅하는 것입니다. 오류가 없으면 테스트넷에 배포하기 전에 스마트 계약을 컴파일하게 됩니다.


시작하기 전에 Ctrl + S 키보드 단축키를 사용하면 스마트 계약이 컴파일됩니다. 이제 아이콘 패널의 Solidity Compiler 옵션에 녹색 확인 표시가 있으면 코드를 배포할 준비가 된 것입니다!


성공적인 컴파일(녹색 체크표시)


물론 모든 것이 계획대로 진행되는 것은 아닙니다. 대부분의 경우, 작성한 코드를 컴파일하는 데 성공하기 전에 정렬해야 할 오류가 있습니다. Solidity Compiler 아이콘은 다음과 같습니다. 여기서 '1'은 코드의 오류 수를 나타냅니다.


컴파일 실패(오류 1개 포함)


일반적인 오류에 대해 말하자면, 초보자는 아래와 같이 스마트 계약의 pragma 문에서 선택한 것과 일치하는 올바른 컴파일러 버전을 선택하지 못하는 경향이 있습니다.


pragma 문의 오류


이 문제를 해결하려면 Solidity Compiler 옵션의 드롭다운 메뉴에 액세스하세요.

컴파일러 버전 드롭다운 메뉴 변경(양방향 화살표 포함)


다음 결과를 얻으려면 컴파일러 버전을 "0.8.7+commit.e28d00a7"로 변경하십시오.

pragma 문과 같이 0.8.7 버전으로 변경


또 다른 일반적인 오류는 "cupcakeBalances" 매핑과 관련된 오류와 같은 구문 오류 발생과 관련이 있습니다.


구문 오류: 이전에 그러한 매핑이 선언되지 않았습니다. 그렇죠?


아직 눈치채지 못하셨다면, 빨간색 상자 안의 빨간색 느낌표는 오류가 있는 문장을 의미합니다. 이 경우 "k"를 추가하여 오타를 수정하고 Ctrl + S를 누르면 해당 기호가 사라집니다.


오타를 수정한 후 오류가 해결되었습니다.


이 두 가지 간단한 오류를 해결하면 Solidity Compiler 아이콘과 함께 녹색 체크 표시가 나타나는 것을 볼 수 있습니다. 분명히 귀하는 첫 번째 스마트 계약을 성공적으로 컴파일했습니다.


이제 스마트 계약을 테스트넷에 배포할 차례입니다. 이에 대해서는 향후 블로그 게시물에서 다루겠습니다.


즉, 우리는 귀하가 Web3 개발에 대해 더 많이 배우고 기술을 쌓을 수 있도록 개발자 중심의 메타버스를 구축하고 있습니다.


독점 액세스를 위해 Lumos Metaverse 화이트리스트에 가입하세요: