본문 바로가기

Blockchain/Blockchain3

새 블록 추가, 블록의 연결과 검증 코드 작성 전체 코드 const fs = require('fs'); // file system package const merkle = require('merkle'); const CryptoJs = require('crypto-js'); const SHA256 = require('crypto-js/sha256'); /* 사용법 const tree = merkle("sha256") // 인자값 : 암호화 방법 .sync([]); // tree 구조로 변환 tree.root(); // root를 가져옴 */ function getVersion(){ // readFileSync로 내용 가져와서 Json.Parse로 제이슨 형태로 변환 후 비구조할당 처리 const { version } = JSON.parse.. 2021. 10. 18.
블록체인(Blockchain)의 기본 개념, 제네시스 블록(Genesis Block) 만들기 기본 개념 네트워크 : http, socket 분산원장 : 데이터를 저장하는 코드(블록) Hash sha256 -> JWT 단방향 암호화 -> 자리수 고정 // a -> 64암호화 머클(Merkle) 너무 많은 노드(블록)들을 찾기에(완전 탐색) 리소스의 낭비가 커 효율이 낮아 연결 된 데이터 중 찾고자하는 데이터를 효율적으로 찾기 위해 사용 작업증명(PoW, Proof of Work) = 마이닝(Mining) 제네시스 블록 만들기 - 제네시스 블록의 구조 npm init src 폴더 생성 cd src block.js 파일 생성 후 코드 작성 version 가져오기 const fs = require('fs'); // file system package function getVersion() { const.. 2021. 10. 18.
블록체인의 특징과 앞으로의 진행 예정 사항 /* Blockchain */ * 진행 예정 사항 - NodeJS 환경에서 class 문법 사용 - express로 http 통신 관련 코딩 실습 - 나만의 코인 빌드 * 특징 - 암호 : hash256과 비슷한 암호화 된 key값 - 알고리즘 : 아래 코드와 같은 블록들이 수없이 많아지면, 데이터를 찾아내는데 최적화 된 효율적인 알고리즘이 필요 - 통신 : 탈중앙화 * 이런 형태로 생김 - 최상위 객체는 제네시스 블록(Genesis Block)이라고 칭함 { name: name1234, id: id1234, key: 0, address: , }, { name: name, id: id, key: key, address: , }, { name: name, id: id, key: key, address: ,.. 2021. 9. 30.