개인적인 기록용으로 남기는 글 이다. 본인은 mac의 기본 쉘을 zsh로 사용중이었다. 그러다 mac의 터미널을 예쁘게 꾸미고 싶어서 순정 터미널을 버리고 iterm2와 oh-my-zsh를 설치하여 터미널을 커스텀 했다. 그런데 oh-my-zsh를 설치했을때 zsh 쉘에 빼곡히 적어놨던 환경변수 설정들이 전부 날아갔다..(왜 날아갔는지 원인은 모른다..) 뭔가 모를 배신감으로 날아갔던 설정 중에 중요한거 몇개만 기억해내 bash 쉘로 옮겨 저장하는 객기를 부렸다. 그런데 적용이 안 된다. 당연하다.. iterm2의 기본 쉘을 zsh로 설정해 놨으니.. 객기를 인정하고 다시 zsh로 돌아왔다.(사실 쉘 이 잘못한건 없다..) 이 과정 중에 일어놨던 일과 쉘에 대해서 아래에 기록하도록 한다. zsh 설치 z..
사용할 jdk를 변경했다면 인텔리제이에서도 jdk 변경을 해줘야한다. 웬만하면 인텔리제이가 자동으로 버전을 잡아주지만 잘 변경 됐는지 확인을 위해 방법을 기록한다. 본인이 사용하고 있는 java 버전이 무엇인지 확인한다. java -version 1. IntelliJ preferences 에 들어간다. 단축키는 Command+,(MacOS) 또는 Ctrl+Alt+S(windows) 이다. 2. IntelliJ preferences > Build, Execution, Deployment > Build Tools > Gradle > Build and run > 17버전 설정 3. IntelliJ preferences > Build, Execution, Deployment > Compiler > Java Co..
1. oracle java 다운로드 페이지에서 자신의 OS와 맞는 JDK를 다운 받는다 https://www.oracle.com/java/technologies/downloads/#jdk17-mac Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 2. 다운로드 된 파일을 클릭하여 설치를 진행한다. 3. 자신이 사용하는 bash를 연다 # 2개중 자신이 사용하는 bash를 연다 vi ~/.bash_profile vi ~/.zshrc 4. JAVA_HOME의 PAT..
이더리움에서 스테이킹이란 이더리움 코어 소프트웨어의 검증 기능을 실행하기 위해 이뤄지는 행위이다. 하지만 많은 사람들이 스테이킹을 단순히 장시간 코인을 예치하고 수익을 얻는 것으로 알고있다. 물론 스테이킹을 함으로써 수익을 얻게되는 것은 검증 과정 중 하나이기에 틀린 말은 아니다. 수익을 얻을 수 있다고해서 스테이킹에 대해서 자세히 알아보지 않는 것은 위험하다. 스테이킹은 반드시 수익을 보장한다고 할 수 없으며 위험성도 존재하기 때문이다. 그리하여 투자를 하기전에 스테이킹이 무엇인지 어떤 과정과 어떤 종류로 스테이킹이 이뤄지는지 알아볼 필요성이 있다. 지분 증명(PoS)과 스테이킹 기존의 작업증명(PoW, Proof-of-Work) 알고리즘을 사용하던 이더리움 블록체인은 작업증명의 비효율성에 대한 불만이..
메타마스크에 세폴리아 테스트넷이 없을 경우 수동으로 추가하는 법은 아래와 같다. Infura API 키 얻기 1. Infura에 로그인을 한다. Ethereum API | IPFS API & Gateway | ETH Nodes as a Service Infura's development suite provides instant, scalable API access to the Ethereum and IPFS networks. Connect your app to Ethereum and IPFS now, for free! infura.io 2. 메인 페이지(대쉬보드)화면의 오른쪽 제일 상단의 [CREATE NEW KEY]를 눌러 Infura 어플리케이션을 생성한다. 3. 기본 이더리움 Web3 API를 선택..
이더리움 재단에서 Ethereum 1.0(Eth1), Ethereum 2.0(Eth2)의 용어 사용을 자제해달라고 공지했다. 이더리움은 계속해서 변화를 하고있고, 개발과 업그레이드를 넘어 Eth1, Eth2 용어로 구분짓는 단계를 폐지하려는 시도도 하고있다. 그럼 이를 대체할 단어는 무엇인가? Eth1 → Execution Layer Eth2 → Consensus Layer Execution Layer + Consensus Layer = Ethereum 바로 Execution Layer(EL, 실행 계층)과 Consensus Layer(CL, 합의 계층)이라고 한다. 실행 계층과 합의 계층에 관하여 알고싶으면 아래 링크를 참고하길 바란다. [Ethereum] 이더리움 실행 계층(EL)과 합의 계층(CL)..
이더리움 세폴리아(Sepolia) 테스트넷에서 이더 얻는 방법을 소개한다. 방법 1 현재 이 방법은 막혔다. 따라서 사용 불가하다. 아래 방법2를 확인하길 바란다. Sepolia FaucETH faucet.sepolia.dev 세폴리아 수도꼭지 웹 페이지로 작성일 기준 1시간 마다 0.05 ETH 테스트 이더를 받을 수 있다. 세폴리아 수도꼭지 페이지에 접속하면 아래와 같은 화면이 나타난다. 입력창에 이더리움 지갑주소를 넣는다. 사람인지 확인하는 캡처 도구를 통과해주고 아래와 같이 고양이가 열심히 달리고 완료됐다는 화면이 뜨면 이더가 내 지갑으로 들어온다. 확실히 규모가 작은 테스트넷이라서 그런지 엄청나게 빠른 속도로 들어오는 것을 확인할 수 있다. 하지만 오전 시간에는 한시간 넘게 기다려야 ETH가 들..
테스트넷이란 실제 블록체인 네트워크에 적용시키기 전에 테스트하는 환경으로, 메인넷과 같은 구조의 임시 네트워크이다. 메인넷에 컨트랙트를 배포하기 전에 메인넷과 유사한 환경에서 프로토콜 및 작성된 컨트랙트 코드를 미리 테스트해보는 베타 서비스 및 개발 서버의 개념이라고 보면 된다. 개발자들이 어플리케이션 운영 환경에 적합한 테스트넷을 선택한 후 제품 테스트를 우선 적용하여 정상 작동되는지 확인하고 메인넷에 적용하는 과정을 통해 운영적 안정성을 확보할 수 있다(대부분의 유명 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..