정지용
기술스택 목록
블록체인

Ethereum

프로젝트 2에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.

이 기술은 무엇인가요?

스마트 컨트랙트 실행을 지원하는 탈중앙화 블록체인 플랫폼

Ethereum은 단순 가치 전송만 기록하는 것을 넘어, 임의의 프로그램(스마트 컨트랙트)을 블록체인 위에서 실행하고 그 상태를 전 세계 노드가 공유·검증하도록 설계된 플랫폼이다. 특정 회사나 서버 없이도 토큰 발행, 자산 소유권 증명, 자동화된 계약 실행 같은 로직을 신뢰할 수 있는 방식으로 처리하려는 문제에서 출발했다. 네트워크 참여자들은 계정 잔액과 컨트랙트 상태를 담은 공유 원장을 합의 알고리즘을 통해 유지하며, 모든 상태 변경은 트랜잭션과 그에 대한 수수료(가스)를 통해 이루어진다.

이럴 때 사용합니다

  • 토큰·NFT 발행과 소유권 이전을 탈중앙화된 방식으로 검증하고 싶을 때
  • 특정 서버 없이도 계약 로직이 변조 없이 실행되길 원할 때
  • 여러 서비스가 공통 표준(ERC 계열)으로 자산을 상호운용해야 할 때

핵심 개념

Smart Contract
블록체인 위에 배포되어 조건에 따라 자동으로 실행되는 프로그램으로, 코드가 곧 규칙이 된다.
Account
개인 키로 제어되는 EOA(외부 소유 계정)와 코드를 가진 Contract 계정 두 종류로 구성되며, 각각 잔액과 상태를 가진다.
Gas
트랜잭션이나 컨트랙트 실행에 필요한 연산량을 나타내는 단위로, 네트워크 남용을 막고 실행 비용을 지불하는 수단이다.
EVM (Ethereum Virtual Machine)
모든 노드가 동일한 방식으로 스마트 컨트랙트 코드를 실행하도록 하는 표준화된 실행 환경이다.
Token Standard (ERC-20/ERC-721)
대체 가능 토큰(ERC-20)과 대체 불가능 토큰(ERC-721) 등이 공통 인터페이스를 따르도록 정한 규약으로, 지갑·거래소·서비스 간 호환성을 보장한다.

ERC-20 토큰 잔액 조회 (web3 라이브러리 사용)

지정한 ERC-20 토큰 컨트랙트에서 특정 주소의 토큰 보유량을 조회하는 예시이다.

JavaScript
const { Web3 } = require("web3");
const web3 = new Web3("https://mainnet.infura.io/v3/YOUR_KEY");

const abi = [
  {
    "constant": true,
    "inputs": [{ "name": "_owner", "type": "address" }],
    "name": "balanceOf",
    "outputs": [{ "name": "balance", "type": "uint256" }],
    "type": "function"
  }
];

const contract = new web3.eth.Contract(abi, "0xTokenContractAddress");

contract.methods.balanceOf("0xHolderAddress").call()
  .then(balance => console.log("balance:", balance));

처음 쓸 때 흔한 함정

  • 가스비는 네트워크 혼잡도에 따라 변동하므로 트랜잭션 비용을 고정값으로 가정하면 안 된다
  • 테스트넷과 메인넷의 컨트랙트 주소·체인 ID가 다르므로 환경 설정을 혼동하기 쉽다
  • 한 번 배포된 컨트랙트는 기본적으로 수정이 불가능해 배포 전 검증이 중요하다

위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.

프로젝트별 활용 방식

위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.

  1. 02인프라
    2026년 7월

    멀티체인 NFT 워커 GitOps 배포 문서

    NFT 마켓플레이스 워커 서비스를 체인별(Polygon/Klaytn/Ethereum)로 Kustomize와 ArgoCD로 배포하는 구조를 정리한 문서

    이 프로젝트에서의 Ethereum 활용

    워커가 이벤트를 처리하는 대상 체인 중 하나

    nft-marketplace-worker-argocd-deploy-docs프로젝트 자세히 보기 →

함께 사용한 기술

위 프로젝트들에서 같이 쓰인 다른 기술입니다.