본문 바로가기

Backend

'어디서' 데이터를 가져오느냐 / '어떤' 데이터를 가져오느냐 -> API와 Contract 그 경계

백엔드는 데이터를 가져오고, DB에 계속해서 쌓고, DB에서도 데이터가 잘 쌓이는지 주기적으로 체크해주고, 더 나아가 서버까지.. 등등 데이터 수집부터 운영까지 도맡아 하게 된다. 

 

내가 있는 팀에서는 API를 만들고, API 문서를 보고 데이터 운용 계획을 세우거나, SmartContract 문서를 보며 function이나 event에서 어떤 데이터 값을 가져오는지 등등의 일을 하고 있다. 

 

하지만 오늘 팀 내에서 좋은 질문과 답변이 하나 있었는데, 나조차도 표면적으로만 알고 있었던 부분인거 같아서 정리하고자 한다. 

 

API

필요한 값 '어디서' 가져오는지에 집중해서 작성된 문서 

 

SmartContract (interface 문서나, contract 정리문서가 되겠다.)

function을 통해 '어떤 값'을 가져오는지 참고하는 문서 

ㄴContract 내부에 작성된 function별로 단일 값을 백엔드로 내려줄 수도 있고, 여러 값을 백엔드로 내려줄 수도 있다. 

 

이 정리 하나로 나중에 DB ERD 모델링을 할 때는 이전보다 좀 더 어느 부분에 집중을 해야하는지 감이 더 생길 것 같다. 

오늘로서 API 문서에서는 어떤 값을 취해야하는지, smart contract 문서에서는 어떤 값을 취해야하는지 조금 감이 생긴 것 같다 :)