Web3 인프라: RPCs, Nodes, Infura/Alchemy (보이지 않는 배관)

발행: (2025년 12월 29일 오후 10:03 GMT+9)
10 min read
원문: Dev.to

Source: Dev.to

블록체인은 노드 없이는 “눈이 멀다”

기억하세요 Day 6?
스마트 계약은 온‑체인에 존재하지만, 지갑 잔액, 대기 중인 트랜잭션, 현재 블록을 직접 “볼” 수 없으며 누군가에게 물어봐야 합니다.

그 “누군가”가 바로 RPC 노드 – 블록체인과 지속적으로 동기화된 컴퓨터로, 다음과 같은 질문에 답할 준비가 되어 있습니다:

  • “내 ETH 잔액은 얼마인가요?”
  • “내 트랜잭션이 확인됐나요?”
  • “가장 최신 블록은 무엇인가요?”

노드가 없으면 MetaMask는 인터넷에 연결되지 않은 고급 계산기와 같습니다.

비유: 당신의 전화는 전체 인터넷을 저장하지 않습니다; 구글에 물어봅니다 (“야, 날씨 어때?”). RPC 노드는 Web3의 구글입니다.

Source:

RPC 노드란? (간단 버전)

  • RPC = Remote Procedure Call – 컴퓨터 A가 컴퓨터 B에게 함수를 실행하고 결과를 반환해 달라고 요청합니다.
  • RPC 노드 = 블록체인의 전체 사본으로서:
    • 모든 블록, 트랜잭션, 스마트‑컨트랙트 상태를 다운로드합니다.
    • JSON‑RPC(블록체인 쿼리를 위한 표준 언어)를 사용합니다.
    • 여러분의 dApp/지갑과 체인 사이의 중개자 역할을 합니다.

매번 여러분이:

  • MetaMask에서 잔액을 확인할 때
  • 트랜잭션을 보낼 때
  • Uniswap 가격을 조회할 때

MetaMask는 어느 곳에 있는 노드에 RPC 요청을 보냅니다.

실제 예시: 첫 번째 컨트랙트를 Sepolia에 배포했을 때 (Day 9), Remix IDE가 RPC 엔드포인트를 호출했습니다: “이 트랜잭션을 대신 전송해 주세요.”

RPC URL – Web3의 “전화번호”

모든 블록체인 연결은 RPC URL로 시작합니다, 예:

https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
https://mainnet.infura.io/v3/YOUR_PROJECT_ID

구성 요소

PartMeaning
eth-sepolia이더리움 Sepolia 테스트넷
alchemy.com / infura.io노드 제공자
YOUR_API_KEY / YOUR_PROJECT_ID귀하의 무료 개발자 자격 증명

MetaMask → Settings → Networks → Ethereum Mainnet → RPC URL 은 바로 이 문자열입니다.

프로 팁: Alchemy/Infura 대시보드에서 URL을 복사하여 MetaMask의 사용자 지정 네트워크에 붙여넣으면 즉시 모든 체인에 연결됩니다.

자체 노드 실행 vs. 제공자 사용

옵션 1 – 직접 실행 (하드코어)

geth --sepolia --http --http.api eth,net,web3
  • 수백 GB를 다운로드합니다.
  • 24시간 7일 내내 실행해야 합니다.
  • 완전한 제어권을 제공하지만 전기 비용이 발생하고 노트북이 절전 모드에 들어가면 충돌합니다.

추천 대상: 프라이버시 중심 사용자, MEV 봇, 엔터프라이즈 dApp.

옵션 2 – 제공자 사용 (개발자 99 %)

Infura(ConsenSys)와 Alchemy가 Web3의 약 90 %를 지원합니다.

왜 그들이 승리하는가
99.99 % 가동 시간 (노드가 다운되면 dApp도 죽음)
자동 스케일링 (Uniswap이 초당 1M+ 요청을 처리)
무료 티어 (≈ 300k 요청/일)
내장된 분석, 디버깅, 아카이빙 기능

당신이 Day 9 Sepolia 배포 를 따라했을 때, 이미 그들의 노드를 사용하고 있었음을 알지 못했을 것입니다.

Infura vs. Alchemy – 제공자 대결

FeatureInfuraAlchemyWinner
Free tier100 k req/day300 k req/dayAlchemy
Uptime99.9 %99.99 %Alchemy
AnalyticsBasicGod‑tier dashboardAlchemy
L2 supportGoodExcellentAlchemy
Ethereum Foundation tiesStrongGrowing무승부

My pick: Alchemy – 더 나은 무료 티어와 대시보드 덕분에 디버깅이 훨씬 쉬워집니다.

Switching test: 두 서비스 모두에서 무료 API 키를 받아 동일한 계약을 배포하면, 작은 프로젝트에서 비슷한 속도를 확인할 수 있습니다.

실제 사례: MetaMask와 RPC가 실제로 작동하는 방식

  1. Uniswap에서 “Swap ETH → USDC”를 클릭합니다.
  2. Uniswap이 RPC에 요청합니다: “내 ETH 잔액은? USDC 가격은?”
  3. MetaMask가 RPC에 요청합니다: “이 트랜잭션을 서명할 수 있나요? 가스 가격은?”
  4. 승인을 하면 → MetaMask가 RPC를 통해 트랜잭션을 broadcast합니다.
  5. RPC가 Ethereum 채굴자/검증자에게 broadcast합니다.
  6. 약 6 블록 후, RPC가 **“Tx success!”**를 확인합니다.

모든 단계가 RPC 호출입니다. RPC가 없으면 Web3도 없습니다.

Infura가 다운되면 어떻게 할까요? MetaMask 설정에서 RPC URL을 전환하면 약 30 seconds 정도 걸립니다.

빌더에게 중요한 이유 (DevRel 관점)

상황확인할 내용
주니어 개발자가 “contract deploy failed”를 확인함먼저 RPC 상태를 확인하세요.
스케일링 dApp이 무료 티어를 초과함유료 플랜으로 업그레이드 (≈ $49/월).
프라이버시 중심 프로젝트자신의 노드와 Tor를 실행하세요.
MEV 봇아카이브 노드 사용 (전체 히스토리 데이터).

Sepolia 배포 경험: 나는 “transaction underpriced” 오류를 디버깅하는 데 2 시간을 소비했으며, 그때 RPC가 속도 제한됐다는 것을 깨달았다. 다시는 안 한다.

Pro move: 2–3 RPC URLs을 준비해 두세요 – 기본, 백업, 그리고 (가능하면) 자체 호스팅.

Hands‑On: Set Up Your Own RPC Pipeline (≈ 5 min)

  1. Sign up at a provider (free tier). → 프로바이더에 가입하세요 (무료 티어).

  2. Create an app → copy the Sepolia RPC URL. → 앱을 생성하고 Sepolia RPC URL을 복사합니다.

  3. MetaMask → Settings → Networks → Add Network

FieldValue
Network NameSepolia (Alchemy)
RPC URLhttps://eth-sepolia.g.alchemy.com/v2/YOUR_KEY
Chain ID11155111
Currency SymbolETH
Block Explorer URL (optional)https://sepolia.etherscan.io
  1. Test: Send 0.001 Sepolia ETH to your address. It should appear instantly. → 테스트: 주소로 0.001 Sepolia ETH를 전송합니다. 즉시 표시되어야 합니다.

  2. Challenge: Deploy the contract from Day 9 using your Alchemy RPC vs. Infura. Compare speed. → 도전 과제: [Day 9](https://medium.com/dev-genius/your-first-ethereum-smart-contract-step-by-step-770bdbbe10ec)에서 계약을 배포할 때 Alchemy RPCInfura를 각각 사용해 보세요. 속도를 비교합니다.

반성 – “아하” 순간

RPC가 지루하게 느껴졌지만 깨달은 순간: MetaMask는 마법이 아니라 단지 고급 RPC 클라이언트일 뿐이라는 점.

노드를 이해하면 이유가 보인다:

  • 트랜잭션이 “멈춘다” (RPC 속도 제한).
  • dApp이 혼잡 시에 충돌한다 (프로바이더 과부하).
  • “프라이빗” 지갑은 실제로는 프라이빗하지 않다 (공유 RPC가 모든 것을 볼 수 있음).

다음에 누군가 *“Web3는 HTTPS 위의 JSON일 뿐”*이라고 말하면, 고개를 끄덕이며 알아차리자.

핵심 요약

RPC 노드는 Web3의 구글과 같습니다 – 모든 지갑 클릭, 스왑, 그리고 컨트랙트 호출이 이를 통해 이루어집니다.
Infura와 Alchemy가 대부분의 트래픽을 처리하지만, 신뢰성 있고 확장 가능하며 프라이버시를 보장하는 블록체인 개발을 위해서는 노드를 선택하고, 구성하며, (필요하다면) 직접 운영하는 방법을 아는 것이 필수적입니다.

# 90% of traffic so you don't have to.

다음에 할 일

학습

  • Alchemy 계정을 만들고 MetaMask에 커스텀 RPC를 추가하세요.
  • Day 23 (온‑체인 아이덴티티) 를 읽으세요 – ENS 쿼리도 RPC를 호출한다는 점을 기억하세요 (계속 지켜보세요).

구축

  • 세 가지 RPC 제공업체 Alchemy, Infura, QuickNode 를 즐겨찾기에 추가하세요.
  • 프로덕션 환경에서는 절대 단일 RPC URL을 하드코딩하지 마세요.

함께 참여하세요

  • 아래에 “RPC 공포 이야기”를 남겨 주세요 👇

Web3ForHumans – 텔레그램: 노드 설정을 공유하세요!

Follow me on:


## 추가 읽을거리

- **Alchemy – RPC 노드 가이드**  
- **Cherry Servers – RPC 노드란?**  
- **MetaMask – 커스텀 RPC 추가 방법**  
- **Alchemy vs Infura 비교**
Back to Blog

관련 글

더 보기 »