본문 바로가기
728x90

blockchain5

[Block_chain] Typescript(6) 블록체인 구현 - IsValid 체크 [2022. 02. 06, Sun] ▼ 블록 생성이 가능한지를 판단하는 boolean 리턴 타입의 함수이다. 강좌 따라 작성해봤다. 1. 구조가 같은지 체크 2. 인덱스가 이전 보다 +1 되었는지 체크 3. 새로 add될 블록이 prevBlock의 Hash값을 제대로 갖고있는지 체크 4. 새로 add될 블록의 Hash값이 의도한 구조대로 생성되었는지 체크 이다. Typescript에서 타입이 같은 지를 저렇게 체크하나보다. C#에서는 비교를 ==로 하는데 차이가 무엇인지 찾아봤다. 자바에서는 falsy 값이라는 것이 있다고 한다. C#에서는 if(77 == "77") 이 애초에 안되는 것인데 자바에서는 된다고한다. "77"를 파싱해서 같은 지를 비교를 한다고한다. 그래서 if(false == 0) 또한 .. 2022. 2. 6.
[Block_chain] Typescript 활용(5) - 블록체인 구현 [2022. 02. 06] ▼ 강의에 따라 쳐봤다. ▼ 흔히 서버에 json파일을 로그했을 때 볼 수 있는 타입으로 나온다. (타입스크립트 및 자바에서 array가 이런 식으로 나오나보다) ▼ CryptoJS 설치 (목적: 해시 함수를 통해 암호화 하기 위함) 설치를 하고 사용을 하기 위해서는 아래와 같이 맨 위에 import문을 추가해줘야한다. ▼ BlockHash 값을 생성해주는 Static 함수를 만들어준다. index, 이전 hash, timestamp, data를 아까 임포트했던 CryptoJS의 SHA256라는 함수를 통해 해쉬 값을 만들어주고 그것을 toString 해준 뒤 string 타입으로 반환 해주는 함수다. 규격이 없다면 C#에서도 아스키코드라든지 따로 나만의 암호를 만들어서 구현해.. 2022. 2. 6.
[Block_chain] Typescript 활용(4) - 인터페이스 [2022. 02. 06] 자바 스크립트에서는 인터페이스가 없다는데 상위 버전인 TypeScript에서 인터페이스를 제공해준다. ▼ 실행 정상 작동 그래서dist에 기록된 결과물인 app.js(javascript)를 보면 interface가 없다. 그래서 js에서 위 목적으로 주로 활용한다는게 class라고한다. ▼ constructor은 말 그대로 C# 생성자 역할이고 접근 지정자도 비슷하게 하는 것 같다. 감이 잡히니 조금씩 빨리 넘기면서 핵심 내용만 파악하면 될 것 같다. 2022. 2. 6.
[Block_chain] Typescript 활용 (3) 및 생각 중간 정리 [2022. 02. 06] 함수 형태 (1) (2) (3) 아래와 같이 테스트하면 예상대로 정상작동한다. [TSC - Watch] ▼ watch설치 후 package.json 수정 tsConfig 및 package 수정 위와 같이 수저을 한다면 컴파일 시 src 폴더안의 ts파일들을 컴파일할 것이고 결과는 dist폴더에 기록될 것이다. 수정후 npm start를 다시 해주면 아래와 같이 작동한다. 결과 ▼ dist에 타입스크립트컴파일러(tsc)가 작업한 결과(js.map과 js파일)을 dist에 기록(생성)하였다. [과정] src 폴더 안에 있는 Typescript 파일을 tsc(타입스크립트 컴파일러)가 node.js가 해석할 수 있는 javascript파일로 변경할 때 dist폴더 안에 저장을 해주고 .. 2022. 2. 6.
[Block_chain] TypeScript 설치 및 세팅 [2022. 02. 02] 입사 후 C#과 유니티에 대해서 꾸준히 공부를 하고있었다. 최근에는 블록체인 및 NFT에도 관심이 생겼다. NFT를 활용하여 추후에 게임 및 메타버스 쪽 프로젝트를 진행할 때 다방면에서 활용할 수 있을 것 같아서 셋팅하고 공부를 시작했다. ▼ 공부 시작 전에 node를 설치해주고 npm과 node.js를 설치해줬다. ▼ Gitlab에 저장소를 만든 뒤 TypeScript 프로젝트를 새로 만들었는데 Console을 인식 못하는 에러가 있다. ▼ 컴파일러에서 뱉어내는 오류에 말을 따라 tsconfig에서 lib에 dom을 추가해줬다. 그러고나서 vs2019를 껐다 켜보니 ▼ 해당 에러는 없어졌다. 그러나 실행을 해보니 Hello World를 안띄우고 에러를 뱉어내길래 확인해봤는데 .. 2022. 2. 2.
728x90