dukDukz
[블록체인] http 와 websocket 차이 본문
인터페이스란?
인터페이스 : 리모컨, 클라이언트... 내가 뒤에 만든 프로그램이랑 대화할 수 있는 매개체 (요청만 보내는..)
HTTP 인터페이스
node js (express http server 가 항상 backend로만 구축했던..) 지금은 client 역할만 한다
- 왜 client 역할을 하고 있는가? -> 블록체인이라는 특수성
사용자에게 1,000원 이라는 데이터를 받았다면,
우리는 그 정보를 영구적으로 가지고 있어야만 응답을 줄 수 있는데
이 데이터를 어떤 방식으로 저장할 것인가?
- 저장하는 방식
1) 메모리에 저장 - 변수에 저장함
웹소켓을 껐다가 켰을때 당연히 블록이 날아간다.
웹소켓을 통해서 서로간에 연결을 시켜주는 채팅 프로그램을 만들었다고 생각해보자
websocket
websocket websocket
websocket websocket
# http 인터페이스?
각각의 websocket 이 1000원을 갖고 있는데
ingoo가 얼마있는지 알고 싶어. 누구에게 물어봐야하는데 그걸 해주는 역할이 누구일까? 누구에게 물어보면 될까?
이럴때 필요한게 인터페이스.
websocket 이랑 사람이랑 통신할 수 있는 인터페이스 (http) 가 필요함
요청) get post 이런식으로 요청을 보내겠지??
http 서버가 나랑 연결 되어있는 websocket 에다 물어본다.
이 흐름을 알기 위해서 http 서버가 하는 역할이 단순 인터페이스 역할이다 라는 것을 정확히 알고 있어야 한다.
단순히 요청을 받아서 그 내용에 뒤따른 처리는 websocket 에 있는 코드들이 해주고
"데이터를 저장하는 방식을 어떻게 했냐"-block.js 에서 해주고
[server block network .js] 가 중요
server |
인터페이스의 역할 - 사용자가 어떤 작업을 해야 하는지 정해주는 리모컨 같은 [사용자 인터페이스] |
network |
우리가 데이터를 연결짓게끔 하는 backend 라고 생각하면 될듯 |
block |
단순하게 나의 블럭들을 저장하는 형태를 만드는 공간 [db를 대체한다고 생각해주기] |
GUI
API
'웹 개발 > 블록체인' 카테고리의 다른 글
[블록체인] network.js 상세설명 (0) | 2021.09.07 |
---|---|
[블록체인] network.js (callback) (0) | 2021.09.07 |
[블록체인] 두 개의 서버 - 접속 및 정보공유 (0) | 2021.09.06 |
[블록체인] 웹소켓 ws (0) | 2021.09.03 |
[블록체인] 블록 추가 | 블록 검증 (0) | 2021.09.02 |