
리눅스 서버에 geth를 세팅하고, geth attach로 console에 접속해서 명령어를 쳐본 경험이 있을 것이다.geth attach geth.ipc해당 명령어로 자바스크립트 콘솔에 접속하게 되면 여러 개의 web3, eth 명령어를 통해 이더리움 네트워크와 상호작용할 수 있게 된다. geth attach 명렁어geth attach는 이미 실행 중인 이더리움 노드에 JavaScript 콘솔을 연결하는 데 사용된다. 노드의 상태를 확인하거나 개발 중인 dApp과 상호작용하거나, 블록체인과 직접적으로 상호작용하는 등 다양한 작업을 수행할 수 있다. consolecmd.go의 remoteConsole 함수는 사용자가 입력한 endpoint (대개는 IPC 파일 경로 혹은 HTTP endpoint)에 연..

샤펠라 업그레이드란? 이더리움 2.0 Merge 이후에 이루어진 첫 번째 주요 업데이트이며, validator는 이더리움 네트워크에서 스테이킹된 이더리움을 처음으로 인출할 수 있게 됐다. 샤펠라 업그레이드는 이더리움의 핵심 개발자들이 'The Merge'를 활성화하고 네트워크의 에너지 소비를 줄이는 것을 목표로 하는 작업을 시작한 지 7개월 만에 이루어졌다. 이로써 이더리움의 환경적 영향력이 크게 감소했으며, 트랜잭션 수수료를 태우는 메커니즘 덕분에 순환 공급량이 대폭 감소했다. Shapella는 상하이와 카펠라를 조합한 말로, 두 가지 네트워크 업그레이드가 동시에 이루어질 것을 의미한다. 주요 내용? Shapella 업그레이드는 메인넷 계층인 합의 계층 (비컨 체인)과 실행 계층의 코드를 개선한다. 이..

원인 분석 geth 메인넷을 이용하여 3개의 서버에서 동기화를 진행하던 중, 흥미로운 현상을 발견했다. 3개의 서버 모두 동일한 블록 번호인 17034872에서 동기화가 멈추는 것이다. 고려해볼 수 있는 원인은 서버들이 모두 동일한 버전(geth + lighthouse)을 사용하고 있어, 버전 문제로 인한 동기화 중단일 수 있다는 의심을 해보았다. lighthouse 로그를 살펴보면 다음과 같은 로그가 반복되는 것을 확인할 수 있었다. May 09 13:26:45 ubuntu lighthouse[775758]: May 09 04:26:45.907 ERRO Error updating deposit contract cache error: Failed to get remote head and new block..

#!/usr/bin/env node const ethers = require('ethers'); const http = require('http'); require('dotenv').config(); const config = { host: process.env.ETH_RPC_HOST || 'localhost', rpc_port: process.env.ETH_RPC_PORT || 8545, network: process.env.ETH_NETWORK || 'homestead', local_port: process.env.ETH_MONITOR_PORT || 50000, max_difference: process.env.MAX_BLOCK_DIFFERENCE || 3, server_name: process.en..

ETHUSDT chart by TradingView 이더리움 2.0 이더리움 2.0은 이더리움 블록체인의 대형 업그레이드로 새로운 Proof of Stake(PoS)의 적용과 함께 성능 및 보안을 개선하고 있다. 최신 업데이트와 개발 동향을 살펴보면 이더리움 2.0은 아래와 같은 변화와 개발 과정을 거치고 있다. Beacon Chain 출시 이더리움 2.0의 첫 번째 단계는 Beacon Chain 출시다. Beacon Chain은 새로운 PoS 알고리즘을 적용한 블록체인으로 이더리움 1.0과 별개로 동작한다. Beacon Chain은 이더리움 2.0의 PoS 네트워크를 구축하고 블록을 생성하는 역할을 한다. Shard Chains 개발 Beacon Chain 출시 이후에는 Shard Chains 개발이 ..
이더리움은 탈중앙화된 블록체인 네트워크로 이더리움 클라이언트를 사용하여 이더리움 블록체인을 구현하고 실행할 수 있다. 이더리움 클라이언트는 블록체인에서 새로운 블록 생성 및 유효성 검증, 네트워크 보안, 검증자 관리, P2P 통신 등 다양한 역할을 수행한다. 이더리움 클라이언트란? 이더리움 클라이언트는 이더리움 블록체인 프로토콜을 구현하는 소프트웨어이다. 이더리움 클라이언트는 블록체인에서 새로운 블록 생성 및 유효성 검증, 네트워크 보안, 검증자 관리, P2P 통신 등 다양한 역할을 수행한다. 이더리움 클라이언트는 다양한 언어로 구현될 수 있으며 Rust, Go, Java 등 다양한 언어로 작성될 수 있다. 이더리움 클라이언트의 종류 이더리움 클라이언트에는 geth, Parity, OpenEthereum..
Express.js란? Express.js는 Node.js에서의 웹 애플리케이션을 만들기 위한 기본적인 기능들을 쉽게 사용할 수 있도록 해주며, 라우팅, 미들웨어, 템플릿 엔진, 정적 파일 서비스 등 다양한 기능을 제공한다. 또한 Express.js는 다른 Node.js 패키지와 함께 사용할 수 있기 때문에 많은 개발자들이 사용하고 있다. app.ts 예제 import express from 'express'; import { ethers } from 'ethers'; const app = express(); app.use(express.json()); // Ethereum contract address const contractAddress = ''; // Ethereum provider const p..
ZK-Rollups(ZK롤업)의 등장배경? ZK-Rollups은 2018년 Barry Whitehat이 발표한 논문 "Roll-Up: A Privacy-Preserving Mechanism for Ethereum Scaling Solution"에서 처음 소개되었다. 이 논문에서 Barry Whitehat은 zk-rollup이 블록체인에서 스케일링 문제를 해결하기 위한 효과적인 방법임을 제시하였다. 이 논문에서는 zk-rollup 기술의 작동 방식에 대해 상세히 설명하고 블록체인 네트워크에서 처리되는 거래량을 줄이는 방법을 제시하였다. 또한 이 기술이 블록체인에서 발생하는 문제를 해결하는 데 있어 중요한 역할을 할 수 있는 이유와 이에 대한 상세한 분석을 제공하였다. 이후 ZK-Rollups 기술은 블록체..

Reference Code is Law - Ethereum Classic An explanation of the concept of "Code is Law", and how Ethereum Classic is one of the few blockchain projects that allow this bright future to unfold. ethereumclassic.org 이더리움 클래식에 대한 추가 설명은 아래 링크를 참고. [이더리움] The DAO 해킹 사건으로 보는 이더리움과 이더리움 클래식의 차이 ETCUSDT chart by TradingView 다오(DAO) 해킹 사건이란? 다오(DAO) 해킹 사건은 이더리움(ethereum) 블록체인 네트워크 상에서 발생한 사건으로 2016년 6월 1..

프로젝트 구성에 대해서는 아래 글을 참고. [이더리움] Hardhat 설치 후 typescript 프로젝트 생성하기 Hardhat 기존 프로젝트에 Hardhat 설치 npm install --save-dev hardhat # npm install --save-dev hardhat npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package heun.tistory.com 오픈제플린(OpenZeppelin) 사용하여 솔리디티 작성 오픈제플린 라이브러리를 이용하여 솔리디티를 작성할 수 있는데 기능도 추가할 수 ..

Reference OpenZeppelin | Contracts OpenZeppelin Contracts helps you minimize risk by using battle-tested libraries of smart contracts for Ethereum and other blockchains. It includes the most used implementations of ERC standards. www.openzeppelin.com GitHub - OpenZeppelin/openzeppelin-contracts: OpenZeppelin Contracts is a library for secure smart contract development. OpenZeppelin Contracts is ..

ETCUSDT chart by TradingView 다오(DAO) 해킹 사건이란? 다오(DAO) 해킹 사건은 이더리움(ethereum) 블록체인 네트워크 상에서 발생한 사건으로 2016년 6월 17일에 일어났다. 이 사건에서는 약 360만 이더리움이 탈취되어 이더리움 생태계에 큰 충격을 주었다. 다오는 탈중앙화된 자율 조직(decentralized autonomous organization)으로 이더리움 블록체인 상에서 운영되는 스마트 컨트랙트이다. 이 스마트 컨트랙트의 공개된 소스 코드를 보고 해커는 이 코드 상의 취약점을 이용하여 다오에서 보유하고 있던 이더리움을 탈취하였다. 관련 기사 다오(DAO) 해킹 사건의 재발 방지를 위해서 - 블록체인투데이 [블록체인투데이 안혜정 기자] 해커들이 탈중앙화된 ..