Web3 개발은 여기에 있습니다! 이더리움 메인넷에 배포된 스마트 계약의 수를 보면 2021년 이후 이러한 급격한 성장은 계속될 것입니다.
말하자면, 숫자 측면에서 이러한 성장은 2021년에서 2022년 사이에 무려 293% 에 달합니다. 이것이 충분하지 않다면 Goerli 테스트넷에서는 스마트 계약 배포가 연간 721%씩 크게 증가했습니다.
이 모든 일은 암호화폐의 쇠퇴, 특히 FTX 붕괴가 일어났음에도 불구하고 일어났습니다. 이것이 의미하는 바는 더 많은 Web3 개발자가 자신의 기술을 연마하고 배포되는 스마트 계약의 증가하는 목록에 추가할 여지가 있다는 것입니다.
먼저 Sepalia를 사용하여 이러한 스마트 계약이 이더리움 테스트넷에 어떻게 배포되는지 살펴보겠습니다. 하지만 그 전에 Ethereum Testnet이 무엇인지, Testnet Ether를 조달하여 이를 어떻게 사용할 수 있는지 이해해 봅시다.
이전 블로그 게시물에서 언급했듯이 공개 테스트넷은 개발자가 Ether 또는 MATIC과 같은 테스트 토큰을 사용하여 스마트 계약을 테스트할 수 있는 환경입니다. 이는 스마트 계약을 메인넷에 배포하기 훨씬 전이므로 모든 문제를 사전에 해결할 수 있습니다. 프로덕션 환경에 배포하기 전에 소프트웨어를 테스트하는 다른 기술 도메인의 개발자와 유사합니다.
이제 계약이 배포되면 변경할 수 없기 때문에 이 작업을 수행하는 것이 중요합니다.
따라서 버그가 있으면 코드를 변경할 수 없습니다.
그러나 테스트넷이 실제 환경을 얼마나 밀접하게 시뮬레이션하는지를 고려하면 코드가 완벽하게 맞을 때까지 코드 디버깅 및 리팩토링이 가능합니다. 하지만 100% 버그가 없는 스마트 계약은 없으므로 완벽함이 바람직하지만 반드시 달성할 수 있는 것은 아닙니다.
이더리움 테스트넷으로 이동하면 몇 가지가 왔다가 갔다고 안전하게 말할 수 있습니다. Ropstein, Kovan 및 Rinkeby는 이제 몇 달 더 작동할 Goerli와 함께 더 이상 사용되지 않는 것으로 간주됩니다. 2023년 현재, Sepolia Testnet은 애플리케이션 개발을 처리하기 위해 사용하기에 적합한 네트워크로 간주됩니다.
하지만 Sepalia 테스트넷을 사용하려면 가스 비용을 지불하기 위해 Ether를 테스트해야 합니다. Seplia Testnet에는 수도꼭지에서 조달해야 하는 자체 테스트 Ether가 있다는 점을 기억해야 합니다. 예를 들어 Testnet Ether와 관련된 Faucet은 테스트 Ether를 요청할 수 있는 웹사이트이며, 이 경우에는 Sepolia 테스트 Ether가 됩니다.
이제 Sepolia용 Testnet Ether를 얻을 수 있는 방법에는 여러 가지가 있으며 여기에는 Sepolia Ether를 귀하의 계정으로 보낼 지정된 수도꼭지를 방문하는 것이 포함됩니다.
Metamask와 같은 지갑에 연결된 이더리움 주소가 이미 있다고 가정하면, 가장 간단한 방법은 Sepolia Ether를 채굴할 수 있는 이 웹페이지 로 이동하는 것입니다. 이더리움 주소를 붙여넣고 “나는 로봇이 아닙니다” reCaptcha를 완료한 후 '마이닝 시작'을 선택하세요. 보시다시피, Sepalia Ether를 오랫동안 채굴할수록 더 많은 것을 수집할 수 있습니다.
충분한 Sepalia Ether를 모은 후 '채굴 중지 및 보상 청구' 옵션을 선택하세요.
마지막으로 10~20초 후에 지갑을 확인하여 Sepalia Ether를 받았는지 확인하세요. 아직 확인하지 않았다면 이더리움 지갑 세부정보를 확인하고 처음부터 다시 시작하세요.
충분한 테스트 Ether가 있다면 이제 Donut Vending Machine Solidity 스마트 계약을 Sepolia 테스트넷에 배포할 때입니다.
이제 스마트 계약 배포가 어떻게 작동하는지 이해하려면 Remix 통합 개발 환경을 사용해야 하지만 구현을 쉽게 이해할 수 있는 스마트 계약을 사용해야 합니다.
이를 위해 우리는 Github 링크 에서 사용할 수 있는 Donut Vending Machine Solidity 스마트 계약을 선택했습니다. 스마트 계약 코드를 복사한 후 Remix의 새 .sol 파일에 추가하고 Solidity 컴파일러 아이콘의 일부로 녹색 체크 표시가 나타날 때까지 계약을 컴파일합니다.
이제 획득한 Sepolia Testnet Ether를 사용하여 스마트 계약을 배포할 차례입니다. 이를 위해 아래와 같이 "트랜잭션 배포 및 실행" 아이콘을 선택합니다.
해당 단계를 완료한 후에는 배포 및 트랜잭션 실행 섹션을 찾아야 합니다.
환경 아래 드롭 메뉴에서 주입된 공급자 - 메타마스크를 선택하고 비밀번호로 메타마스크 지갑을 잠금 해제하세요.
배포를 선택하고 Metamask 지갑이 열리면 확인을 눌러 규정된 가스 요금을 지불하세요.
배포된 계약 섹션에서 배포된 스마트 계약을 엽니다.
마지막으로, 1 Ether로 도넛 2개를 구매하려면 "값" 섹션을 1 Ether로 업데이트하고 구매 방법 텍스트 상자에 2를 추가한 후 빨간색 '구매' 버튼을 누르세요.
다시 한 번 말씀드리지만, 메타마스크 지갑에서 거래를 승인하여 구매가 이루어졌음을 확인해야 합니다.
업데이트된 계약 잔액으로 구매가 완료되었다는 확인을 받게 됩니다!
즉, 아래와 같이 getBalance 함수를 호출하여 도넛 개수를 계산할 수도 있습니다.
초기 도넛 개수는 100개였지만, 구매가 완료된 후에는 그 수가 이제 98개로 줄어듭니다!
이제 숙련된 개발자가 Hardhat과 Truffle을 사용한다는 점을 언급해야 하지만 이에 대한 논의는 나중에 다루겠습니다.
고객 구매를 허용하는 도넛 자판기 스마트 계약을 사용하면 스마트 계약을 사용하여 진행되는 거래를 추적할 수 있습니다. 앞서 논의한 도구인 EtherScan이 떠오릅니다.
Sepolia Testnet 트랜잭션에 EtherScan을 사용하려면 https://sepolia.etherscan.io/ 로 이동하여 Remix의 Deployed Contracts 섹션에서 찾을 수 있는 스마트 계약의 주소를 붙여넣어야 합니다.
언뜻 보면 EtherScan에서 Donut Vending Machine 스마트 계약이 어떻게 보이는지 알 수 있습니다.
눈치 채지 못했다면 목록의 첫 번째 거래는 계약 생성으로 정의됩니다. 위의 방법으로 구매가 이루어지면 EtherScan에 구매 거래가 업데이트됩니다.
즉, 이제 스마트 계약에는 도넛 2개 구매에 대한 1ETH의 잔액이 있습니다.
이제 끝났습니다!
다음 블로그 게시물에서는 필요한 UI 구성 요소로 기본 웹 페이지를 구축하여 고객이 스마트 계약과 상호 작용할 수 있는 방법을 보여 드리겠습니다.
즉, 우리는 포괄적인 커리큘럼을 통해 블록체인 개발 개념을 가르치는 데 전념하는 Web3 교육 플랫폼인 Lumos Academy 도 구축하고 있습니다.
https://academy.lumoslabs.co/를 살펴보고 학습 곡선보다 앞서 나가세요.