본문으로 건너뛰기

파이썬에서 새로운 이더리움 주소를 생성하는 방법

업데이트 날짜:
2025년 11월 26일

읽는 데 4분

개요

파이썬은 활용도가 매우 높고 다양한 사용 사례를 가진 프로그래밍 언어 중 하나입니다. 파이썬을 사용하면 클라이언트 측부터 백엔드에 이르기까지 다양한 애플리케이션을 구축할 수 있습니다. 이 가이드에서는 Web3Py 라이브러리를 사용하여 파이썬으로 이더리움 주소를 생성하는 방법을 다룰 것입니다.

필수 조건

  • 시스템에 설치된 파이썬(버전 3.6 이상)과 Pip3.
  • 텍스트 편집기.

이더리움 주소란 무엇인가요?

인터넷상의 어떤 플랫폼에 로그인할 때면 사용자 이름과 비밀번호의 조합이 필요합니다. 이더리움 주소를 사용자 이름으로, 이에 대응하는 개인 키를 비밀번호로 생각하면 됩니다. 주소와 개인 키의 이 조합을 사용하면 이더리움 블록체인과 상호작용할 수 있습니다. 이더리움 주소는 블록체인 상에서 여러분의 신원입니다. 주소는 “0xd5e099c71b797516c10ed0f0d895f429c2781142”와 같은 형태를 띱니다. 이더리움 주소는 공개되어 있어 공유할 수 있지만, 개인 키는 반드시 비밀로 유지해야 합니다. 이더리움 주소는 개인 키를 사용하여 생성됩니다. 다음은 이더리움 주소가 생성되는 과정입니다:

  • (64자(16진수) / 256비트 / 32바이트) 길이의 임의의 개인 키 생성 
0xf4a2b939592564feb35ab10a8e04f6f2fe0943579fb3c9c33505298978b74893
  •  공개 키는 타원 곡선 디지털 서명 알고리즘(ECDSA)을 사용하여 개인 키(128(16진수) 문자 / 512비트 / 64바이트)로부터 도출됩니다. 
0x04345f1a86ebf24a6dbeff80f6a2a574d46efaa3ad3988de94aa68b695f09db9ddca37439f99548da0a1fe4acf4721a945a599a5d789c18a06b20349e803fdbbe3
  • 그런 다음 (128자 / 64바이트) 길이의 공개 키에 Keccak-256 해시 함수를 적용하면 (64자 / 32바이트) 길이의 해시 문자열이 생성되며, 이 문자열의 마지막 40자 / 20바이트에 0x를 접두사로 붙인 것이 이더리움 주소입니다.
0xd5e099c71b797516c10ed0f0d895f429c2781142

다음은 이더리움 주소가 반드시 필요한 몇 가지 사항입니다:

  • ETH 수신/발송.
  • 거래에 서명/전송합니다.
  • 애플리케이션에 연결하기.

파이썬이란 무엇인가요?

파이썬은 다양한 용도로 활용되는 범용 프로그래밍 언어입니다. 고수준 데이터 구조를 갖추고 있으며, 동적 타입 시스템을 채택하고 있습니다. 동적 바인딩을 비롯한 다양한 기능을 통해 스크립팅이나 서로 다른 구성 요소를 연결하는 ‘글루 코드’로 사용되며, 복잡한 애플리케이션을 개발하는 데 유용한 도구입니다. 또한 거의 모든 운영 체제에서 시스템 호출을 수행할 수 있습니다. 파이썬은 거의 모든 시스템 아키텍처에서 실행될 수 있고 어디에나 널리 퍼져 있다는 점에서 보편적인 언어입니다. 파이썬은 해석형, 대화형, 객체 지향 프로그래밍 언어입니다.

Web3Py란 무엇인가요?

Web3.py는 이더리움 블록체인과 상호작용할 수 있도록 도와주는 파이썬 라이브러리입니다. web3.py를 사용하면 분산형 애플리케이션(dApp)용 백엔드 클라이언트를 구축하여 블록체인과의 상호작용을 처리하고, 블록체인의 데이터를 읽거나, 트랜잭션을 작성하거나, 스마트 계약 로직을 실행할 수 있습니다. 이 라이브러리의 초기 API는 Web3.js 자바스크립트 API에서 파생되었으나, 시간이 지남에 따라 파이썬 개발자들의 요구와 필요를 더 잘 충족시키기 위해 지속적으로 개선되어 왔습니다.

여기서는 파이썬을 사용하고 있으므로 Web3.py를 사용할 것입니다.

자, 이제 파이썬에서 새로운 이더리움 주소를 생성하는 방법을 살펴보겠습니다.

파이썬에서 이더리움 주소 생성하기

여기서 가장 먼저 해야 할 일은 시스템에 Python 3.6 이상이 설치되어 있는지 확인하는 것입니다. 터미널이나 명령 프롬프트에서 다음 명령어를 입력하여 Python이 설치되어 있는지 확인할 수 있습니다:

$ python --version

설치되어 있지 않다면, 파이썬 공식 웹사이트의 ‘다운로드’ 페이지에 있는 안내를 따라 설치할 수 있습니다 .

이더리움과 연동하는 데 사용되는 파이썬 라이브러리인 Web3Py를 사용할 것입니다. 터미널이나 명령 프롬프트에서 다음 명령어를 입력하여 Web3Py를 설치해 보겠습니다:

$ pip install web3

참고: 파이썬 및 기타 라이브러리 버전에 따라 흔히 발생하는 설치 문제가 있습니다. 따라서 문제가 발생하면 가상 환경을 설정하고 web3.py 설치 문제를 해결해 보시기 바랍니다.

모든 것이 순조롭게 진행된다면, Web3.py가 시스템에 설치될 것입니다.

자, 이제 Python 파일을 하나 만들어서 이름을 address.py로 지정한 다음, 다음 코드를 해당 파일에 복사하여 붙여넣으세요:

출처: eth_account import Account
import secrets
priv = secrets.token_hex(32)
private_key = "0x" + priv
print ("저장하되 공유하지 마세요:", private_key)
acct = Account.from_key(비밀키)
print("주소:", acct.address)

위 코드에 대한 설명

1행: Web3.py의 eth_account 모듈에서 Account 객체를 가져오기

2행: Python의 secrets 모듈을 임포트합니다. 이 모듈을 사용하면 임의의 16진수 문자열을 생성할 수 있습니다.

3행: 32바이트/64자 길이의 임의의 16진수 문자열을 생성하여 priv 변수에 저장합니다.

4행: priv에 저장된 64자 16진수 문자열 앞에 0x 접두사를 붙이고, 새로운 문자열을 private_key 변수에 저장합니다.

5행: 경고 메시지와 함께 개인 키를 출력합니다.

6행: private_key를 사용하여 새 계정을 생성하고, 이를 acct 변수에 저장합니다.

7행: acct 변수에 저장된 계좌의 주소를 “주소:”라는 문자열과 함께 출력합니다.

자, 이제 파이썬 프로그램을 실행해 봅시다.

$ python address.py

지침을 올바르게 따랐다면, 다음과 같은 결과가 출력되어야 합니다. 첫 번째 줄은 개인 키로, 두 번째 줄은 이더리움 주소로 구성되어 있습니다.

결론

이제 자신만의 이더리움 주소(+개인 키)를 갖게 되었으므로, 트랜잭션을 전송하고 스마트 계약과 상호작용할 수 있습니다. 자세한 내용은 Web3.py의 공식 문서를 참고하세요.

이더리움에 관한 더 많은 기사와 가이드를 받아보시려면 뉴스레터를 구독해 주세요. 의견이 있으시면 트위터를 통해 언제든지 연락해 주세요. 디스코드 커뮤니티 서버에서도 언제든지 저희와 대화를 나눌 수 있으며, 이곳에는 여러분이 만나볼 수 있는 가장 멋진 개발자들이 모여 있습니다 :)

이 가이드를 공유하세요