블록체인 기업에서 백엔드 개발을 하고 있다보니, DB를 통한 백엔드 -> 프론트엔드 통신과, 블록체인을 통한 백엔드->프론트엔드 통신 방법이 헷갈려 한 번 정리해보았다.
아직 100% 완벽하게 정리는 하지 못하였으나, 일단 큰 그림을 잡아보기로 하여 다음과 같이 작성하였다.
DB를 활용한 통신
DB생성 후 백엔드는 DB에 관한 API를 만들고 -> 이를 프론트엔드에 전달하여 -> 프론트엔드는 해당 API를 참고하여 백엔드에서 데이터를 내려받고 브라우저 상에 데이터를 표시한다.
블록체인 트랜잭션(Tx) 통신
1) 체인 상에 있는 데이터(트랜잭션) -> 백엔드에서 해당 데이터를 Entity에 저장 -> API 작성 -> 프론트엔드가 호출하여 브라우저에 데이터 표시
-> 블록체인과 통신하는 '이벤트 서버'를 구독해서 받아오는 블록체인 정보를 DB에 저장한다.
2) Tx -> 프론트엔드가 바로 호출하여 사용 -> 브라우저에 데이터 표시
-> 스마트 컨트랙트의 balanceOf() = 지갑의 토큰 보유량, totalSupply() -> 토큰의 총 발행량, 지갑주소와 같은 정보들은 블록체인과 바로 통신하여 프론트엔드가 데이터를 전달받는다.
'Backend' 카테고리의 다른 글
모니터링 시스템 구축을 위한 리서치 (0) | 2023.11.08 |
---|---|
블록체인 이벤트 수신 시 로컬에서 이벤트 수신 vs kubernates의 pods로 이벤트 수신 차이점 (0) | 2023.07.18 |
Request와 Response (0) | 2023.07.15 |
'어디서' 데이터를 가져오느냐 / '어떤' 데이터를 가져오느냐 -> API와 Contract 그 경계 (0) | 2023.03.09 |