Web3 스택: 개발자를 위한 참조

Web3 프로젝트 개발에 참여하고 싶으신가요? 이 글에서는 가장 널리 사용되는 레이어와 개발 환경에 대해 간략히 소개합니다.

Web3가 현재 매우 뜨거운 주제라는 것은 이미 잘 알려져 있습니다. 많은 사람들이 Web3 메타버스에서 새로운 시작을 위해 FAANG 기업이나 유명 스타트업에서 이직하고 있습니다.

만약 당신도 비슷한 욕구를 느낀다면, 어디서부터 시작해야 할까요? 이 글은 Web3 개발에 바로 뛰어들고 싶은 분들을 위해 준비되었습니다. 다양한 카테고리에 초점을 맞추고, 각 카테고리에는 여정을 시작하는 데 도움이 될 만한 유용한 자료가 포함되어 있습니다.

더욱 쉽게 정보를 찾아볼 수 있도록 자료를 별도의 섹션으로 나누었습니다.

각 섹션은 다음과 같습니다:

  • 레이어: 개발에 사용되는 가장 인기 있는 블록체인들입니다.
  • 개발 환경: 이러한 레이어에 배포하는 데 도움이 되는 다양한 도구입니다.
  • 신원: 지갑 ID를 만들고 암호화 로그인을 사용하는 방법입니다.
  • 저장: P2P 기술을 이용하여 영구적인 데이터 저장소를 구축하는 방법입니다.
  • API: 주요 네트워크에 직접 접근하여 정보를 가져오는 방법입니다.
  • 프론트엔드: 프론트엔드 개발에 사용되는 인기 있는 프레임워크입니다.

‘스택’이라는 용어는 특정 목표를 달성하는 데 사용되는 특정 기술 조합을 정의하는 데 사용됩니다. 풀 스택 개발이든, 이 경우에는 Web3 스택이든 말입니다. Web3 앱 및 제품 구축과 관련된 기술은 다소 “변동성이 크다”는 점을 주목해야 합니다.

더 많은 사람들이 블록체인에서 소프트웨어를 개발하는 데 익숙해짐에 따라 많은 것이 변화하고 있습니다. 따라서 이 자료의 목표는 실제 프로젝트에서 이미 사용된 리소스를 언급하는 것입니다.

준비되셨다면, 이제 시작해볼까요?

레이어

모든 Web3 프로젝트의 기본은 레이어에서 시작됩니다. 여기서 레이어란 응용 프로그램 또는 제품이 실행될 특정 블록체인 네트워크를 의미합니다.

#1. 이더리움

이더리움은 자체 스마트 컨트랙트 기능을 제공하며 인기를 얻었습니다.

그 이후로 개발자들은 차세대 Web3 애플리케이션을 구축하기 위한 선호하는 블록체인 레이어로 만들었습니다. 또한 많은 NFT 프로젝트에서 선호하는 레이어이므로 NFT 관련 앱을 개발하고 싶다면 이더리움은 많은 것을 제공할 수 있습니다.

#2. 폴리곤

폴리곤 레이어는 낮은 거래(가스) 수수료를 유지하면서 더 복잡한 보안 관행을 제공하는 이더리움 사이드체인입니다. 트랜잭션 수는 매우 많지만 트랜잭션 가격은 낮은 프로젝트에 널리 사용됩니다.

폴리곤은 사이드체인이기 때문에 레이어 2 블록체인이라고도 합니다. 하지만 폴리곤의 빠른 성장 덕분에 NFT 앱뿐만 아니라 dApp 및 결제 시스템에서도 인기 있는 선택이 되었습니다.

기타 주목할 만한 Web3 레이어:

  • 솔라나: DeFi 앱을 대규모로 구축하기 위해 만들어진 블록체인입니다.
  • NEAR 프로토콜: 풍부한 개발자 리소스를 가진 스마트 컨트랙트 블록체인입니다.
  • 폴카닷: 거버넌스 프로젝트 구축을 위한 크로스 블록체인 프로토콜입니다.
  • 테조스: 분산형 크리에이티브 플랫폼 구축을 위한 에너지 효율적인 플랫폼입니다.
  • 팬텀: dApp 개발을 위한 오픈 소스 스마트 컨트랙트 플랫폼입니다.

개발 환경

개발 환경을 이용하면 처음부터 모든 것을 직접 설정해야 하는 번거로움을 덜 수 있습니다. 현재 대부분의 개발 환경은 이더리움 기반입니다.

#1. 하드햇

하드햇은 이더리움 개발자를 위한 개발 환경입니다. 개발자가 분산 앱뿐만 아니라 스마트 컨트랙트 구축 및 통합 프로세스를 자동화하도록 지원합니다. 인기의 비결은 앱을 로컬에서 테스트할 수 있는 이더리움 네트워크의 복제본인 내장 하드햇 네트워크 때문입니다.

#2. 트러플

트러플은 스마트 컨트랙트 개발을 위한 JavaScript 기반 프레임워크입니다. 개발 프로세스를 가속화할 수 있는 도구를 제공하는 EVM(Ethereum Virtual Machine)을 사용합니다. 이러한 도구에는 자동화된 테스트, 컨트랙트 컴파일러 및 콘솔에서 바로 컨트랙트에 접근할 수 있는 기능이 포함됩니다.

기타 주목할 만한 Web3 개발 환경:

  • 파운드리: 이더리움에서 앱을 빌드하기 위한 Rust 기반 툴킷입니다.
  • 브라우니: 스마트 컨트랙트를 개발하고 테스트하기 위한 Python 기반 프레임워크입니다.
  • 앵커: Rust로 작성되었으며 솔라나와 함께 작동하는 프레임워크입니다.
  • 엠바크: 이더리움 위에 빌드하기 위한 올인원 프레임워크입니다.
  • 와플: 스마트 컨트랙트 테스트를 위한 맞춤형 프레임워크입니다.

신원

기존 사용자 이름 및 비밀번호 인증과 달리 Web3 개발자는 지갑과 공개 키를 사용합니다.

#1. 월렛커넥트

월렛커넥트는 모바일 지갑을 통해 dApp에 연결하는 데 사용되는 오픈 소스 프로토콜입니다. 월렛커넥트의 주요 기능은 QR 코드를 스캔하여 사용자의 신원을 확인하고 Web3 앱에 대한 새 연결을 승인하는 것입니다.

만약 필라 또는 메타마스크와 같은 지갑을 알고 있다면, 이러한 지갑은 모두 월렛커넥트와 직접 통합됩니다. 이는 또한 많은 개발자 리소스를 이용할 수 있다는 의미이기도 합니다. 마지막으로 이 프로토콜은 모든 주요 블록체인에서 작동하며, 더 많은 체인이 지속적으로 추가되고 있습니다.

#2. 스프루스

스프루스는 Y Combinator의 지원을 받는 스타트업으로, 블록체인 외부 영역에 분산된 신원 개념을 도입하는 것을 목표로 합니다. 이 툴킷은 사용자가 소셜 미디어, 개인 웹 사이트, 블록체인 네트워크 등 다양한 매체에서 디지털 신원을 확인할 수 있도록 돕는 것을 목표로 합니다.

저장

비디오, 사진과 같은 미디어 파일을 Web3에 어떻게 저장할까요? 이는 주로 P2P 파일 저장 프로토콜을 사용하여 수행됩니다.

#1. IPFS

IPFS는 세계적으로 가장 널리 사용되는 P2P(피어 투 피어) 스토리지 프로토콜입니다. 파일을 IPFS에 업로드하면 해당 파일의 크기가 조정되고 사용자 지정 해시를 통해 보호되며 고유 식별자를 통해 지문이 할당됩니다.

그런 다음 네트워크의 일부인 다른 노드(시스템 또는 사람)가 파일에 접근하여 파일을 확인하고 캐시에 저장할 수 있습니다. 캐시되면 적절한 접근 권한을 가진 모든 사람이 파일에 접근할 수 있습니다.

궁극적으로 IPFS의 목표는 분산된 스토리지 시스템을 제공하는 것뿐만 아니라, 콘텐츠가 단 몇 년이 아니라 수십 년 동안 유지되도록 보장하는 것입니다. 예를 들어 웹사이트가 사라지면 미디어를 포함한 모든 콘텐츠가 손실됩니다. IPFS는 이러한 문제에 대한 실질적인 해결책을 제시합니다.

#2. 스카이넷

스카이넷은 Sia(분산형) 클라우드 네트워크를 사용하여 접근 가능한 파일 공유를 제공합니다. 실제로, 홈페이지에서 바로 사용할 수 있습니다. 파일을 업로드하기만 하면 링크가 제공됩니다. API 키를 등록하지 않는 한 링크는 90일 동안 유지됩니다. 하지만 개발 관점에서 스카이넷을 사용하면 동일한 사용 사례를 쉽게 재현할 수 있지만, 자체 분산형 애플리케이션 내에서 재현할 수 있습니다.

#3. 파일베이스

파일베이스는 Amazon S3 API와 직접적인 연결을 제공하는 SaaS 스타트업입니다. 이 API를 사용하여 S3 버킷에서 데이터를 가져온 다음 다양한 분산형 스토리지 옵션에 재배포할 수 있습니다.

현재 파일베이스는 스카이넷, IPFS, Sia 및 Storj와 같은 Web3 기반 스토리지 옵션을 지원합니다. 이는 개발자로서 클라이언트를 위한 분산 파일 스토리지 서비스를 제공하는 프로세스를 단순화할 수 있음을 의미합니다.

유료 요금제도 저렴한 편이지만, 신규 사용자는 5GB의 스토리지를 무료로 사용할 수 있습니다.

기타 주목할 만한 Web3 스토리지 솔루션:

  • 아르위브: 아르위브는 단일 선불 요금으로 데이터를 영구적이고 지속 가능하게 저장할 수 있는 프로토콜입니다.
  • 파일코인: 모든 종류의 미디어를 분산된 클라우드 환경에 저장합니다.
  • 스웜: 이더리움 스마트 컨트랙트를 통해 인센티브를 받는 자체 유지 P2P 스토리지 노드입니다.
  • 알레프: dApp을 구축하고 알레프가 클라우드 기반 스토리지를 관리하도록 합니다.

API

기존 데이터베이스 기반 스택과 달리, 개발자는 API를 사용하여 블록체인과 상호 작용하고 블록체인에서 데이터를 요청하거나 저장합니다. API는 때때로 클라이언트라고도 불립니다.

#1. 그래프

그래프는 다양한 블록체인과의 연결을 위한 올인원 API 솔루션입니다. 이 API의 목표는 개발자가 자체 알고리즘을 작성해야 하는 데이터에 쉽게 접근할 수 있도록 돕는 것입니다. 예를 들어 블록체인의 데이터 포인트는 간단한 주소부터 스마트 컨트랙트 기반의 복잡한 트랜잭션까지 다양합니다.

예를 들어 NFT의 기록을 추적하는 경우를 생각해봅시다.

개별 구매 이력은 비교적 쉽게 추적할 수 있지만, 다른 구매와의 관계를 파악하려고 하면 점점 어려워집니다. 이러한 경우, 그래프 API는 특정 사용 사례를 빠르게 시각화하는 데 도움이 되도록 미리 만들어진 호출 및 인덱스 디렉토리를 제공합니다.

#2. 웹3.js

웹3.js는 이더리움과 직접 상호 작용하는 가장 인기 있는 JavaScript API입니다. 주로 이더리움 체인과 상호 작용하는 클라이언트 애플리케이션을 개발하는 데 사용됩니다. 웹3.js에 포함된 하위 라이브러리 컬렉션은 전송, 스마트 컨트랙트 관리 등과 같은 기능을 제공합니다.

#3. 알케미

알케미는 가장 존경받는 Web3 플랫폼 중 하나로 빠르게 부상했습니다. 알케미의 접근 방식은 개발자에게 Web3 애플리케이션을 빠르게 구축하고 확장하는 방법을 교육하는 것입니다. 또한 정교한 블록체인 API와 개발자 도구 세트를 제공하여 이를 가능하게 합니다.

#4. useDApp

useDApp은 이더리움 블록체인과 상호 작용하는 React 기반 프레임워크입니다. React.js, Ethers.js 라이브러리, Waffle 및 Web-3 React 구성 요소로 구성됩니다. 일반적으로 프로젝트 요구 사항에 따라 다양한 데이터 쿼리를 표시할 수 있는 접근하기 쉬운 웹 사이트 프런트엔드를 구축하는 데 사용됩니다.

프론트엔드

개발자는 Web3 프로젝트용 프론트엔드 인터페이스를 구축하는 데 어떤 프레임워크를 사용하나요?

#1. 리액트

리액트의 인기는 타의 추종을 불허합니다. 따라서 리액트가 Web3 웹사이트를 위한 가장 인기 있는 프론트엔드 라이브러리라는 사실은 놀라운 일이 아닙니다. 구성 요소 중심 아키텍처는 개발자가 핵심 설계를 방해하지 않고 프론트엔드의 여러 부분에서 작업할 수 있음을 의미합니다.

GitHub의 Web3-React 라이브러리를 확인하여 견고한 시작 기반을 마련할 수 있습니다.

#2. 넥스트

넥스트.js는 리액트의 후계자로 볼 수 있으며, 둘 다 직접적인 관련은 없지만, 많은 면에서 유사합니다. 대규모 Web3 프로젝트는 막대한 리소스 관리가 필요하며, 넥스트.js는 정적 및 동적 프로젝트를 위한 기본 도구와 함께 제공되며, 바이낸스, 비트스크리너, 해쉬노드 등의 회사에서 사용하고 있습니다.

빠른 시작을 위해 넥스트 Web3 보일러플레이트를 참조하십시오.

Web3 개발 시작하기

특히 이제 막 시작하는 경우 고려해야 할 사항이 많습니다. 사실은 이 분야에서 상황이 매우 빠르게 변화하고 있다는 것입니다. 초기 프로젝트는 모두 NFT와 관련되었지만, 요즘에는 분산 네트워크와 개별 블록체인 플랫폼에 더 많은 초점을 맞추고 있습니다.

Web3 프로젝트를 시작하는 한, 이 글의 내용은 충분한 출발점이 될 수 있습니다. 또한 트위터와 디스코드에서 가장 활발한 커뮤니티에 참여하여 최신 Web3 트렌드를 따라잡는 것이 좋습니다.