---
title: "Arbitrum 개발을 시작하는 방법"
description: "Arbitrum Dapp을 만드는 방법 알아보기"
---

# Arbitrum 개발을 시작하는 방법

Arbitrum은 옵티미스틱 롤업을 사용하는 Ethereum 레이어-2 블록체인으로, Ethereum의 레이어 1 보안성을 활용하면서 Ethereum 기본 레이어 블록체인에서 [앱](https://www.alchemy.com/dapps/top/defi-dapps)을 실행하는 것보다 더 높은 확장성과 낮은 가스 비용을 개발자에게 제공합니다.

Arbitrum 개발 방법을 배우는 데 관심이 있다면 이 글이 도움이 될 것입니다! 이 가이드에서는 Arbitrum 네트워크에서 코딩을 시작하는 데 필요한 단계를 안내합니다.

## **Arbitrum이란?**

[Arbitrum](https://www.alchemy.com/arbitrum?a=0c128a6d93)은 신뢰 없이도 보안을 유지하면서 Ethereum 메인 체인의 확장을 돕는 레이어-2 옵티미스틱 롤업 블록체인입니다. Ethereum 가상 머신(EVM)을 기반으로 하지만, Arbitrum은 Ethereum 네트워크보다 훨씬 더 확장성이 높고 사용하기 편리한 고유한 설계를 제공합니다.

또한 Arbitrum 스마트 컨트랙트는 EVM 호환이므로 기존 Ethereum 툴링, 지갑, 앱과 함께 작동합니다. Arbitrum은 저비용 스마트 컨트랙트를 만들고 긴 트랜잭션 시간 문제를 해결하기 위해 만들어진 Ethereum 확장 솔루션 중 하나입니다.

ArbOS에서 실행되는 Arbitrum 가상 머신은 Arbitrum 체인에서 스마트 컨트랙트 실행에 대한 기록 관리자, 교통 통제관, 집행자 역할을 합니다.

## **Arbitrum 개발을 시작하는 방법**

Arbitrum 개발을 시작하기 전에, 블록체인이 어떻게 작동하는지 이해하고 몇 가지 사전 요구 사항을 구성하는 것이 중요합니다:

1. Hardhat
1. Alchemy 계정
1. [web3 지갑](https://www.alchemy.com/overviews/web3-wallets) (예: [MetaMask](https://www.alchemy.com/dapps/metamask), Apex 등)

### **1. Arbitrum 작동 방식 이해하기**

Arbitrum 개발을 시작하기 전에 플랫폼이 어떻게 작동하는지 잘 이해하는 것이 중요합니다. 기술적인 세부 사항에 대해서는 Arbitrum 백서를 참고할 수 있습니다.

Arbitrum을 만들고 유지 관리하는 팀인 Offchain Labs에 따르면, Arbitrum의 아키텍처는 다음과 같습니다: 사용자와 서비스 제공자는 왼쪽의 오프체인에 속하고, Arbitrum 시스템은 오른쪽의 레이어 1과 레이어 2로 구성됩니다.

Arbitrum은 레이어-1 Ethereum 체인(주황색) 위에 있는 레이어-2 롤업 솔루션(녹색)입니다.

<ImageBlock
  src="https://media.alchemy.com/1704205409-how-arbitrum-works.jpg"
  alt="이더리움 레이어-1 체인 위에 레이어-2 롤업으로 구성된 Arbitrum 아키텍처 다이어그램"
  width={1600}
  height={742}
  caption="출처: Offchain Labs"
/>

또한 Arbitrum 팀은 개발자가 시작하는 데 도움이 되도록 플랫폼 개요와 첫 번째 스마트 컨트랙트를 만드는 단계별 가이드를 포함한 여러 자료를 만들었습니다.

### **2. Hardhat 다운로드 (통합 개발 환경)**

Arbitrum에서 개발하는 방법은 두 가지입니다: 온라인 IDE를 사용하거나 로컬 개발 환경을 설정하는 것입니다. 어느 쪽이든 시작하기 전에 [Solidity 개발용 IDE](https://hardhat.org/hardhat-runner/docs/getting-started#overview)를 선택하고 구성해야 합니다.

이 글에서는 로컬 개발 환경인 [Hardhat](https://hardhat.org/hardhat-runner/docs/getting-started#overview)을 사용하여 빌드합니다. Hardhat 설치를 마쳤다면, [Hardhat 프로젝트를 생성](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet)하세요.

### **3. Alchemy에서 Arbitrum 앱 생성하기**

스마트 컨트랙트를 배포하려면 [Arbitrum RPC 노드](https://www.alchemy.com/overviews/arbitrum-node)가 필요합니다. 다행히 직접 Arbitrum 노드를 실행할 필요는 없으며, 대신 [Alchemy에 무료로 가입](https://dashboard.alchemy.com/?a=0c128a6d93)하여 Arbitrum-Goerli 테스트넷에서 앱을 생성할 수 있습니다.

가입을 마쳤다면, 다음 단계를 따르세요:

1. Dashboard를 클릭합니다
1. "Create App"을 클릭합니다
1. 앱 이름을 선택합니다
1. Arbitrum Nitro Goerli 테스트넷을 선택합니다.
1. 그런 다음 "Create App"을 클릭합니다

Alchemy Dashboard에 앱이 표시됩니다.

### **4. Goerli 파우셋에서 테스트용 ETH 받기**

Arbitrum-Goerli 테스트넷에서 Arbitrum 컨트랙트와 상호작용하려면 테스트용 ETH와 [Arb-Goerli RPC 엔드포인트](https://www.alchemy.com/chain-connect/chain/arbitrum-goerli)가 필요합니다.

Goerli ETH를 얻는 가장 쉬운 방법은 파우셋을 이용하는 것입니다.

1. [MetaMask에 Arbitrum 추가하기](https://www.alchemy.com/docs/reference/arbitrum-api-quickstart#arbitrum-tutorials)
1. [Goerli 파우셋](https://goerlifaucet.com/)으로 이동합니다
1. [‍](https://goerlifaucet.com/)Ethereum 주소를 입력합니다
1. 몇 분 안에 MetaMask 지갑으로 Goerli ETH를 받게 됩니다

파우셋에서 ETH를 받았는지 확인하려면 MetaMask 설정으로 이동한 다음 Advanced 항목에서 "Show test networks"를 선택하세요.

Arbitrum Nitro Testnet과 호환되는 Goerli 파우셋을 사용하는 경우, [Goerli 토큰을 Arbitrum Nitro로 브리지하는 방법](https://www.alchemy.com/overviews/arbitrum-nitro-testnet)을 참고하세요.

### **5. 스마트 컨트랙트 작성, 컴파일, 배포하기**

이제 스마트 컨트랙트 작성을 시작할 수 있습니다. [Alchemy 문서](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet)의 단계를 따라 간단한 "Hello World" 스마트 컨트랙트를 만들어 보세요. "Hello World" 스마트 컨트랙트를 작성, 컴파일, 배포하는 방법에 대한 이 [Hello World 영상 튜토리얼](https://www.youtube.com/watch?v=g73EGNKatDw)도 참고할 수 있습니다. 이 [github 저장소](https://github.com/alchemyplatform/hello-world-tutorial)에는 영상에서 다룬 모든 스크립트가 포함되어 있습니다.

컨트랙트 작성을 마쳤다면 Hardhat을 사용해 컴파일하고, Ethereum 클라이언트(Ganache 또는 [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one))에 연결한 다음 _hardhat deploy_ 명령을 사용해 컨트랙트를 배포하세요.

더 많은 영감이 필요하다면 Pet Shop dapp이나 Election dapp 같은 데모 예제가 있는 [Offchain Labs GitHub 모노레포](https://github.com/OffchainLabs/arbitrum-tutorials)를 확인해 보세요.

### **6. 스마트 컨트랙트와 상호작용하고 Etherscan에 제출하기**

스마트 컨트랙트를 만든 후에는 [스마트 컨트랙트와 상호작용하는 방법](https://www.youtube.com/watch?v=sQJ-XQBzEuc)을 알아야 유용하게 사용할 수 있습니다! [스마트 컨트랙트를 읽고 상호작용하는 방법](https://www.youtube.com/watch?v=sQJ-XQBzEuc)에 대한 이 영상 튜토리얼을 시청해 보세요.

**영상에서는 다음 단계를 다룹니다:**

- interact.js 파일 생성
- env 파일 업데이트
- 컨트랙트 ABI 가져오기
- 컨트랙트 인스턴스 생성
- _init_ 메시지 읽기 및 업데이트

완료했다면 [컨트랙트를 Etherscan에 게시](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1)할 준비가 된 것입니다. [Etherscan에서 컨트랙트를 검증하는 방법](https://www.youtube.com/watch?v=x1a5lrW-9fo)에 대한 이 영상을 시청해 보세요.

**이 작업은 다음 단계로 진행됩니다:**

- hardhat-etherscan 플러그인 설치
- Etherscan 설정 옵션 변경
- Etherscan에서 스마트 컨트랙트 검증

Arbitrum에서 발생하는 모든 트랜잭션은 [Arbitrum 블록 탐색기](https://arbiscan.io/)에서 확인할 수 있습니다.

### **7. 스마트 컨트랙트를 프론트엔드와 통합하기**

스마트 컨트랙트를 만들고 Etherscan에 게시된 것을 확인했다고 끝난 것이 아닙니다! 이제 [스마트 컨트랙트를 프론트엔드 인터페이스와 통합](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1)해야 합니다.

**튜토리얼에서는 다음 단계를 다룹니다:**

- 시작 파일 복제하기
- 시작 파일 확인하기
- 스마트 컨트랙트에서 읽기
- Ethereum 지갑 설정하기
- MetaMask를 UI에 연결하기
- updateMessage 함수 구현하기
- 자신만의 dApp 만들기

축하합니다! Arbitrum에서 자신만의 간단한 dApp을 개발했습니다! 🎉

Arbitrum의 메인넷 출시 이후, 점점 더 많은 개발자가 이 블록체인에서 Arbitrum 스마트 컨트랙트를 구축하고 있으며, Arbitrum 개발 방법을 배우는 것은 [균형 잡힌 Solidity 개발자가 되기 위한](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer) 중요한 단계입니다.

Arbitrum 메인넷에 스마트 컨트랙트를 출시하기 전에, 테스트넷에서 dapp을 철저히 테스트하고 [스마트 컨트랙트 감사 업체](https://justjooz.com/best-smart-contract-auditors/)를 고용해 취약점을 검사하는 것을 고려하세요.
