'분류 전체보기' 카테고리의 글 목록
PureMax77 Dev Note
Blockchain
암호화폐 지갑의 비밀: 12개 단어가 모든 것을 담는 이유
2026.02.08
12개 단어의 마법메타마스크를 처음 설치할 때 받는 12개의 영어 단어. "이걸 절대 잃어버리면 안 됩니다"라는 경고와 함께 말이죠. 그런데 의문이 들지 않으셨나요? 왜 복잡한 개인키 대신 army, battle, creek 같은 평범한 단어 12개를 외우라는 걸까요?전통적인 방식에서는 개인키를 직접 관리했습니다. 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb처럼 읽기도 어렵고 외우기는 더더욱 불가능한 16진수 문자열을 말이죠. 하지만 HD 지갑 방식은 다릅니다. 단어 12개면 수천 개의 개인키를 관리할 수 있습니다.이 글에서는 니모닉이라는 이름의 12개 단어가 어떻게 생성되고, 어떻게 여러 개인키로 변환되며, 왜 이것만 지키면 모든 자산을 안전하게 보관할 수 있는지를 파헤쳐..
Blockchain
ERC 토큰 표준 둘러보기
2026.02.07
블록체인 프로젝트를 시작하다 보면 가장 먼저 마주하는 질문이 있습니다. "어떤 토큰 표준을 써야 할까?" 저도 처음 DeFi 프로젝트에 참여했을 때 ERC-20만 알고 있었는데, 프로젝트 요구사항에 따라 다양한 표준을 알아야 한다는 걸 깨달았습니다. 오늘은 이더리움의 대표적인 5가지 ERC 표준을 정리해보겠습니다.1. ERC 표준이란?이더리움 토큰 표준의 필요성ERC(Ethereum Request for Comments)는 이더리움 네트워크에서 토큰을 만들 때 따라야 하는 기술 규격입니다. 표준이 없던 초기에는 각 프로젝트마다 토큰 구현 방식이 달라서 지갑이나 거래소에서 통합하기가 정말 어려웠습니다.EIP(Ethereum Improvement Proposal)와의 관계ERC 표준은 EIP를 통해 제안되고..
Blockchain
EIP-6963 2편: DApp에 지갑연결 구현하기
2026.01.27
1편에서 EIP-6963의 개념과 필요성을 살펴봤습니다. 이번 편에서는 실제로 TypeScript와 React를 사용해 EIP-6963를 구현하는 방법을 단계별로 알아보겠습니다.1. 시작하기 전에개발 환경 준비이 튜토리얼에서는 다음 환경을 기준으로 설명합니다:Node.js 18 이상React 18 이상TypeScript 5.0 이상Next.js 14 이상 (선택사항)프로젝트를 새로 시작한다면 Vite로 빠르게 세팅할 수 있습니다:npm create vite@latest my-dapp -- --template react-tscd my-dappnpm install테스트용 지갑 준비실제 개발하면서 테스트하려면 최소 2개 이상의 지갑을 설치해야 합니다. EIP-6963의 진가는 여러 지갑이 있을 때 발휘되니까요..
Blockchain
EIP-6963 1편: 지갑 연결의 새로운 표준 EIP-6963
2026.01.27
1. 들어가며DApp을 개발하다 보면 한 번쯤은 겪는 문제가 있습니다. 사용자가 "지갑이 연결이 안 돼요"라고 하는데, 알고 보니 MetaMask와 Coinbase Wallet을 동시에 설치해서 생긴 문제더군요. 저도 처음에는 "하나만 켜놓으세요"라고 안내했지만, 이게 정말 좋은 사용자 경험일까 고민이 되었습니다.실제로 Web3 사용자의 상당수가 용도에 따라 여러 지갑을 사용합니다. NFT는 MetaMask, DeFi는 Coinbase Wallet, 게임은 Phantom 이런 식으로요. 그런데 브라우저에서 이 지갑들이 서로 충돌하면서 원하는 지갑으로 연결되지 않는 문제가 발생했습니다.EIP-6963는 바로 이 문제를 해결하기 위해 등장한 표준입니다. 2023년 10월에 승인되어 2025년 2월에 정식 F..
Front-end/UI UX
DeFi 서비스에서 작은 숫자 축약 표시하기
2026.01.27
배경 및 문제 정의DeFi 거래소를 개발하면서 가장 까다로웠던 부분 중 하나가 바로 '숫자 표시'였습니다. 일반적인 웹 서비스와 달리 DeFi에서는 토큰 가격이나 수량이 매우 작은 경우가 많습니다.예를 들어, 특정 토큰의 가격이 $0.00000042일 때 이를 그대로 "$0.00000042"로 표시하면 사용자 입장에서는 읽기가 매우 불편합니다. 게다가 JavaScript의 부동소수점 연산 한계로 인해 정확한 값을 표시하지 못하는 경우도 발생했죠.처음에는 단순히 toFixed()를 사용해서 소수점 자리를 제한했는데, 문제가 발생했습니다. 0.0000001 같은 값이 그냥 "0"으로 표시되면서 사용자들이 잔액이 없다고 오해하는 일이 생긴 거죠. 실제로는 작은 금액이 남아있는데 말이에요.그래서 "0.01 미만..