ethereum(19)
-
ERC20의 기본 동작
ERC20은 Ethereum 스마트 컨트랙트의 기본이라 할 수 있을 정도로 많은 서비스에서 사용되고, ERC20에서 파생된 다양한 표준의 컨트랙트들이 존재한다. ERC20의 동작을 확인해보려 한다.TokenERC20을 설명하기 위해서는 먼저 Token의 개념부터 이해하면 좋을듯 하다. 가상자산 시장에서는 Coin과 Token이 혼용되서 사용되고 있는데, 일반인들은 그 구분을 굳이 하지 않아도 된다. 블록체인을 다루는 사람으로써는 그 두개를 구분하여 사용하는게 좋다.Coin은 해당 블록체인 메인넷에서 자체적으로 발행한 자산(Native coin)이라고 생각하면된다. 예를 들어 Ethereum의 ETH, Solana의 SOL, Ripple의 XRP가 그것이다. 즉, Coin은 해당 메인넷이 생겨났을 때 부터..
2025.08.14 -
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로 Solidity contract 만들고 배포하기
EVM 계열 블록체인에 smart contract를 배포하기 위해 로직을 작성하는 IDE는 아마 web IDE인 Remix를 가장 많이 사용할 것이다. 이번 포스팅에는 Remix를 사용해서 solidity contract의 compile 및 deploy 하는 방법을 공유하려 한다.Solidity sample codeRemix에서 기본적으로 제공하는 1_Storage.sol 코드를 사용하여 진행해 볼것이다. remix에 처음 접속하면 "File explorer" 탭에 default_workspace 안에 해당 컨트랙트 예제가 존재한다. 간단하게 코드 구성만 확인해보고 넘어간다.// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 pragma solidit..
2023.07.11