
Author: 주니용 앞의 글에서 블록들을 연결시켜주는 로직을 작성해보았습니다. 하지만, 이 상태로는 빈 데이터가 들어오는 경우에도 체인이 되는 형태이고, 또 같은 데이터가 동시에 들어와 해시값이 같더라도 문제가 발생하죠. 그렇기 때문에 검증하는 단계를 추가하여야 합니다. 마지막으로 추가하는 검증 소스는 아래와 같습니다. 먼저 Block 클래스 내부에 타입을 검증할 수 있는 로직을 추가해보려 합니다. static checkStruct = (block: Block): boolean => typeof block.index === "number" && typeof block.hash === "string" && typeof block.data === "string"; 자, 이제 typeof 함수를 이용하여 각..

Author: 주니용 이전에 프로토타입을 만들었다면 이제 본격적으로 활용가치가 있는 함수들을 직접 만들어보아야 하겠습니다. 소스를 간단하게 먼저 수정하고 진행하도록 하겠습니다. import * as CryptoJS from "crypto-js"; class Block { static calcBlockHash = (index: number, hash: string, data: string, ts: number): string => CryptoJS.SHA256(`${index}${hash}${ts}${data}`).toString(); private index: number; private hash: string; private prevHash: string; private data: string; priv..

이번 글에서는 console.log를 사용하여 터미널에 출력이 되도록 설정하는 작업을 하려 합니다. 먼저 package.json 파일에 들어가서 name과 같은 레벨에 다음과 같이 소스를 추가합니다. "scripts": { "start": "node index.js", "prestart": "tsc" } script는 yarn 명령어를 사용하여 터미널에 어떤 명령어가 실행될지 설정하는 곳입니다. 위와 같이 작성하면 yarn start 명령어를 하였을 때 아래와 같은 효과가 발생하죠 typescript > tsc typescript > node index.js 그 다음으로 index.ts 파일에서 alert로 되어 있던 부분을 console.log로 변경합니다. 이후 터미널에 yarn start 명령어를 ..

기본적인 준비물은 여기 글에서 확인 가능하세요! 먼저 Visual Studio Code에서 아무 디렉터리를 하나 생성하고 초기화까지 진행합니다. 그 후, tsconfig.json이라는 파일을 root에 생성합니다. 다음으로 아래와 같이 입력해줍시다. { "compilerOptions": { "module": "commonjs", "target": "ES2015", "sourceMap": true }, "include": ["index.ts"], "exclude": ["node_modules"] } tsconfig.json 파일은 타입스크립트의 기본적인 설정으로 컴파일과도 연관이 있습니다. 모듈은 기본적인 JS를 사용하므로 'commonjs' target은 ES의 버전으로 2015~2020까지 있습니다. ..

이전 글에서 TypeScript의 프로젝트 생성 방법과 기본적인 개념에 대해 짚어보았습니다. TypeScript에 대해 알아보자 Author: 주니용 2020년 경자년 새해복 많이 받으세요 :) 이번 연도에 처음으로 다루어볼 내용은 TypeScript입니다. TypeScript는 JavaScript의 확장 버전으로 한국에서는 통상 자바스크립트의 후손이라고 일 abbo.tistory.com 제목과 그대로 TypeScript를 응용하여 요새 유명한 블록체인을 개발할 수 있을까라는 의문이 생겼습니다. 결론을 먼저 말씀드리면, 가능합니다. 아직 블록체인은 비트코인이라는 이름으로만 들어봤지 많이 생소한 단어이고 '비트코인의 몰락'으로 인해 안좋거나 부정적인 단어라고 생각하시는 분들이 많습니다. 네 그렇습니다. 비..