본문 바로가기

Javascript3

[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 활용 (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.