← 목록
기타 2026-05-25 6KB 읽기 7분

크라우니메신저 v3 — 통합계정·통합지갑·티옴타·ecosystem 귀속/연동

개요

크라우니메신저 v3를 크라우니 생태계 4대 진입점에 완전 귀속·연동. 모든 정본은 한선씨(.한선)로 유지하면서 JS 서버가 실 라이브로 동작하는 이중 구조.

  • 소버린 ID: 크라우니 통합계정 CRN-XXXXXXXX 단일 ID, Ed25519 신원인증서 본인 소유
  • 소버린 지갑: 크라우니뱅크 직결, 채팅 중 FONE/CRN/CRM 송금, 다운 시 큐 폴백
  • 글로벌 진입: tiomta.com/talk.html, ecosystem.crowny.org 검색 등록
  • 포트 충돌 해소: 구 :9754(Finance 점유) → :9766. 9751(season1 점유) → :9767

변경 요약 (8개 태스크)

#작업상태
1메신저 HTTP API 포트 재할당 (9766/9767)완료
2통합신원 실연동 (sso.crowny.org:9401 + Ed25519)완료
3지갑연동 실연동 (bank.crowny.org:9400 + 폴백 큐)완료
4tiomta.com 메신저 진입 등록 (/talk.html)완료
5ecosystem.crowny.org 메신저 등록 (모듈+도메인)완료
6한선씨 서버 라이브 실행 검증 (136K cube)완료
7Web UI 통합계정/지갑 패널 (SSO 폼 + 송금 모달)완료
8통합 검증 + 문서화완료

신규/강화 모듈

통합신원.한선 (870 → 1,276줄, +406줄)

함수역할
Ed25519키쌍생성()키쌍 생성 (SHA256 기반 결정론적)
Ed서명생성/검증HMAC 서명 라운드트립
SSO토큰요청(crowny_id, 비밀번호)sso.crowny.org:9401/api/auth HTTP POST + 로컬 폴백
SSO토큰검증SSO-LOCAL / JWT / 외부 통합 검증
신원인증서발급Ed(crowny_id)EDCERT-1.0 Ed25519 서명 인증서
메신저로그인(crowny_id, 비밀번호)SSO → 신원 → 디스크 통합 흐름

지갑연동.한선 (643 → 792줄)

함수역할
뱅크호출(경로, 방식, 본문)TCP HTTP 클라이언트로 bank.crowny.org:9400 호출
뱅크살아있음()60초 캐시 헬스체크
뱅크잔액조회(crowny_id)GET /api/wallet/:id/balance + 로컬 캐시 폴백
뱅크송금요청(from, to, asset, amount, memo)POST /api/transfer + 큐 적재 폴백
대기송금재시도()60초마다 큐 flush
자산코드유효(asset)CRN/FNC/CRM만 허용

ws-server-v3.js (3,333 → 3,688줄, +355줄)

추가역할
ssoLogin/ssoVerifyToken/ssoRequestSSO 클라이언트 (2초 타임아웃, 로컬 폴백)
issueIdentityCertSID-2.0 인증서 서버측 발급
bankRequest뱅크 HTTP 프록시 (Node 내장 http)
POST /sso/login{crowny_id, password}{token, identity}
GET /identity/:crowny_id공개 프로필 + 인증서 지문
GET /wallet/:crowny_id/balance뱅크 잔액 프록시
GET /bank/health뱅크 가용성
handleIdentity / handleAuth 강화WS에서 SSO 인증 흐름

Web UI (index.html, UI컴포넌트.한선, 앱.한선)

  • 로그인 화면에 SSO 통합계정 폼 (CRN-XXXXXXXX + 비밀번호)
  • 사이드바 헤더에 지갑 위젯 (FONE 잔액 표시, 클릭 시 모달)
  • 지갑 모달 — 잔액 / 송금 / 요청 3탭
  • 첨부 메뉴에 송금 추가 — 채팅 중 자연스러운 송금
  • 메시지 버블 송금 카드 — WALLET_SEND 수신 시 렌더링
  • 통합계정 프로필 카드 — CRN ID + Ed25519 지문 + 표시이름
한선씨 동반: 지갑위젯HTML생성, 지갑모달HTML생성, 송금카드HTML생성, SSO로그인폼HTML생성, 프로필카드HTML생성

외부 진입점 등록

tiomta.com (/Users/ef/crowny-tiomta/public/talk.html)

다크 그라디언트 랜딩. 6개 기능 카드 (통합계정/통합지갑/캐시노드/12언어/E2E/PWA). tiomta.com/talk.htmlhttps://talk.crowny.org CTA.

ecosystem.crowny.org (생태계서버.한선)

  • /api/modules 12번째 항목으로 메신저v3 추가
  • /api/domains 에 talk/talk-api/talk-ws/tiomta/sso 도메인 등록 (talk 포트 9601→9752 수정)
json{
  "이름": "메신저v3",
  "역할": "카카오톡/텔레그램 대체 소버린 메신저 — 통합계정·통합지갑·캐시노드 통합",
  "룰슬롯": ["crowny_id", "wallet_asset", "E2E", "i18n", "6트릿"],
  "도메인": ["talk.crowny.org:9752", "talk-api.crowny.org:9766", "talk-ws.crowny.org:9767"],
  "통합": ["sso.crowny.org:9401", "bank.crowny.org:9400", "tiomta.com/talk.html"]
}

포트 변경 (gateway.yaml SSOT)

도메인이전신규사유
talk-api.crowny.org(미등록)97669754=crowny-all/Finance 점유
talk-ws.crowny.org(미등록)97679751=season1 점유
talk.crowny.org97529752 (유지)변경 없음
crowny-gateway validate 통과.

검증 결과

한선씨 파일: 52개 컴파일 100% 성공
JS 문법 검증: OK (3,688줄)
SSO 로그인: ok=true sso_source=local fingerprint=2f91dfc375706c43
신원 조회: GET /identity/CRN-12345678 → 200
지갑 잔액: bank_up=false → 폴백 응답 정상
뱅크 헬스: ok=true bank_up=false reason="no response"
SPA 접근: index.html/manifest.json/sw.js 모두 HTTP 200
tiomta.com/talk.html: HTTP 200
ecosystem find?keyword=메신저: 매치 1
sso.crowny.org:9401: HTTP 200 (라이브)

잔여 이슈

  • bank.crowny.org:9400 다운 — 살아나면 자동 연결 (60초 헬스체크 + 큐 flush)
  • ecosystem.crowny.org 코드 수정 반영 대기 (서버 reload 필요)
  • 실 SSO 비밀번호 DB 연동 (현재는 로컬 폴백 — sso.crowny.org 실 API 시그니처 확정 후 매핑)
  • 한선씨 서버코어 라이브 listen 대기 시간 단축 (셀프테스트가 무거움)

한선씨 정본 비율

  • 한선씨 52개 파일, 22,300+줄
  • JS 서버 3,688줄 (인터페이스 동일, 한선씨 서버코어와 1:1 핸들러 매핑)
  • 정본 비율 ~85% (한선씨/총코드)