- 지갑 로그인 기능 제공 (Kaia 지갑 연동)
- 주소
- 잔액 조회
- 카이아 / USDT
- 컨트랙트에서 실시간 조회
- 스트림 생성 버튼
- 보낸 계약 목록 (송신 스트림)
- 받은 계약 목록 (수신 스트림)
- 만료된 계약 목록
- 계약 리스트 항목:
- 생성 스트림명
- 남은 금액
- 총 금액
- 계약 리스트 항목:
- 민트 기능
- To (수신자 주소)
- From (송신자 주소)
- 스트림명
- Account (계정/지갑 정보)
- Duration (기간)
- 컨트랙트 객체 서명을 위한 ABI, Bytecode 제공 API 필요
- 스트림명
- 계약 날짜 (시작일 ~ 만료일)
- 송신자 → 수신자
- 현재 전송된 금액
- 총 금액 (납부해야 할 총액)
- 남은 금액
- 상태값 (Status)
- ACTIVE
- EXPIRED
- CANCELED
- 초당 전송 금액
- 종료 버튼
- 민팅 API (최대 100개 지원)
erDiagram
streams ||--o{ transactions : "has"
streams {
bigint stream_id PK
varchar stream_name
varchar sender_address "from"
varchar receiver_address "to"
decimal total_amount "총 금액"
decimal current_amount "현재 전송된 금액"
decimal remaining_amount "남은 금액"
decimal amount_per_second "초당 전송금액"
timestamp start_date "계약 시작일"
timestamp end_date "만료일"
bigint duration_seconds
enum status "ACTIVE, EXPIRED, CANCELLED"
varchar contract_address
varchar transaction_hash
timestamp created_at
timestamp updated_at
}
transactions {
bigint transaction_id PK
bigint stream_id FK
enum transaction_type "CREATE, CLAIM, CANCEL"
varchar from_address
varchar to_address
decimal amount
varchar transaction_hash UK
bigint block_number
bigint gas_used
enum status "PENDING, SUCCESS, FAILED"
timestamp created_at
timestamp confirmed_at
}
contract_abis {
bigint abi_id PK
json abi_json
text bytecode
varchar contract_address
timestamp created_at
}
- 모든 스트리밍 페이먼트 계약 정보
- 보내는 사람(from), 받는 사람(to) 주소
- 금액 관련: 총금액, 현재 전송된 금액, 남은 금액
- 초당 전송금액 자동 계산
- 상태: ACTIVE(진행중), EXPIRED(만료), CANCELLED(종료)
- 스트림 관련 모든 블록체인 트랜잭션 추적
- 유형: CREATE(생성), CLAIM(출금), CANCEL(종료)
- 트랜잭션 상태: PENDING(대기중), SUCCESS(성공), FAILED(실패)
- 가스비 및 블록 정보 기록
- 계약 생성시 필요한 ABI와 바이트코드
- API로 프론트엔드에 제공