블록체인 개발, 언제까지 로컬에서만 테스트 할 수는 없다!

실제 트랜잭션을 보내고 해당 이력을 확인하려면 배포는 필수!

그리고 배포를 하려면 “가스비”가 필요하다!

사실 모든 트랜잭션에는 가스비가 필요함!!

트랜잭션- feat. 이더리움

  • 외부 소유 의해 서명된 메시지
  • 이더리움 네트워크에 전송되고 블록체인에 기록된다.
  • 블록체인 상태 변경을 유발하거나 컨트랙트를 실행하는 유일한 방법이다.
  • 이더리움은 독자적으로 상태가 변경되지 않는다
  • 컨트랙트는 독자적으로 실행되지 않는다.

가스비?

블록체인 네트워크에 상태 변경을 유발하거나 컨트랙트를 실행하는 과정 즉 트랜잭션에 소비되는 비용

위에서 설명한 모든 과정에는 가스비가 필요하다

스마트 컨트랙트를 배포하는 것 또한, 블록체인 네트워크의 상태 변경을 유발하기에 “가스비”가 필요하다.

하지만, 테스트 개발에 얼마나 많은 컨트랙트를 배포해야하는지도 모르거니와, 실제로 얼마나 많은 가스비가 배포와 트랜잭션에 소비되는지 모르기 때문에 무작정 지갑을 채워넣고 배포하는 것은 무모하다.

따라서 이런 테스트를 도와주는 네트워크가 있는데

테스트넷 되시겠다.

Metamask 등록

이더리움 기반의 solidity 로 개발을 진행중이므로, 이더리움 테스트넷인 Sepolia와 Holesky를 이용하기로 했다.

img1

  • 출처: https://support.metamask.io/networks-and-sidechains/eth-on-testnets/

Sepolia

dapp개발에 추천하는 테스트 넷 별도의 설정 없이 Metamask에서 이용할 수 있다.

sepolia

Holesky

Holesky의 경우 직접 추가해야 한다.

Faucet에서 지급하는 eth의 양이 Sepolia에 비하면 훨씬 많다.

https://chainid.network 에서 편하게? 등록 가능하다.

holesky 이렇게 등록이 끝났다면 이제 테스트에 필요한 재화를 받으러 가보자

만약 수동으로 Holesky를 추가하고싶다면?

# Network name
Ethereum Holesky

# New RPC URL
https://holesky.drpc.org

# Chain ID
17000

#Currency symbol
ETH

#Block explorer URL(Optional)
https://hopesky.beaconcha.in

이렇게 설정하면 되겠다.

Faucet!

수도꼭지라는 뜻으로, 무료로 일정량의 테스트넷 재화를 배포해준다.

요즘 구글 Faucet을 주로 사용중인데 이유는 간단하다.

지갑 주소만 입력하면 끝이기 때문!

여러 Faucet이 존재하지만 별도의 지갑 연동을 요구하거나(서비스 홍보 등…) 귀찮은게 있지만 킹갓 구글. 그런건 없다.

https://cloud.google.com/application/web3/faucet

해당 사이트에 들어가면

google 이런 모습을 볼 수 있는데 사용하길 원하는 테스트넷을 선택하고, 지갑 주소를 입력하자.

Metamask에서 쉽게 지갑 주소를 복사할 수 있으니 복붙을 생활화 하자.

res

Receive Token을 클릭하면 이렇게 Drip이 완료되었다는 화면으로 변경되며, 이후 해당 이력 또한 확인이 가능하다.

holeRes

이게 진짜 내 돈이면 얼마나 좋을까

이런 faucet을 통한 지갑에 추가하는 것 또한 블록체인 네트워크에서 이루어지는 것이므로 해당 트랜잭션 이력을 검색해볼 수 있다.

추적

scan

위에서 진행한 구글에서 보내준 결과에 있는 링크

Transaction hash를 누르게 되면, 내 지갑에 추가해준 작업에 대한 이력이 나타나는데 이것이 블록체인이라는 사실을 한 번 더 느낄 수 있는 장소라는 생각이 든다…

앞으로 개발을 진행하며 이런 scan과 비슷한 장소에는 자주 방문하게 될 예정이니 이번 기회에 친해지면 좋을 것 같다.

그리고 구글 faucet에서 보내주는 이력도 구경이 가능한데. 심심하다면 한번 From을 클릭해보시는 것으로.

주의사항

  1. 너무 많이 신청하면 부정 사용으로 막히거나 0.01? ETH를 지갑에 보유할 것을 요구한다. 조심하자.

  2. 애초에 구글 Faucet에는 쿨타임이 있다.

  3. 컨트랙트를 조금 이상하게 작성한다면,,, 본인처럼 0.05 sepolia로는 어림도 없는 경우가 종종 발생한다.

  4. 지갑은 복구 구문 외에는 되찾을 수 없다! 잃어버리지 말자!

다음 시간에는… Faucet에서 얻은 이더를 통해 배포를 진행해보자.