테스트넷이란 실제 블록체인 네트워크에 적용시키기 전에 테스트하는 환경으로, 메인넷과 같은 구조의 임시 네트워크이다. 메인넷에 컨트랙트를 배포하기 전에 메인넷과 유사한 환경에서 프로토콜 및 작성된 컨트랙트 코드를 미리 테스트해보는 베타 서비스 및 개발 서버의 개념이라고 보면 된다. 개발자들이 어플리케이션 운영 환경에 적합한 테스트넷을 선택한 후 제품 테스트를 우선 적용하여 정상 작동되는지 확인하고 메인넷에 적용하는 과정을 통해 운영적 안정성을 확보할 수 있다(대부분의 유명 Dapp 프로젝트들이 테스트넷에도 존재하는 이유) 테스트넷은 메인넷과 마찬가지로 독립적인 네트워크 ID와 제네시스 블록을 보유하고 있다. 또한, 메인넷에 비해 트랜잭션 발생 빈도수가 적어 소수의 검증인들에 의해 운영되기 때문에 이에 최적..
이더리움의 머지(Merge)가 성공적으로 끝났다. 그럼 머지 후 달라지는 점은 무엇일까? 솔직히 일반인의 입장에서 보면 달라진게 없다. 그저 블록 데이터에 에포크와 슬롯이 추가되었을 뿐 육안으로 보기에는 이전과 달라진 것이 없다. 그럼 개발자의 입장에서 보면 어떨까? 가장 잘 알려진 차이점은 머지 전 기존의 블록체인은 합의 알고리즘을 PoW(작업증명, Proof-of-Work)을 사용한다면 현재는 PoS(지분증명, Proof-of-Stake)을 사용한다는 것이다. 블록체인의 블록을 검증하는 합의 방식을 완전히 바꿈으로써 이더리움 블록체인의 개발 환경 또한 크게 달라짐을 알 수 있다. 가장 큰 변화는 이더리움 노드를 운영하는 방법이 달라졌다는 점이다. 이더리움 머지와 계층(Layer) 이더리움은 블록과 트..
하이퍼레저 패브릭 체인코드를 실행하다가 에러가 발생했다. ERROR 2022-09-14 17:40:42[Channel.java - logCompletion] [Channel:5520] - Future completed exceptionally: sendTransaction java.lang.IllegalArgumentException: The proposal responses have 2 inconsistent groups with 1 that are invalid. Expected all to be consistent and none to be invalid. at org.hyperledger.fabric.sdk.Channel.doSendTransaction(Channel.java:5554) at or..
이더리움 Layer 1 이더리움 Layer 1은 이더리움의 기본이 되는 블록체인이다(이더리움 1.0 이라고 불림) 이더리움이 출시될 당시 블록체인계에 혁명으로 여겨졌던 이 네트워크도 시간이 흐름에 따라 취약점이 드러나고 있다. 현재 이더리움은 하루 100만건 이상의 거래가 이뤄지며 네트워크 용량이 한계에 도달했고, 이더리움의 성공과 수요가 증가하며 수수료 값이 매우 높아지고 있다. 그리고 새로운 3세대 블록체인들이 등장함에 따라 이더리움 Layer 1이 새로운 솔루션을 제시해야할 때가 되었으며 새로운 매커니즘으로 보완해야할 필요성이 대두되었다. 본디 블록체인은 탈중앙화, 보안성, 확장성을 갖춘 분산형 아키텍처로 3가지 요소를 모두 충족시키는 것이 이상적이지만 네트워크의 활성화가 진행될수록 3개중 2개만 ..
스마트 컨트랙트를 이더리움 블록체인에 배포하려면 풀 노드에서 네트워크에 참여해야 한다. 실제로 풀 노드를 운영하는 것 보다 알케미와 같이 블록체인 인프라를 제공하는 BaaS 서비스를 이용하여 편하게 DApp을 개발할 수 있다. 알케미 API 를 사용하려면 회원가입이 필수이다. Alchemy API https://www.alchemy.com/ Alchemy - Blockchain APIs and Node Infrastructure Whether you're a beginner developer, startup, web3 market leader, or a large enterprise, Alchemy makes multichain web3 development easy with reliable and sc..
이더리움 Goerli 테스트넷에서 이더를 얻는 방법을 소개한다. 1. Alchemy Testnet Faucet https://goerlifaucet.com/ Goerli Faucet A fast and reliable Ethereum Goerli testnet faucet for blockchain developers. goerlifaucet.com Alchemy 플랫폼에서 제공하는 faucet 페이지이다. 이더를 받으려면 회원가입이 필수이다. 현재 이 방법은 메인넷에 0.001 이더를 보유한 지갑만 테스트 이더를 받을 수 있다. 메인넷 이더를 보유한 사람만 쓰는 방법이다. (테스트넷 이더를 받는 과정이 점차 까다로워지고 있다.) 회원가입 진행후 입력창에 이더를 받을 지갑주소를 입력하고 [Send Me ..
hardhat으로 contract를 작성하고 배포해보겠다. 이 과정을 수행하기 위해선 반드시 사전에 환경설정이 완료되어야한다. 환경설정이 필요하다면 아래 링크를 참고해서 세팅해주자. [Ethereum] hardhat 설치 및 환경설정 hardhat은 이더리움 소프트웨어 개발환경으로 스마트 컨트랙트와 DApp을 개발, 컴파일, 디버깅, 배포하기위한 완전한 개발환경을 제공한다. hardhat은 반복된 작업(like 검증 과정)을 간단한 명령어 한 jerryjerryjerry.tistory.com Solidity 코드 작성 아래 사진은 이번 프로젝트 실행에 필요한 디렉토리 목록이다. 우선 프로젝트 경로 아래에 contracts라는 폴더를 만든 후 Box.sol 파일을 생성해준다. Box.sol을 작성해서 기본..
hardhat은 이더리움 소프트웨어 개발환경으로 스마트 컨트랙트와 DApp을 개발, 컴파일, 디버깅, 배포하기위한 완전한 개발환경을 제공한다. hardhat은 반복된 작업(like 검증 과정)을 간단한 명령어 한줄로도 자동화 기능을 제공하고 유연하게 개발이 가능하다. 또한 다양한 tasks와 plugins를 사용해 개발자가 원하는 기능을 커스터마이즈할 수 있다(plugin list : https://hardhat.org/hardhat-runner/plugins) 또한 hardhat은 검증 및 테스트 코드 작성, 명령어 한줄로 자동화 구현이 가능하기에 개발에 많은 편의성을 제공한다. 본인은 스마트 컨트랙트 개발에 remix를 사용해왔는데, 우선 리믹스는 설치없이 웹 브라우저에서 단순하고 직관적으로 컨트랙트..
2022년 6월 29일(한국시간 기준 2022년 6월 30일) 이더리움 하드 포크가 진행된다. 이번 하드 포크는 이더리움 2.0을 연기하기 위해 진행하는 것이며, PoS로의 전환을 위한 '난이도 폭탄(difficulty bomb)' 실행을 3개월 뒤로 미뤄지도록 업데이트하는 내용을 포함한다. 15,050,000번 블록부터 하드 포크를 진행한다고 하니 한국 시간 기준 오후 4시경부터 업데이트 완료까지 토큰 및 자산 거래는 이용하기 불편할 것이다. 출처 : https://ethereum.org/en/history/ Home | ethereum.org Ethereum is a global, decentralized platform for money and new kinds of applications. On ..
목차 [Ethereum] 이더스캔(Etherscan) 보는 방법, 개발 용어 정리 (1) [Ethereum] 이더스캔(Etherscan) 보는 방법, 개발 용어 정리 (2) 이전 글은 이더스캔의 시작인 메인 페이지를 살펴봤다면 이번글은 블록에 대해 알아보겠다. 개발하는데 꼭 필요한 정보들은 블록에 담겨 있기에 블록안에 정보들이 어떤 유의미한 데이터를 가지고 있는지 알고 이더스캔을 살펴보면 이해하기 쉬울 것이다. 이더리움 블록체인 이더리움 블록체인은 수많은 트랜잭션들로 이루어져 있고, 트랜잭션들은 블록 단위로 묶여져 구분된다. 블록 내 각 트랜잭션들은 블록에 포함되기 전 일반적인 상태에서 검증을 통해 유효한 상태로 전환을 한 뒤 블록에 포함되게 된다. 이때 검증 노드는 제출되는 트랜잭션부터 모든 트랜잭션의..