1단계: thirdweb 회원가입
1. 인터넷 브라우저에서 `https://thirdweb.com` 주소를 입력하여 사이트에 접속한다.
2. 최초 접속 시 이메일 주소 입력과 인증 절차가 진행된다. 본인 이메일을 입력하고, 받은 메일에서 인증코드를 확인한 후 사이트에서 인증을 완료한다.
2단계: 지갑 연결
1. 가입 절차를 마친 이후부터는 화면 오른쪽 상단에 있는 Login 버튼을 클릭한다.
2. 팝업 창이 나타나면 Metamask를 선택한다.

- Metamask 대신 Coinbase Wallet, WalletConnect 등 다른 Web3 지갑을 선택해도 무관하다.
4. 선택한 지갑에서 thridweb 사이트로의 서명을 요청하는 알림이 뜨면 ‘컨펌’ 버튼을 클릭한다.
5. 연결이 완료되면 thirdweb 화면 우측 상단에 내 지갑 주소 일부가 표시된다.

3단계: 지갑 네트워크 설정
1. 메타마스크 지갑에서 네트워크를 Holesky Testnet으로 변경한다. 만약 Holesky가 네트워크 목록에 없다면, 메타마스크에서 수동으로 네트워크를 직접 추가해야 한다. (이 과정은 4-4-2절에서 이미 다루었다.)
2. 선택이 완료되면 화면에 연결된 네트워크가 Holesky로 표시된다.

4단계: 팀 생성
- thirdweb에서 프로젝트를 생성하기 위해서는 팀 생성을 해야 한다. 단독으로 사용하더라도 팀을 생성한 뒤 사용해야 한다.
1. thridweb 첫 화면에서 ‘Create Team’ 버튼을 클릭한다.

2. 팀 정보를 입력한다. (팀 이미지, 팀명, URL)

3. Plan 선택하라는 화면이 나오지만, 테스트를 위해서는 Free plan으로도 충분하다 하단의 Later 를 클릭한다.
4. 팀 생성은 간단히 완료된다.
5단계: 프로젝트 생성
1. 팀 생성 후 첫 화면에서 Create Project 버튼을 클릭한다.

2. 프로젝트 이름을 입력한다. 예: MyFirstProject
3. Allow all domains 체크박스를 선택한다. (테스트 목적이므로 허용하지만, 실제 협업 프로젝트에서는 반드시 허용할 도메인을 직접 입력해야 한다.)
4. Create 버튼을 클릭하면 “Unrestricted Web Access”라는 경고창이 나타난다. 앞서 체크한 항목에 대한 경고이므로 걱정하지 말고 Proceed 버튼을 누른다.

5. 이어서 Client ID와 Secret Key가 생성된다. Secret Key는 절대 외부에 공유해서는 안 되며, thirdweb을 계속 사용할 계획이라면 안전한 곳에 보관해야 한다.

6. “Secret Key를 외부에 공유하지 않겠다”는 메시지에 체크한 뒤 “View Project” 버튼을 클릭한다.
7. 프로젝트가 생성되면 대시보드 좌측에 여러 메뉴가 추가된다.

6단계: FT 발행을 위한 컨트랙트 생성
1. 좌측 메뉴에서 Contracts 항목을 클릭한다.

2. Contracts 페이지에서 우측 상단의 Deploy Contract 버튼을 클릭한다.

3. 두 가지 항목 중 “Launch Coin”을 선택한다. (“Launch NFT Collection”은 4-7절에서 다룬다.)

4. “Select a Project” 팝업 창이 나타나면, 앞서 만든 프로젝트명을 선택한다.
5. 이제 토큰 기본 정보 입력 창이 열린다.
7단계: 토큰 기본 정보 입력
1. Name(토큰 이름): 원하는 이름을 입력한다. 예: MyFirstToken
2. Token Symbol(토큰 심볼): 짧은 표기를 입력한다. 예: MFT
3. Initial Supply(총 발행량): 발행하고자 하는 수량을 입력한다. 예: 1000
4. 그 외 image, description, Social URLs 등은 필수 값이 아니므로 넘어가도 되지만, 완전한 토큰을 만들고 싶다면 입력해도 좋다.
5. 하단의 Next 버튼을 클릭한다.

8단계: 판매 및 에어드랍 설정
1. 토큰의 발행량을 설정해 준다.
2. ‘Sale’과 ‘Airdrop’ 항목은 실제 토큰을 판매할 경우에는 설정이 필요하지만, 이번 실습은 단순 발행을 목적으로 하므로 두 항목 모두 비활성화한 뒤 Next 버튼을 클릭한다.
- Sale 항목은 발행된 토큰의 가격을 설정해 준다. 가격 정보가 스마트컨트랙트에 기록이 되어 사람이 개입하지 않고서 거래가 이루어질 수 있도록 해준다.
- Airdrop 항목은 초기 마케팅을 위해 특정 다수에게 토큰을 무료로 지갑하는 내용이 스마트컨트랙트에 기록되어 향후 에이드랍을 사람의 개입 없이 실행해 준다.
- thirdweb은 이러한 내용의 계약 코드를 자동으로 생성해 준다. thirdweb과 같은 플랫폼이 없다면 이러한 내용은 Solidity 언어로 직접 구현을 해줘야 한다.

3. 최종 설정 내용을 확인하고 이상이 없다면 Launch Coin 버튼을 클릭한다.

9단계: 지갑 확인 및 최종 발행
1. 지갑 팝업 창이 여러 번 나타나며, 각각의 트랜잭션을 승인해야 한다. 이는 배포 과정에 필요한 가스비 확인 절차이다. (가스비로 사용할 테스트이더가 없다면 트랜잭션은 실패한다.)


2. 잠시 기다리면 배포가 완료되었다는 메시지가 thirdweb 화면에 표시된다.

3. 축하한다. 이제 이더리움 네트워크 위에 나만의 토큰이 발행되었다. (비록 테스트넷이지만, 메인넷도 동일한 과정을 거친다.)
4. 배포 완료 화면에서 발행된 토큰의 컨트랙트 주소를 복사해 두자. (다음 단계에서 필요하다.)

10단계: 지갑에 발행된 토큰 연결
- 발행한 토큰을 내 지갑으로 직접 가져와 보자.
1. 메타마스크 지갑을 열고, 토큰 탭에서 우측 설정 버튼을 클릭한다. 그리고 이어서 ‘토큰 가져오기’ 메뉴를 클릭한다.


2. 네트워크 설정에서 ‘Holesky’ 테스트넷을 선택하고, ‘토큰 계약 주소’칸에 앞서 9단계 4.에서 복사한 컨트랙트 주소를 입력한다.

3. 지갑에 뜬 내가 만든 토큰의 정보를 확인한 후 정보가 맞다면 ‘가져오기’ 버튼을 클릭한다.

4. ‘Token’탭을 보면에 토큰 리스트에 내가 만든 토큰과 수량이 표시된다.

이 과정을 따라 하면 학습자는 단순히 화면상의 모의 자산이 아니라, 실제 블록체인에 기록된 ERC-20 토큰을 발행하고 전송까지 체험하게 된다. 이 경험을 통해 블록체인 위에서 자산을 정의하고 이동시킨다는 것이 무엇을 의미하는지를 직관적으로 이해할 수 있다.
온체인 데이터 확인
1. ERC-20 컨트랙트 생성 트랜잭션

사용자의 지갑 주소에서 thirdweb 팩토리 컨트랙트를 호출하여 새로운 ERC-20 컨트랙트를 배포한 내역을 보여준다.
Transaction Hash, Status, Block 정보와 함께, To 항목에 팩토리 주소가 기록되어 있으며, 하단에 [Created] 표시가 나타나 있다. 이는 새로운 컨트랙트 주소(0x3499…5cd0fac7)가 성공적으로 생성되었음을 의미한다.
2. 컨트랙트 초기화와 내부 실행
- 트랜잭션

앞서 생성된 ERC-20 컨트랙트에 대해 초기 설정을 진행한 트랜잭션을 보여준다.
이 단계에서는 토큰의 이름, 심볼, 소유자와 같은 주요 파라미터가 지정된다.
- 내부 트랜잭션(Internal Txn)

이 초기화 트랜잭션의 내부 실행 내역을 Internal Txns 탭에서 확인한 모습이다.
delegatecall 방식으로 여러 차례의 내부 호출이 발생하였는데, 이는 thirdweb이 사용하는 업그레이어블 프록시 구조에서 다양한 모듈을 순차적으로 세팅하는 과정이다.
즉, 그림 2는 겉에서 보이는 초기화 트랜잭션이고, 그림 3은 그 내부에서 실제로 실행된 세부 절차를 드러낸 것이다. 두 그림은 하나의 사건을 서로 다른 시각에서 보여주고 있다.
3. 토큰 민트 완료

ERC-20 토큰이 실제로 발행된 내역을 보여준다.
ERC-20 표준에 따라 새로운 토큰이 발행될 때에는 항상 0x0000…0000 주소에서 사용자의 지갑으로 전송되는 Transfer 이벤트가 기록된다.
그림에서는 10,000 MFT(My First Token)가 발행되어 사용자의 지갑으로 들어왔음을 확인할 수 있다.
이는 컨트랙트 배포와 초기 설정이 완료된 후, 실제 토큰 민트가 정상적으로 이루어졌음을 의미한다.