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 ..
데이터 클래스(Data Class) 코틀린의 데이터 클래스(Data Class)는 데이터를 다루는데 최적화된 클래스로 equals(), hashCode(), toString(), copy(), componentN() 5가지 유용한 함수들을 내부적으로 자동으로 생성해준다. 이 함수들은 코딩에서 캡슐화를 위해 필수적이지만 자바에서 사용할 때 코드를 생성해줘야하는 번거로움이 있다. IDE로 쉽게 생성할 수 있는 단순 노동이긴 하지만 개발자들은 이마저도 귀찮다.. 자바로 클래스를 구현할때는 아래처럼 getter&setter를 포함하여 여러 생성자들을 만들어줘야한다. 하지만 데이터 클래스는 이러한 불필요 작업을 제외시킬 수 있기에 편리하게 사용된다. public class OfficeWorker { private..
혹시라도 IntelliJ를 설치하지 않았다면 아래 링크를 참고해서 설치해보자. Mac 에서 IntelliJ 설치하기 : [Mac] Mac에서 IntelliJ 설치하기 1. IntelliJ를 실행하자 2. New Project 클릭 3. 왼쪽에서 부터 Java 클릭 → Java SDK 1.8 버전 선택 → Kotlin/JVM → Next 순으로 클릭 코틀린은 자바랑 상호작용 할 수 있고 자바 라이브러리도 사용할 수 있어 JVM에서 실행 가능하다. JAVE_HOME 경로 기본설정이 되어 있는 JDK를 선택해주자. 본인은 무료인 OpenJDK 1.8 버전을 이용중이다. 4. 프로젝트의 경로 선택 → 프로젝트 이름을 입력 → Finish 5. 프로젝트가 생성된 화면이 나타날 것이다. 프로젝트 이름 밑에 src ..
1. Mac에서 IntelliJ를 설치해보자. 아래 사이트 접속 https://www.jetbrains.com/idea/ IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains A Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more... www.jetbrains.com 2. Download 클릭 3. MacOS 탭 선택 → Ultimate / Community 하나를 선택해 Download 클릭 Ultimate는 유료 버전이고, Community는 무료 버전이다. Ultimate는 30일 무료로 사용가능하고 그 이후엔 유료 결제가 필요하다. 학생용 교육 메일이 ..
개발을 하다보면 변수를 선언할때 초기에 값이나 상태를 정의하기 어려워 null로 선언하는 경우나, 필요한 시점에 초기화를 해야하는 경우가 있을것 이다. 자바와 같은 고전적인 언어들은 변수가 선언된 후 초기화되지 않으면 기본값으로 초기화 되거나 값이 할당되지 않았다는 표시로 null 값을 가지게 된다. 하지만 코틀린은 변수 선언 당시에 초기화를 할 것을 권고하고 있으며, 실제로도 변수 선언 당시에 초기화를 하지 않거나 nullable 타입으로 만들어주지 않으면 컴파일 에러가 발생한다. nullable 타입으로 선언해도 코틀린에선 null 초기화 사용을 추천하고 있진 않다. 그럼 초기에 선언해서 사용하는 변수가 아니라 늦게 초기화를 해야하는 경우는 어떻게 해야할까? 코틀린에선 늦은 초기화, 초기화 지연을 할..
코틀린은 자바와 다르게 Null 타입을 Nullable과 Non-Nullable 로 구분하며, 기본적으로 객체를 Non-Nullable 타입으로 보장하기 때문에 null을 사용해야하는 상황에는 null 체크를 포함하는 연산자를 사용해줘야 한다. Nullable 변수로 속성이나 함수를 사용할때는 null 체크를 안 하면 NullPointerException이 발생하게 된다. java에서는 null 체크를 할때 주로 if문이나 equals 구문을 사용했지만, 코틀린에서는 Nullable 연산자로 좀더 쉽게 Null 체크가 가능하다. Nullable types Null 객체를 선언할때 변수 타입 옆에 ? 를 붙이면 Null 사용이 가능하도록 할당할 수 있고, ?가 붙지 않으면 Non-Nullable로 Null..
목차 [Ethereum] 이더스캔(Etherscan) 보는 방법, 개발 용어 정리 (1) [Ethereum] 이더스캔(Etherscan) 보는 방법, 개발 용어 정리 (2) 이전 글은 이더스캔의 시작인 메인 페이지를 살펴봤다면 이번글은 블록에 대해 알아보겠다. 개발하는데 꼭 필요한 정보들은 블록에 담겨 있기에 블록안에 정보들이 어떤 유의미한 데이터를 가지고 있는지 알고 이더스캔을 살펴보면 이해하기 쉬울 것이다. 이더리움 블록체인 이더리움 블록체인은 수많은 트랜잭션들로 이루어져 있고, 트랜잭션들은 블록 단위로 묶여져 구분된다. 블록 내 각 트랜잭션들은 블록에 포함되기 전 일반적인 상태에서 검증을 통해 유효한 상태로 전환을 한 뒤 블록에 포함되게 된다. 이때 검증 노드는 제출되는 트랜잭션부터 모든 트랜잭션의..
EIP-1559는 2019년 4월에 처음 제안된 이후 가장 주목 받았으며 업그레이드가 기다려졌던 개선안 중 하나이다. EIP-1559는 실제로 런던 하드포크 이후 이더리움의 거래 모델에 큰 변화를 가져오기도 했다. EIP-1559가 무엇인지 이더리움 네트워크에 어떤 영향을 끼쳤는지 알아보자. + 참고 사항 현재 이더리움은 2022년 9월 중순에 있었던 머지 후 PoW 에서 PoS 로 전환되었다. 이 글을 쓰던 시점은 머지 전 PoW 체재였기에 아래 내용에서 채굴 및 채굴자에 관한 이야기가 나온다. 이더리움이 PoS로 전환되었음에도 EIP-1559 수수료 체계는 계속 유지 중이므로 아래의 내용이 현재 상황에 그대로 적용된다. 다만, 현재는 블록 보상이 채굴자가 아닌 검증자에게로 간다는 점만 인지하고 이 글..
목차 [Ethereum] 이더스캔(Etherscan) 보는 방법, 개발 용어 정리 (1) [Ethereum] 이더스캔(Etherscan) 보는 방법, 개발 용어 정리 (2) 이 글은 이더스캔에 어떤 요소들이 어떤 것을 의미하는지 설명하기 위한 글이다. 이더리움과 관련된 개발을 해보면서 스스로 파악하거나 공부하여 알아낸 부분들을 정리할 필요성을 느꼈다. 처음 이더스캔을 접했을때 어떤 것이 무엇을 뜻하는지 몰라 헤맸었는데, 나와 같은 신입 개발자들이 이 글을 보고 이더스캔을 활용하는데 조금이라도 도움이 되었음 한다. 다만 이 글을 읽을 때 블록체인의 기본 개념과 코인(ETH) 단위, PoS 개념을 익힌 뒤 읽는 것이 도움이 될것이다. 이더스캔(Etherscan)이란? 이더스캔(Etherscan)은 이더스캔 ..
여러 리눅스를 써보면서 apt, apt-get, yum 등등 여러 패키지 관리도구로 소프트웨어를 다뤄왔지만 Mac OS를 처음 쓸 때는 아는게 하나도 없었다. Mac에서 Homewbrew 설치는 필수라고.. Mac을 관리할때 반드시 필요한 Homebrew로 node, npm, yarn을 설치해보자. 1. homebrew 설치 homebrew가 설치되지 않았으면 먼저 설치부터 해야한다. 아래 사이트를 접속하자 https://brew.sh/ Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 홈페이지에 들어가면 아래처럼 스크립트를 복사할 수 있을 것이다. /bin/bash -c "$(curl -fsSL https://raw.githubuse..