본문 바로가기

블록체인

(6)
[블록체인] 블록체인 이더리움 Dapp 개발에 하드햇과 오픈제펠린 활용하기 하드햇(Hardhat) 트러플과 유사한 이더리움 기반 스마트 컨트랙트 개발 도구 자바스크립트 기반으로 자유도가 높고 유연한 개발 환경을 제공 스마트 컨트랙트에서 console.log를 사용하여 값을 출력할 수 있는 기능도 제공 Ganache같은 가상 이더리움 제공 web3.js대신 ethers.js 사용 오픈제펠린의 Upgrades 수정 가능한 "Upgradable" 컨트랙트를 쉽게 작성하고 배포할 수 있도록 개발도구와 함께 쓸 수 있는 플러그인 트러플과 하드햇에서 사용할 수 있는 플러그인 하드햇 설치 글로벌 패키지로 설치하지 않음 (-g) yarn, npx 사용 cd mydapp yarn init -y yarn add hardhat --dev npx hardhat help 하드햇 프로젝트 폴더 npx ..
[블록체인] 이더리움 & 솔리디티 기반의 투표 dApp 구현하기 스마트 계약을 컴파일, 블록체인에 배포 경험 과정 가나슈라는 가짜 블록체인 설치(개발 환경 상에서 애플리케이션 돌릴 준비) *가나슈는 개발 목적으로만 쓰이는 인 메모리 블록체인 솔리디티 언어로 스마트 컨트랙트 구현 → 블록체인에 배포 커맨드 창에서 가나슈와 상호작용 → 웹페이지와 통하도록 블록체인과 상호작용하려면 RPC(Remote Precedure Call)을 통해야 한다. Web3JS로 RPC 호출하는 라이브러리로 Javascript를 통해 블록체인과 상호작용하게 해주는 역할을 한다. 리액트, 앵귤러같은 프레임워크로 웹앱 만들기도 가능 개발환경 설정 Node.js와 npm 설치 npm으로 가나슈, web3js, 솔리디티컴파일러 설치 mkdir -p ethereum_voting_dapp/chapter1..
[블록체인] Klaytn 클레이튼 블록체인 어플리케이션 만들기 - 이론과 실습 Scalability 확장성 얼마나 많은 일을 신속히 처리할 수 있는지 비트코인, 이더리움은 확장성 개선중 TPS + Block Interval Transaction Per Second: 초당 몇 개의 거래 처리 Block Interval: 블록 생성 간격 TPS Visa: TPS 1700 비트코인: TPS 7 이더리움: TPS 15 ~ 20 Block Interval 비트코인: 10분 이더리움: 15초 ~ 20초 트랜젝션 계산 20 tps + 15초 block interval 20 * 15 = 300 transactions 한 블록에 들어가는 트랜잭션 기존의 블록체인 왜 느린가? 참여하는 노드가 많다고 빨라지지는 않는다. 웹, 모바일은 최대한 빨리 응답하기 위해서 서버 증가 및 분산 처리 블록체인을 구..
[블록체인] 솔리디티(Solidity) 문법 총정리 솔리디티(Solidity) 깨부수기 목차 Hello Solidity 솔리디티(Solidity)란 스마트 컨트랙을 개발하기 위한 언어 스마트 컨트랙이란 미리 정의된 조건이 충족이 되면 미리 저장된 블록체인 프로그램이 작동하는 것 예) 3의 배수 번째 사람에게 돈을 준다. 스마트 컨트랙은 그 사람이 3번째 사람인지 확인, 아니면 돈을 주지 않음 스마트 컨트랙 작성 방법 리믹스 IDE 사용 라이센스를 제일 윗 줄에 작성해야 함 // SPDX-License-Identifier: GPL-30 pragma solidity >= 0.7.0 < 0.9.0; contract Hello { string public hi = "Hello solidity"; } compile → deploy 하면 Deployed Contra..
[블록체인] 이더리움 입문 바이블 지갑(Wallet) 비결정적 지갑 임의의 개인키/공개키 쌍을 사용하는 유형의 지갑 결정론적 지갑 모든 키가 시드(seed)라는 단일 시작 지점에서 파생 지갑을 쉽게 백업하고 복원 개인키를 모른 채 공개키를 생성 가스(Gas) 스마트 계약 배포, 트랜잭션 실행을 위해서는 가스비가 든다. 트랜잭션을 실행하려면 채굴자에게 이더를 지불해야 한다. 이 이더의 양을 결정하는 연산의 단위를 가스라고 한다. 설정한 가스 가격이 높을수록 트랜잭션이 더 빨리 처리됩니다. 바이트코드(Byte Code) 스마트 계약 코드는 대개 **솔리디티(Solidity)**와 같은 고급 프로그래밍 언어로 작성됩니다. EVM 바이트코드로 컴파일됩니다. 게스(Geth) **이더리움 재단(Ethereum Foundation)**이 제공하는 공..
[블록체인] 블록체인과 클레이튼 블록체인 어떤 거래 정보를 블록 단위로 기록해서 체인형태로 묶어서 관리하는 것 기존 중앙에서 DB를 관리한다는 개념과는 다름 거래 정보를 각 노드들이 갖고 있기 때문에 위변조가 어렵다는 특징 블록체인 종류 비트코인 폴리곤 이더리움(ERC) → 하나의 트랜젝션을 처리할 때 드는 비용이 비쌈 클레이튼(KCT) 클레이튼 토큰 kip7: 대체 가능 토큰. 모든 토큰은 동일 가치. 호환 가능(넥슨 안에서만 사용 가능) kip17: 대체 불가 토큰. 고유 가치. 교환 불가(화폐, 예술작품) kip37: 멀티 토큰. kip7을 여러개 담을 수 있음.(나이키 한정판 신발) 클레이튼 합의 과정 합의노드를 랜덤하게 뽑음 CN: 컨센서스 노드. 합의를 담당하는 노드 PN: 프록시 노드. 엔드포인트와 CN을 연결 EN: 엔드..