Skip to content

Latest commit

ย 

History

History
181 lines (134 loc) ยท 15 KB

README.md

File metadata and controls

181 lines (134 loc) ยท 15 KB

๊ฐ€(ๅฎถ)์ƒ์ด : KYC ์ธ์ฆ์„ ํ™œ์šฉํ•œ ๋ฃธ๋ฉ”์ดํŠธ ๋งค์นญ ์„œ๋น„์Šค ๊ฐœ๋ฐœ

image

1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • ๊ธฐ๊ฐ„ : 2023. 09 ~ 12
  • ์ฐธ์—ฌ ์ธ์› : 3๋ช…
  • ๊ธฐ์ˆ ์Šคํƒ : Spring Boot, JPA, MySQL

์•„์ด๋””์–ด ๋ฐฐ๊ฒฝ

์‰์–ดํ•˜์šฐ์Šค๋ž€ ๊ณต์šฉํ™”๋œ ๊ณต๊ฐ„์—์„œ ๊ฐœ์ธ์ ์ธ ๊ณต๊ฐ„์ด ๋ณ„๋„๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ์ฃผ๊ฑฐํ˜•ํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์‰์–ดํ•˜์šฐ์Šค๋Š” ์ž์ทจ์™€๋Š” ๋‹ฌ๋ฆฌ ๊ฐœ์ธ์ ์ธ ๊ณต๊ฐ„์ด ํ˜‘์†Œํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ž์‹ ๊ณผ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐ„์ด ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋ฃธ๋ฉ”์ดํŠธ์˜ ์„ฑ๊ฒฉ๊ณผ ์ทจํ–ฅ, ์ƒํ™œํŒจํ„ด์— ๋งŽ์€ ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๊ฑฐ ๊ณต์œ ๋ฅผ ํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์ž์‹ ์˜ ๊ฐ€์น˜๊ด€๊ณผ ๋”ฑ ๋งž๋Š” ๋ฃธ๋ฉ”์ดํŠธ๋ฅผ ๋งค์šฐ ๊ตฌํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

๋ฃธ๋ฉ”์ดํŠธ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ๋„ ๋ฌธ์ œ์ด์ง€๋งŒ, ํ˜„์žฌ ๋ฃธ๋ฉ”์ดํŠธ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์•ฑ์—์„œ๋„ ํฐ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ธ์ฆ์— ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์ฃผ๊ฑฐ์ง€๊ฐ€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋…ธ์ถœ๋˜๊ฑฐ๋‚˜ ์„ฑ๋ณ„ ๊ด€๊ณ„์—†์ด ๊ฒŒ์‹œ๋ฌผ์„ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์€ ๋ฒ”์ฃ„๋ฅผ ์•ผ๊ธฐํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ฌธ์ œ์ ๊ณผ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ ์ž ๋ฃธ๋ฉ”์ดํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ์™€ KYC ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•˜์—ฌ ์•ˆ์ „ํ•œ ๋ฃธ๋ฉ”์ดํŠธ ๋งค์นญ์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. KYC๋Š” Know Your Customer์˜ ์•ฝ์ž๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ์•ฑ์œผ๋กœ ์†Œํ†ตํ•˜๊ธฐ ์ „์— ์ž์‹ ์— ๋Œ€ํ•œ ์ธ์ฆ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์ณ์•ผํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

Architecture

image

Front

  • Users๋Š” Mobile์„ ํ†ตํ•ด Back Server์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.
  • Mobile์€ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์ธ Flutter๋กœ ์ œ์ž‘์ด ๋˜์–ด IOS, Android ๋‘˜ ๋‹ค ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • Front ์ฝ”๋“œ๋Š” (Front Repository)[https://github.com/gaseng/Front]๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”

Back

  • ๊ฐœ๋ฐœ์ž๋“ค์€ Git์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
  • Git Actions์— CI/CD๊ฐ€ ๊ตฌ์ถ•๋˜์–ด ์žˆ์–ด, main branch๋กœ push๋˜๋ฉด ์ž๋™์œผ๋กœ Linux server์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • Docker๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜์—ฌ Linux server์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
  • Linux server๋Š” AWS์˜ t2.medium์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

DB

  • Web hosting์„ ์œ„ํ•ด Firebase๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๋Š” S3, JWT์‚ฌ์šฉ ๋“ฑ ์ธ์ฆ ์ ˆ์ฐจ์— ๊ด€ํ•œ Redis, ๊ฐ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” Amazon RDS๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Others

  • Blockchain์˜ ํ† ํฐ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด Ethereum์˜ erc20์„ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Solidity ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์˜€์œผ๋ฉฐ KYC์™€ ๊ด€๋ จ๋œ ์„œ๋ฒ„๊ฐ€ ๋”ฐ๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • KYC ์„œ๋ฒ„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•˜์—ฌ Docker๋ฅผ ํ™œ์šฉํ•˜์—ฌ Grafana๋ฅผ ๊ตฌ์ถ•ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Contract๋Š” Sepolia Ethereum(Test network)์— ๋ฐฐํฌ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

Transaction: 0xD69297b898f3540D0FDa0BE69F69c54E65043A89

2. ํ”„๋กœ์ ํŠธ ์ •๋ณด

์š”๊ตฌ ๊ธฐ๋Šฅ ์ •์˜ ๋ฐ ๊ฐœ๋ฐœ ์—…๋ฌดํ‘œ

์‚ฌ์šฉ์ž

์ฃผ์š”๊ธฐ๋Šฅ ์„ธ๋ถ€๊ธฐ๋Šฅ v0.3 (10/19, ๋ชฉ) v0.5 (10/26, ๋ชฉ) v0.6 (11/02, ๋ชฉ) v0.9 (11/09, ๋ชฉ) v1.0 (11/16, ๋ชฉ)
๋””์ž์ธ UI ์‚ฌ์šฉ์ž ๊ฐœ๋ฐœ O
UI ๊ด€๋ฆฌ์ž ๊ฐœ๋ฐœ O
ํšŒ์› ํšŒ์›๊ฐ€์ž… O
๋กœ๊ทธ์ธ O
๋กœ๊ทธ์•„์›ƒ O
ํšŒ์› ํƒˆํ‡ด O
์•„์ด๋”” ์ฐพ๊ธฐ O
๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ O
๋‚ด๊ฐ€ ์“ด ๊ธ€ ์กฐํšŒ O
์Šคํฌ๋žฉ ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ O
์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ž‘์„ฑ O
์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ˆ˜์ • O
์‰์–ดํ•˜์šฐ์Šค ์‰์–ดํ•˜์šฐ์Šค ๊ธ€ ๋“ฑ๋ก O
์‰์–ดํ•˜์šฐ์Šค ๊ธ€ ์ˆ˜์ • O
์‰์–ดํ•˜์šฐ์Šค ๊ธ€ ์‚ญ์ œ O
์‰์–ดํ•˜์šฐ์Šค ๊ธ€ ์ „์ฒด ์กฐํšŒ O
์‰์–ดํ•˜์šฐ์Šค ๊ธ€ ์ƒ์„ธ ์กฐํšŒ O
์œ„์น˜ ์กฐํšŒ O
์‰์–ดํ•˜์šฐ์Šค ๊ธ€ ์Šคํฌ๋žฉ ๋“ฑ๋ก O
์‰์–ดํ•˜์šฐ์Šค ๊ธ€ ์Šคํฌ๋žฉ ์ทจ์†Œ O
๋งค์นญ ์‹ ์ฒญ (์ฑ„ํŒ…๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ๊ณผ ๋ณ‘ํ•ฉ๋จ) O
์ฑ„ํŒ…๋ฐฉ ์ ‘์† O
์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ๋“ฑ๋ก O
์ฑ„ํŒ…๋ฐฉ ์ „์ฒด ์กฐํšŒ O
์ฑ„ํŒ…๋ฐฉ ๋‚˜๊ฐ€๊ธฐ (์ฑ„ํŒ…๋ฐฉ ์‚ญ์ œ ๊ธฐ๋Šฅ๊ณผ ๋ณ‘ํ•ฉ๋จ) O
KYC KYC ์ธ์ฆํ™•์ธ O
์‹ ๋ถ„์ฆ ์ดฌ์˜ O
์–ผ๊ตด ์ดฌ์˜ O
ํŠน์ • ํ–‰๋™ ์–ผ๊ตด ์ดฌ์˜ O
KYC ์ œ์ถœ (KYC ์š”์ฒญ ๊ธฐ๋Šฅ๊ณผ ๋ณ‘ํ•ฉ๋จ) O
KYC ์ •๋ณด ์กฐํšŒ O

๊ด€๋ฆฌ์ž

์ฃผ์š”๊ธฐ๋Šฅ ์„ธ๋ถ€๊ธฐ๋Šฅ v0.3 (10/21, ๋ชฉ) v0.5 (10/28, ๋ชฉ) v0.6 (11/3, ๋ชฉ) v0.9 (11/10, ๋ชฉ) v1.0 (11/17, ๋ชฉ)
ํšŒ์› ๊ด€๋ฆฌ ๊ด€๋ฆฌ์ž ๋กœ๊ทธ์ธ O
๊ด€๋ฆฌ์ž ๋กœ๊ทธ์•„์›ƒ O
์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ O
์‚ฌ์šฉ์ž ์ •๋ณด ์ƒ์„ธ์กฐํšŒ O
์‚ฌ์šฉ์ž ์ƒํƒœ ์ œํ•œ O
KYC KYC ์š”์ฒญ ์กฐํšŒ O
KYC ์ƒํƒœ ๋ณ€๊ฒฝ O
๋ฒ”์ฃ„์ด๋ ฅ ์กฐํšŒ O
KYC ์ €์žฅ (KYC ๊ณต์ง€ ๊ธฐ๋Šฅ๊ณผ ๋ณ‘ํ•ฉ๋จ) O

์„œ๋ฒ„ ์‹คํ–‰ ๋ฐฉ๋ฒ•

Back

  1. code๋ฅผ git์— pushํ•œ๋‹ค.
  2. ec2๋ฅผ ํ•˜๋‚˜ ์ œ์ž‘ํ•˜์—ฌ ec2์— ๋Œ€ํ•œ access key๋ฅผ git secret์— ๋„ฃ์–ด๋‘๊ณ , ์ž๋™์œผ๋กœ ๋ฐฐํฌ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
  3. github actions๊ฐ€ ์‹คํ–‰๋˜์–ด gaseng ์„œ๋น„์Šค๊ฐ€ docker๋กœ ์ด๋ฏธ์ง€ํ™” ๋˜์–ด ์„œ๋ฒ„๋กœ ์˜ฌ๋ผ๊ฐ„๋‹ค.

Database

  1. AWS RDS๋ฅผ ์ œ์ž‘ํ•œ๋‹ค.
  2. ํ•ด๋‹น ์ •๋ณด๋ฅผ resource ์•ˆ์˜ secret.yml ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด RDS์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ๋„ฃ๋Š”๋‹ค.

Blockchain

  1. sepolia test network์˜ ๋ฐฐํฌ๋œ KYC ์ปจํŠธ๋ž™ํŠธ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค.
  2. ํ•ด๋‹น ์ปจํŠธ๋ž™ํŠธ์˜ ์ฃผ์†Œ๋Š” 0xD69297b898f3540D0FDa0BE69F69c54E65043A89 ์ด๋‹ค.
# secret.yml์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ํ‚ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
RDS_HOST: [AWS RDS ํ˜ธ์ŠคํŠธ]
RDS_USERNAME: [AWS RDS ์‚ฌ์šฉ์ž ์ด๋ฆ„]
RDS_PASSWORD: [AWS RDS ํŒจ์Šค์›Œ๋“œ]

S3_BUCKET_NAME: [AWS S3 ๋ฒ„ํ‚ท ์ด๋ฆ„]
S3_ACCESS_KEY: [AWS S3 ๊ถŒํ•œ ์žˆ๋Š” ์•ก์„ธ์Šค ํ‚ค]
S3_SECRET_KEY: [AWS S3 ๊ถŒํ•œ ์žˆ๋Š” ๋น„๋ฐ€ ํ‚ค]

JWT_SECRET: [JWT๋กœ ์‚ฌ์šฉ๋  ๋น„๋ฐ€ ํ‚ค]
  
COOL_KEY: [์ „ํ™”๋ฒˆํ˜ธ API ํ‚ค]
COOL_SECRET: [์ „ํ™”๋ฒˆํ˜ธ API ๋น„๋ฐ€ํ‚ค]
COOL_PHONE: [ํ•ด๋‹น ์ „ํ™”๋ฒˆํ˜ธ๋กœ ์ธ์ฆ๋ฌธ์ž ์ „์†ก]

WALLET_ADDRESS: [metamask address]
CONTRACT_ADDRESS: [sepolia test network์— ๋ฐฐํฌ๋œ KYC ์ปจํŠธ๋ž™ํŠธ]
WALLET_PRIVATE_KEY: [metamask ๋น„๋ฐ€ ํ‚ค]
INFURA_API_URL: [infura ์„œ๋น„์Šค sepolia api]

3. ํ”„๋กœ์ ํŠธ ๊ฒฐ๊ณผ๋ฌผ

๊ฐ€์ƒ์ด ํ”„๋กœ์ ํŠธ ์„ค๊ณ„์„œ.hwp (250์ชฝ ๋ถ„๋Ÿ‰) ๋‹ค์šด๋กœ๋“œ

์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค (figma) 58์žฅ

4. ๊ธฐ์ˆ  ๋ฐ ๊ธฐ๋Šฅ

S3์™€ Lambda๋ฅผ ํ™œ์šฉํ•œ ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ง• ๊ธฐ๋Šฅ

AWS EC2 Instance๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์˜จ๋””๋ฉ˜๋“œ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จ๋˜์–ด ์•ˆ์ •์„ฑ๊ณผ ๋†’์€ ๊ฐ€์šฉ์„ฑ์„ ์ž๋ž‘ํ•˜๋Š” S3๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์‚ฌ์ง„์€ ๋ฉ”์ธํ™”๋ฉด์— ์ „์‹œ๋˜๋Š” Thumbnail์šฉ ์‚ฌ์ง„์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€๋ฅผ ๋ฆฌ์‚ฌ์ด์ง•ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ง• ๊ธฐ๋Šฅ์„ ์ œ์ž‘ํ•˜๊ฒŒ ๋˜๋ฉด ์›๋ณธ ์‚ฌ์ง„๊ณผ Customํ•œ ์‚ฌ์ง„ ๋‘ ๊ฐœ๋ฅผ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”๋กœ ํ–ˆ๊ณ , ์ด๋Š” ๋ถˆํ•„์š”ํ•œ API๋ฅผ ์„œ๋ฒ„ ๋‚ด์—์„œ ๊ฐ๋‹นํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ์— S3์— ์ด๋ฏธ์ง€๊ฐ€ ์—…๋กœ๋“œ ๋  ๋•Œ Lambda๋ฅผ Triggerํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ์ƒ์—์„œ ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ง• ๊ธฐ๋Šฅ์„ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฑ„ํŒ… ์„œ๋น„์Šค, Realtime database์˜ ์‚ฌ์šฉ

๊ธฐํš ๋‹จ๊ณ„์—์„œ RDBMS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ… ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋„์ค‘ ์ฑ„ํŒ… ์‹œ์Šคํ…œ์— KYC ์—ด๋žŒ๊ธฐ๋Šฅ ๋ฐ ํ”„๋กœํ•„ ๋“ฑ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋ณ€๋™๋˜์—ˆ๊ณ , ์ฑ„ํŒ…์— ๊ด€ํ•œ ๊ธฐ๋Šฅ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์ถ”๊ฐ€ ๋  ๋•Œ๋งˆ๋‹ค ์Šคํ‚ค๋งˆ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ€์žฅ ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธด ํ…Œ์ด๋ธ”์ด์—ˆ์œผ๋ฉฐ, ์ฝ๊ธฐ๋ณด๋‹ค ์“ฐ๊ธฐ๊ฐ€ ๋” ๋งŽ์ด ์ผ์–ด๋‚˜๋Š” ์ฑ„ํŒ… ์‹œ์Šคํ…œ์„ ์œ ์—ฐํ•˜๊ฒŒ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— Firebase์˜ Realtime database๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์ฑ„ํŒ…๋ฐฉ์ด ๊ณ ์œ ํ•˜๊ฒŒ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋Š” RDBMS์— ์œ ์ง€ํ•˜๊ณ , ์ฑ„ํŒ… ๋‚ด์šฉ ๋“ฑ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” NoSQL๋กœ ์˜ฎ๊ธฐ์–ด ๋ฐ์ดํ„ฐ ์ˆ˜์ •์„ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

JWT ์ธ์ฆ

Gaseng์€ IOS, Android ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ Application์ด์ง€๋งŒ Firebase๋ฅผ ์ด์šฉํ•˜์—ฌ Web์—๋„ ํ˜ธ์ŠคํŒ…์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Web์—์„œ์˜ ๊ถŒํ•œ ์—†๋Š” ์‚ฌ์šฉ์ž๋“ค์˜ ๋ถ€์ ์ ˆํ•œ API ์‚ฌ์šฉ์„ ๋ฐฉ์ง€ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋ชจ๋“  API Header์˜ Authentication ํ•ญ๋ชฉ์„ ๊ฒ€์ฆํ•˜์—ฌ ์ธ์ฆ ๋ฐ›์€ ์‚ฌ์šฉ์ž์˜ JWT๋ฅผ ํ™•์ธํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. Session ๋ฐฉ์‹๊ณผ Token ๋ฐฉ์‹์„ ๋น„๊ตํ•˜์—ฌ ํŒ€์›๋“ค๊ณผ ๋…ผ์˜ํ–ˆ์œผ๋ฉฐ, ํ˜„ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‘˜์˜ ์ฐจ์ด๊ฐ€ ๊ทน๋ช…ํ•˜๊ฒŒ ๋‚˜๋‰˜์ง€๋Š” ๊ฒฐ๊ณผ๋Š” ์—†์œผ๋‚˜ Blockchain ๋ฐ ํƒ€ ์„œ๋น„์Šค์™€์˜ ์—ฐ๊ฒฐ์ด ๋งŽ์•„ ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ ์ž Token ๋ฐฉ์‹์œผ๋กœ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

Blockchain transaction ์†๋„ ํ…Œ์ŠคํŠธ

๋ธ”๋ก ์‹œ๊ฐ„์€ ๋ธ”๋ก์ด ๋งŒ๋“ค์–ด์ง€๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋„คํŠธ์›Œํฌ๋งˆ๋‹ค ์–ด๋–ค ๋ฐฉ์‹์„ ํƒํ•˜๊ณ  ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” Ethereum Network๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ KYC ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์‹œ๊ฐ„ ์ธก์ • ๊ฒฐ๊ณผ ๋Œ€๋žต 9์ดˆ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ด์— ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๊ณ ์ž Network๋ณ„๋กœ ํŠน์„ฑ์„ ์กฐ์‚ฌํ–ˆ์œผ๋ฉฐ Polygon(6์ดˆ), Avalanche(2-3์ดˆ), TON(1-2์ดˆ) ๋ผ๋Š” ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. Ethereum์—์„œ ์‚ฌ์šฉํ•˜๋Š” Solidity์˜ ํ™•์žฅ์„ฑ์ด ๊ฐ€์žฅ ์ปธ๊ธฐ ๋•Œ๋ฌธ์— Ethereum์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ์†๋„๋ฅผ ์šฐ์„ ์‹œํ•˜๋Š” Application์—์„œ๋Š” Avalanche๋ฐ TON์„ ์‚ฌ์šฉํ•ด๋ด๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.