checksum

    왜 지갑 주소에는 대소문자가 들어갈까?

    왜 지갑 주소에는 대소문자가 들어갈까?

    왜 지갑 주소에는 대소문자가 들어갈까? 상황 이더리움 초창기에는 소문자만 사용하여 주소를 생성했었는데, 잘못된 주소를 입력하여 송금하는 사고가 종종 발생했다. 문제 이러한 경우 회수가 현실적으로 불가능하여 주소 입력 오류 확인이 필요했다. 해결 2016년에 도입된 EIP-55를 통해 주소 오류를 99.9853% 감지 EIP-55는 주소의 대소문자 형태로 인코딩해 주는 방식으로 checksum한다. checksum은 prefix인 0x를 뗀 소문자를 사용해서 표현한 주소의 해시값이 역할을 수행한다. 방법 '''EIP-55 Code''' import eth_utils def checksum_encode(addr): # Takes a 20-byte binary address as input hex_addr =..