배경 defi-clone-app 강의를 따라 React 애플리케이션을 개발하다가 다음 에러가 발생했다. Uncaught TypeError: Class extends value undefined is not a constructor or null 솔루션 다행히, web3.js 공식 레포의 이슈에서 솔루션을 찾을 수 있었다. 이유는 알 수 없지만 yarn add events 또는 npm i events로 events 패키지를 설치하면 바로 해결할 수 었었다. https://github.com/web3/web3.js/issues/6371
배경 Udemy 강의를 보면서 React + truffle 기반 defi 클론 코딩 중, React 16버전인걸 18로 마이그레이션하게 되었다. 그 과정에서 solidity 버전을 ^0.5.0에서 0.8.13으로 바꾸었다가 해당 이슈를 만났다. 솔리디티 스마트 컨트랙트를 작성하고, mocha와 chai 기반 테스트를 실행시켜보았는데, ^0.5.0에서는 통과되던 테스트가 0.8.13에서는 에러가 발생하며 실패했다. C:\Users\min49590\KimCookieYa\defi-vite-app>truffle test Using network 'development'. Compiling your contracts... =========================== > Compiling .\contracts..
EIP와 ERC Ethereum 생태계는 탈중앙화되어 있지만 여전히 규칙을 설정할 주체와 업그레이드가 필요하다. 또 블록체인 상에서 무엇이 가능한지 정의하는 기준을 설정해야 한다. 이를 달성하기 위해 이더리움 사용자는 EIP(Ethereum Improvement Proposal, 이더리움 개선 제안)을 만들고 세부 사항을 논의한다. 또 제안을 거부하거나 실제 구현을 시작하기 위해 투표를 진행한다. 개선 및 추가된 사항에 따라, 현재 상이한 카테고리에 속하는 여러 유형의 EIP가 존재한다. 이러한 유형 중 하나는 이더리움 상에 토큰, 스마트 컨트랙트, 애플리케이션, 지갑 형식 등을 생성하기 위한 다양한 기술 표준을 제안, 토론, 구현하기 위한 용도로 핵심 이더리움 개발자들이 정의한 것이다. 이러한 EIP의..
Truffle Suite(트러플 스위트) 정의 Truffle Suite는 Ethereum 스마트 컨트랙트와 분산형 애플리케이션(dApp) 개발을 위한 일련의 도구를 제공하는 프레임워크 패키지이다. 이 스위트는 Truffle, Ganache, Drizzle 등 여러 서브 프로젝트로 구성된다. 주요 구성 요소 Truffle: 스마트 컨트랙트의 컴파일, 테스팅, 배포 등을 지원한다. Ganache: 개발자가 로컬 환경에서 Ethereum 블록체인을 모방할 수 있도록 해준다. Drizzle: dApp의 프론트엔드 개발을 지원하는 라이브러리이다. 특징 컴프리헨시브: Truffle Suite는 스마트 컨트랙트의 개발부터 프론트엔드까지 전반적인 개발 사이클을 지원한다. 사용자 친화적: Truffle Suite의 도구..
ERC-20 Ethereum Request for Comments 20 스마트 컨트랙트가 구현해야 할 메서드와 이벤트를 명세한다. ERC-20 토큰은 이더리움 블록체인 위에서 작동하며, 이더리움과 호환되는 다양한 애플리케이션과 서비스에서 널리 사용된다. ERC-20 토큰은 이더리움과 교환 가능하며 이더리움 지갑으로 전송이 가능하다. 주요 메서드 totalSupply(): 전체 토큰의 공급량을 반환한다. balanceOf(address _owner): 특정 주소의 토큰 잔액을 반환한다. transfer(address _to, uint256 _value): 토큰을 다른 주소로 전송한다. approve(address _spender, uint256 _value): 다른 주소가 일정량의 토큰을 전송할 수 있도록..