집금 기능 API 설계

김성진·2022년 8월 18일
0

가상화폐거래소마다 집금 기능은 필수적이면서 가장 중요한 부분을 차지한다. 다만 수수료 때문에 전전긍긍하는 집금 지갑 관련에 대해 좋은 방법을 찾아 설계하는 글을 작성 해본다.

keyword:

"집금지갑 생성 생애주기를 변경!"
"발급 생애주기를 집금과 동일하게 만든다!"

Step: (지갑의 생애주기)

  1. 발급 - create
  2. 생성 - deploy
  3. 집금 - collect
  4. 폐기 - destroy

각 생애주기별로 요구사항 분석 후, api 설계

내가 이해한 HENESIS 집금지갑 플로우

키워드:

입금주소 발급과 집금을 동시에 한다.
(프록시 컨트랙트는 수수료를 20만 가스까지 줄일 수 있어서, 입금 주소 발급 수수료가 많아야 만원 정도 선일거다.)
실제 발급된 주소 중에 집금이 한번이라도 작동하는 주소가 엄청 적어서 발급 생애주기를 집금과 동일하게 만든다는건 너무 좋은 아이디어네요.

지갑의 생애주기부터 그려야 한다.

지갑주소발급, 생성, 집금, 폐기

그리고 각 생애주기별로 요구사항 분석하고 api 만든 다음, api 기준으로 개발 들어간다.
지갑 여러개를 동시에 해야해서 생성, 집금 쪽에서 멀티콜 들어가면 가스비 최적화


멀티콜은 많아야 50% 개선이지만, 집금지갑생성 생애주기 변경은 열배 개선이다.

해석:

  1. 스마트컨트랙트 배포과 집금이 동시에 이뤄진다는건 우선 거래소 백엔드에서 저 스마트컨트랙트 배포할 코드 만들어놓고, 집금요청 올때 그 컨트랙트 같이 배포하겠다.

  2. create2 특징이 배포 됐을 때의 컨트랙트주소를 예상할 수 있다. 그래서 그 주소에 배포를 하지는 않은 상태지만 자산만 미리 보내놓을 수 있다. 나중에 집금이 필요할때 배포해서 가져오는거.

profile
multi-national communicator with programming (back-end)

0개의 댓글