[2022. 02. 06]
▼ 강의에 따라 쳐봤다.
▼ 흔히 서버에 json파일을 로그했을 때 볼 수 있는 타입으로 나온다.
(타입스크립트 및 자바에서 array가 이런 식으로 나오나보다)
▼ CryptoJS 설치 (목적: 해시 함수를 통해 암호화 하기 위함)
설치를 하고 사용을 하기 위해서는 아래와 같이 맨 위에 import문을 추가해줘야한다.
▼ BlockHash 값을 생성해주는 Static 함수를 만들어준다. index, 이전 hash, timestamp, data를 아까 임포트했던 CryptoJS의 SHA256라는 함수를 통해 해쉬 값을 만들어주고 그것을 toString 해준 뒤 string 타입으로 반환 해주는 함수다. 규격이 없다면 C#에서도 아스키코드라든지 따로 나만의 암호를 만들어서 구현해도 괜찮을 것 같다.
만약 위를 C#으로 구현한다면
static string calculateBlockHash (int index, string prevhash, int timestamp, string data)
{
return 문자;
}
요런 식일 것이다.
Typescript는
함수특성(ex) static + 이름 = (파라미터: 타입) + : 반환 타입 => 함수 내용
위 구조를 기본으로 하는 것 같다.
blockchain함수는 Block클래스를 리턴하고 실행 내용은 genesisBlock이다.
genesisblock 함수는 : Block (Block 타입을 리턴하는 함수) + 함수 내용은 = new Block을 통해 새로운 Block을 생성이다.
즉, 새로운 블락을 생성해서 반환하는 함수이다.
▼ 강의 따라 작성한 함수들
▼ 새로운 블록체인 만드는 함수
근데 에러가 뜬다. 읽어보면
undefined properties를 읽을 수가 없다고한다. createNewBlock 쪽 문제이고 'index'를 읽는데 문제가 있다고한다
인덱스 읽는 쪽을 확인해봤는데. 아 실수 했다. 함수() 해줬어야하는데 에러가 안뜨길래 무심코 넘어갔었다.
▼ 수정 후 다시 실행
블록체인 원리랑 흐름을 파악하는 것이 이 강의를 듣는 목적이고 목적을 달성하면 곧 바로 이것을 써먹을 계획을 짜봐야겠다. 이론 및 개념은 인터넷에서 찾아서 공부해보고 국가에서도 제공해주는 연구 파일이있으니 그걸로 공부하면 될 것 같다.
'개발 (언어) > TypeScript & Blockchain' 카테고리의 다른 글
[Block_chain] Typescript(6) 블록체인 구현 - IsValid 체크 (0) | 2022.02.06 |
---|---|
[Block_chain] Typescript 활용(4) - 인터페이스 (0) | 2022.02.06 |
[Block_chain] Typescript 활용 (3) 및 생각 중간 정리 (0) | 2022.02.06 |
[Block_chain] TypeScript 활용(2) (0) | 2022.02.02 |
[Block_chain] TypeScript 설치 및 세팅 (0) | 2022.02.02 |