일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 깃허브
- 라우터
- 자바스크립트
- npm
- wsl
- 변수
- 블록체인
- 리눅스
- 리액트를 다루는 기술
- MariaDB
- 설치
- 전역설치
- 머클트리
- 우분투
- 쉘스크립트
- 노드
- node.js 교과서 따라하기
- 솔리디티
- wget
- 벨로포터
- centos
- 시퀄라이즈
- 환경변수
- 일반유저
- 머클루트
- 이더리움
- Sequelize
- immer
- Docker
- 리액트
- Today
- Total
목록블록체인 (31)
코드코코

사전작업 httpServer.js 파일 생성 touch httpServer.js 모듈설치 express, bodyparser npm i express body-parser 모듈불러오기 chainedBlock.js, checkValidBlock.js const express = require("express") const bodyParser = require("body-parser") const { getBlocks, getVersion, nextBlock } = require('./chainedBlock') const { addBlock } = require('./checkVaildBlock') chainedBlock.js 에서 추가 exports 해주기 getBlocks와 getVersion을 http..

사전작업 checkValidBlock.js 파일 생성 touch checkValidBlock.js 모듈불러오기 merkle 및 사용자모듈 const merkle = require('merkle') const { nextBlock, getLastBlock, createHash, Blocks } = require('./chainedBlock') 블록검증 - 생성된 블럭을 블록체인에 추가하려면 반드시 검증을 거쳐야 한다. 검증해야 할 것 1. 추가하려는 현재의 블록 : 블록 구조가 유효한지 - 타입들이 올바른가 - 인덱스가 올바른가 : 현재 블록의 인덱스가 이전블록의 인덱스보다 1만큼 큰지 - previousHash가 올바른가 (이전 블록값 이용) - body의 내용이 존재하지 않는가? 👉없으면 안됨 - 암호..

사전작업 chainedBlock.js 파일 생성 touch chainedBlock.js package.json 파일 생성 npm init 모듈 설치 npm i crypto-js merkle 모듈 불러오기 fs 모듈 사용예정이므로 함께 불러옴 const cryptoJs = require('crypto-js') const merkle = require('merkle') const fs = require('fs') 블록의 구조 클래스 정의 Block : header와 body로 구성 됨. class Block { constructor(header, body) { this.header = header this.body = body } } BlockHeader: 블록의 header에는 6가지 구성요소가 있음. -..

WebSocket WebSocket은 서버와 클라이언트 간에 Socket Connection을 유지하여, 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술 Transport protocol의 일종 : 웹버전의 TCP 또는 Socket 웹 소켓의 특징 양방향 통신(Full-Duplex) 실시간 네트워킹(Real Time-Networking) - 데이터 송수신을 동시에 처리할 수 있는 통신 방법 - 클라이언트와 서버가 서로에게 원할 때 데이터 송수신 (통상적인 HTTP 통신은 클라이언트가 요청을 보내는 경우에만 서버가 응답하는 단방향 통신) - 웹 환경에서 연속된 데이터를 빠르게 노출 - 여러 단말기에 데이터를 빠르게 교환 ex) 채팅, 주식, 비디오 데이터 웹 소켓의 동작 방법 1 - Hand ..

블록생성 //block.js const cryptoJs = require('crypto-js') const fs = require('fs') const merkle = require('merkle') //블록 구조체 선언 : 헤더, 바디 class Block { constructor(header, body) { this.header = header this.body = body } } //블록헤더 구조체 선언 : 헤더 구성 요소 나열 class BlockHeader { constructor(index, version, previousHash, timestamp, merkleRoot, bit, nonce) { this.index = index this.version = version this.previou..

Merkle tree 1. 모듈설치 $ npm i merkletreejs crypto-js root@DESKTOP-RJ31OF5:/home/ubuntu/workspace/blockchain# npm i merkletreejs crypto-js added 57 packages, removed 110 packages, and audited 60 packages in 15s 1 package is looking for funding run `npm fund` for details found 0 vulnerabilities 2. test_merkleTree.js 작성 1. a 를 해쉬값으로 표현 // test_merkleTree.js const SHA256 = require('crypto-js/sha256') ..

HTTP 통신과 Socket 통신 - 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신 방식 HTTP 통신 Client가 요청을 보내는 경우에만 Server가 응답하는 단방향적 통신 -HTTP란 HyperText Transfer Protocol의 약자로 HTML 파일을 전송하는 프로토콜이라는 의미 HTTP 통신은 클라이언트의 요청이 있을 때 서버가 응답하는 단방향 통신 JSON, Image, HTML 파일 등 다양한 파일을 전송 받을 수 있음. 응답을 받은 후 Connection이 끊어지는 것이 기본 동작이지만, 성능 상으로 필요하다면 Keep Alive 옵션을 주어 일정 시간 동안 Connection을 유지하는 것이 가능 Socket 통신 소켓 통신이란 서버와 클라이언트 양방향 연결이 이루어지는 ..