





ethereum(18)
-
Gas price != zero
테스트코드를 작성 하고 있을 때 Geth node가 백그라운드에서 돌아가고 컨트랙트 배포 등 트랜잭션 처리를 도와야할 필요가 있어서 Geth로 노드를 돌아가게 하는 개발을 진행중이었다. 다른 코드들에서는 계속 예전 mining 하는 버전의 Geth를 쓰다가 이제는 beacon으로 컨센서스 돌리는 버전으로 바꿔야겠다는 생각이 들어 업데이트를 수행했다. (기존에는 EthHash 또는 Clique로 컨센서스 알고리즘을 사용했었다.)백엔드 노드를 변경을 하고, 컨트랙트 배포 코드는 그대로 사용했더니 tx처리가 안되는 부분이 있어서 확인하고 기록을 남겨둔다.설정 변경Geth 버전은 1.15.0이며, genesis의 config는 params.AllDevChainProtocolChanges를 사용했다. 이 Chai..
2025.03.18 -
Golang을 이용하여 Solidity smart contract 다루기
보통 Solidity 스마트 컨트랙트를 다룰때는 JS로 되어있는 web3.js나 ethers.js를 사용하여 interaction 하고, 배포시에는 hardhat, truffle을 사용한다. 이들은 모두 javascript 기반이다. 다른 언어를 사용하여 프로그램을 개발한다면 언어 호환에 대한 고민이 있을 수 있다. Go-ethereum에서는 Golang을 기반으로 하는 서버 등의 프로그램에서 다른 언어로 이루어진 라이브러리를 사용하지 않고도 쉽고 편리하게 Solidity 컨트랙트를 다룰 수 있게 하는 기능을 제공하기 때문에 이번 페이지에서는 해당 기능을 소개하고 사용하는 방법에 대해 작성하여 한다.Bind packageGeth는 "bind" package가 존재한다. 해당 패키지의 directory는 ..
2024.11.13 -
Evmos의 Ethereum Tx 처리
Ethermint로 잘 알려져 있는 Evmos는 Cosmos 기반의 체인에서 ethereum tx 처리를 할 수 있도록 지원한다. 8545 EVM JSONRPC를 지원하여, 기존의 ethereum 개발자는 다른 부가적인 처리 없이 API를 똑같이 사용할 수 있다. 모든 ethereum API를 지원하지는 않지만, 개발자들이 자주 사용하는 API는 대부분 지원한다. (Evmos에서 지원하는 EVM API는 여기서 확인 할 수 있다.) 많은 수의 dApp 및 서비스가 ethereum 기반으로 이루어져 있다는 것을 생각해보면, 많은 서비스가 Cosmos 진영으로의 매끄러운 온보딩이 가능하도록 만들 수 있기 때문에 Evmos의 evm 모듈은 Cosmos 생태계 확장에 큰 기여를 할 수 있는 기술이라 생각된다. ..
2024.01.23 -
ZK rollup - 3. zkEVM 프로젝트
Roll up Series [Blockchain/Roll up] - Rollup의 개념과 특성 [Blockchain/Roll up] - ZK rollup - 1. 목적/library [Blockchain/Roll up] - ZK rollup - 2. ZKP [Blockchain/Roll up] - ZK rollup - 3. zkEVM 프로젝트 [Blockchain/Roll up] - ZK rollup - 4. zk-SNARK의 Circuit & QAP ZK rollup은 블록체인, 특히 이더리움의 확장성을 증가시키기 위한 킬링 솔루션이다. 솔루션 구축의 난이도가 높은 것을 제외하면 다른 rollup 솔루션인 optimistic rollup과 비교하여, fraud proof 챌린지 존재로 인한 finali..
2023.09.21 -
Remix로 contract 만들고 배포하기
EVM 계열 블록체인에 smart contract를 배포하기 위해 로직을 작성하는 IDE는 아마 web IDE인 Remix를 가장 많이 사용할 것이다. 이번 포스팅에는 Remix를 사용해서 solidity contract의 compile 및 deploy 하는 방법을 공유하려 한다. Solidity sample code Remix에서 기본적으로 제공하는 1_Storage.sol 코드를 사용하여 진행해 볼것이다. remix에 처음 접속하면 "File explorer" 탭에 default_workspace 안에 해당 컨트랙트 예제가 존재한다. 간단하게 코드 구성만 확인해보고 넘어간다. // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.8.2 =0.8.2
2023.07.11 -
ENS(Ethereum Name Service)
※ 원글 작성 : 22년 11월 21일 ENS ENS(Ethereum Name Service) 란 웹서비스를 위한 DNS처럼 human-readable한 이름(도메인)을 ethereum address와 mapping하여, 이름 검색 시 연결된 ethereum address를 확인해 주는 서비스이다. .eth 같은 TLD(Top Level Domain)의 하위에 'alice.eth'처럼 하위 도메인을 구성할 수 있고, 이 도메인을 소유한 사람은 'pay.alice.eth'처럼 여러 하위 도메인을 생성/제어 가능하다. 또한 다른 NFT처럼 도메인을 구매하고 OpenSea 등에서 판매도 할 수 있다. ENS는 EIP-137에서도 제안 되어졌다. 요즘같은 대하락 시대의 코인판에서도 ENS는 "나름" 선방하고 있..
2023.06.15