이더리움 개발 시작하기
이 문서는 이더리움 개발을 시작하기 위한 초보자용 가이드입니다. 이 튜토리얼에서는 Maker, 0x, MyEtherWallet, Dharma, Kyber를 포함한 상위 블록체인 앱의 70%에서 수백만 명의 사용자에게 서비스를 제공하는 선도적인 블록체인 개발자 플랫폼인 Alchemy (opens in a new tab)를 사용할 것입니다. Alchemy는 트랜잭션을 읽고 쓸 수 있도록 이더리움 체인의 API 엔드포인트에 대한 접근 권한을 제공합니다.
Alchemy 가입부터 첫 Web3 스크립트 작성까지 안내해 드립니다! 블록체인 개발 경험이 없어도 괜찮습니다!
1. 무료 Alchemy 계정 가입하기
Alchemy 계정 생성은 간단합니다. 여기에서 무료로 가입하세요 (opens in a new tab).
2. Alchemy 앱 생성하기
이더리움 체인과 통신하고 Alchemy의 제품을 사용하려면 요청을 인증할 API 키가 필요합니다.
대시보드에서 API 키를 생성 (opens in a new tab)할 수 있습니다. 새 키를 만들려면 아래와 같이 “Create App(앱 생성)”으로 이동하세요.
대시보드를 보여줄 수 있게 허락해 준 ShapeShift (opens in a new tab)에 특별히 감사드립니다!
“Create App” 아래에 세부 정보를 입력하여 새 키를 받으세요. 이전에 만든 앱과 팀에서 만든 앱도 여기에서 볼 수 있습니다. 앱의 “View Key(키 보기)”를 클릭하여 기존 키를 가져올 수 있습니다.
“Apps(앱)” 위에 마우스를 올리고 하나를 선택하여 기존 API 키를 가져올 수도 있습니다. 여기에서 “View Key”를 할 수 있을 뿐만 아니라, “Edit App(앱 편집)”을 통해 특정 도메인을 화이트리스트에 추가하고, 여러 개발자 도구를 확인하며, 분석 데이터를 볼 수 있습니다.
3. 명령줄에서 요청하기
JSON-RPC와 curl을 사용하여 Alchemy를 통해 이더리움 블록체인과 상호작용합니다.
수동 요청의 경우, POST 요청을 통해 JSON-RPC와 상호작용하는 것을 권장합니다. Content-Type: application/json 헤더와 다음 필드를 포함한 쿼리를 POST 본문으로 전달하기만 하면 됩니다:
jsonrpc: JSON-RPC 버전입니다. 현재2.0만 지원됩니다.method: ETH API 메서드입니다. API 참조를 확인하세요.params: 메서드에 전달할 매개변수 목록입니다.id: 요청의 ID입니다. 응답이 어떤 요청에 속하는지 추적할 수 있도록 응답에 의해 반환됩니다.
다음은 현재 가스 가격을 가져오기 위해 명령줄에서 실행할 수 있는 예시입니다:
curl https://eth-mainnet.alchemyapi.io/v2/demo \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
참고: https://eth-mainnet.alchemyapi.io/v2/demo를 자신의 API 키인 https://eth-mainnet.alchemyapi.io/v2/**your-api-key로 바꾸세요.
결과:
{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
4. Web3 클라이언트 설정하기
기존 클라이언트가 있는 경우, 현재 노드 공급자 URL을 API 키가 포함된 Alchemy URL로 변경하세요: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"
참고: 아래 스크립트는 명령줄에서 실행하는 것이 아니라 노드 컨텍스트에서 실행하거나 파일에 저장해야 합니다. 아직 Node나 npm이 설치되어 있지 않다면, Node.js 설치 지침 (opens in a new tab)을 따르세요.
Alchemy와 통합할 수 있는 수많은 Web3 라이브러리가 있지만, Alchemy와 원활하게 작동하도록 구축 및 구성된 Web3.js의 드롭인(drop-in) 대체품인 Alchemy Web3 (opens in a new tab)를 사용하는 것을 권장합니다. 이는 자동 재시도 및 강력한 WebSocket 지원과 같은 여러 가지 이점을 제공합니다.
AlchemyWeb3.js를 설치하려면, 프로젝트 디렉터리로 이동하여 다음을 실행하세요:
Yarn 사용 시:
yarn add @alch/alchemy-web3
NPM 사용 시:
npm install @alch/alchemy-web3
Alchemy의 노드 인프라와 상호작용하려면, NodeJS에서 실행하거나 JavaScript 파일에 다음을 추가하세요:
const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3(
"https://eth-mainnet.alchemyapi.io/v2/your-api-key"
)
5. 첫 Web3 스크립트 작성하기!
이제 약간의 Web3 프로그래밍을 직접 해보기 위해, 이더리움 메인넷에서 최신 블록 번호를 출력하는 간단한 스크립트를 작성해 보겠습니다.
1. 아직 하지 않았다면, 터미널에서 새 프로젝트 디렉터리를 만들고 해당 디렉터리로 이동(cd)하세요:
mkdir web3-example
cd web3-example
2. 아직 설치하지 않았다면, 프로젝트에 Alchemy Web3(또는 다른 Web3) 종속성을 설치하세요:
npm install @alch/alchemy-web3
3. index.js라는 이름의 파일을 만들고 다음 내용을 추가하세요:
최종적으로
demo를 자신의 Alchemy HTTP API 키로 바꿔야 합니다.
async function main() {
const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
const blockNumber = await web3.eth.getBlockNumber()
console.log("The latest block number is " + blockNumber)
}
main()
비동기(async) 처리가 익숙하지 않으신가요? 이 Medium 게시물 (opens in a new tab)을 확인해 보세요.
4. 터미널에서 node를 사용하여 실행하세요
node index.js
5. 이제 콘솔에 최신 블록 번호가 출력되는 것을 볼 수 있습니다!
The latest block number is 11043912
와우! 축하합니다! 방금 Alchemy를 사용하여 첫 Web3 스크립트를 작성하셨습니다 🎉
다음에 무엇을 해야 할지 모르시겠나요? Hello World 스마트 컨트랙트 가이드에서 첫 스마트 컨트랙트를 배포하고 Solidity 프로그래밍을 직접 해보거나, Alchemy 문서 (opens in a new tab)를 계속 탐색하여 더 많은 예시를 확인해 보세요.
Alchemy에 무료로 가입하고 (opens in a new tab), 문서 (opens in a new tab)를 확인해 보세요. 최신 소식은 Twitter (opens in a new tab)에서 팔로우할 수 있습니다.



