[{"data":1,"prerenderedAt":1128},["ShallowReactive",2],{"docs-nav-ko":3,"doc-ko-\u002Fapp\u002Fxrpl-payment-quickstart":266,"doc-section-ko-\u002Fapp":145},[4,146,174,180,200,204,210,229,260],{"title":5,"path":6,"stem":7,"children":8,"page":145},"App","\u002Fapp","app",[9,55,121,125,129,133,137,141],{"title":10,"path":11,"stem":12,"children":13,"page":-1},"시작하기 & 프로젝트","\u002Fapp\u002F1-getting-started-and-projects","app\u002F1-getting-started-and-projects\u002Findex",[14,15,19,23,27,31,35,39,43,47,51],{"title":10,"path":11,"stem":12},{"title":16,"path":17,"stem":18},"퀵스타트 튜토리얼","\u002Fapp\u002F1-getting-started-and-projects\u002Fquickstart","app\u002F1-getting-started-and-projects\u002F01.quickstart",{"title":20,"path":21,"stem":22},"AI Coach 튜토리얼","\u002Fapp\u002F1-getting-started-and-projects\u002Fai-coach","app\u002F1-getting-started-and-projects\u002F02.ai-coach",{"title":24,"path":25,"stem":26},"앱 설치 · Push 알림","\u002Fapp\u002F1-getting-started-and-projects\u002Fpwa","app\u002F1-getting-started-and-projects\u002F03.pwa",{"title":28,"path":29,"stem":30},"프로젝트 목록","\u002Fapp\u002F1-getting-started-and-projects\u002Fproject-list","app\u002F1-getting-started-and-projects\u002F04.project-list",{"title":32,"path":33,"stem":34},"프로젝트 상세","\u002Fapp\u002F1-getting-started-and-projects\u002Fproject-detail","app\u002F1-getting-started-and-projects\u002F05.project-detail",{"title":36,"path":37,"stem":38},"프로젝트 캘린더","\u002Fapp\u002F1-getting-started-and-projects\u002Fproject-calendar","app\u002F1-getting-started-and-projects\u002F06.project-calendar",{"title":40,"path":41,"stem":42},"문서 · 참조","\u002Fapp\u002F1-getting-started-and-projects\u002Fdocuments","app\u002F1-getting-started-and-projects\u002F07.documents",{"title":44,"path":45,"stem":46},"화물 운송 · 보험","\u002Fapp\u002F1-getting-started-and-projects\u002Ffreight-insurance","app\u002F1-getting-started-and-projects\u002F08.freight-insurance",{"title":48,"path":49,"stem":50},"외부 공유 · 코멘트","\u002Fapp\u002F1-getting-started-and-projects\u002Fshare-comments","app\u002F1-getting-started-and-projects\u002F09.share-comments",{"title":52,"path":53,"stem":54},"프로젝트 결제 내역","\u002Fapp\u002F1-getting-started-and-projects\u002Fproject-payment","app\u002F1-getting-started-and-projects\u002F10.project-payment",{"title":56,"path":57,"stem":58,"children":59,"page":-1},"이메일 · 결제 · AI","\u002Fapp\u002F2-communication-payment-ai","app\u002F2-communication-payment-ai\u002Findex",[60,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117],{"title":56,"path":57,"stem":58},{"title":62,"path":63,"stem":64},"이메일 연동 · 설정","\u002Fapp\u002F2-communication-payment-ai\u002Femail-settings","app\u002F2-communication-payment-ai\u002F01.email-settings",{"title":66,"path":67,"stem":68},"메일함 · 발송","\u002Fapp\u002F2-communication-payment-ai\u002Femail-inbox","app\u002F2-communication-payment-ai\u002F02.email-inbox",{"title":70,"path":71,"stem":72},"AI 메일 분석 · 연결","\u002Fapp\u002F2-communication-payment-ai\u002Femail-ai-analysis","app\u002F2-communication-payment-ai\u002F03.email-ai-analysis",{"title":74,"path":75,"stem":76},"사내 채팅","\u002Fapp\u002F2-communication-payment-ai\u002Fchat","app\u002F2-communication-payment-ai\u002F04.chat",{"title":78,"path":79,"stem":80},"자금 증명 (PoF)","\u002Fapp\u002F2-communication-payment-ai\u002Fpof","app\u002F2-communication-payment-ai\u002F05.pof",{"title":82,"path":83,"stem":84},"토큰 에스크로 (FCL)","\u002Fapp\u002F2-communication-payment-ai\u002Ffcl","app\u002F2-communication-payment-ai\u002F06.fcl",{"title":86,"path":87,"stem":88},"시스템 결제 요약","\u002Fapp\u002F2-communication-payment-ai\u002Fpayment-summary","app\u002F2-communication-payment-ai\u002F07.payment-summary",{"title":90,"path":91,"stem":92},"내 프로필","\u002Fapp\u002F2-communication-payment-ai\u002Fmy-profile","app\u002F2-communication-payment-ai\u002F08.my-profile",{"title":94,"path":95,"stem":96},"내 친구","\u002Fapp\u002F2-communication-payment-ai\u002Fmy-friends","app\u002F2-communication-payment-ai\u002F09.my-friends",{"title":98,"path":99,"stem":100},"구독 · 영수증","\u002Fapp\u002F2-communication-payment-ai\u002Fmy-subscription","app\u002F2-communication-payment-ai\u002F10.my-subscription",{"title":102,"path":103,"stem":104},"알림 센터","\u002Fapp\u002F2-communication-payment-ai\u002Fnotifications","app\u002F2-communication-payment-ai\u002F11.notifications",{"title":106,"path":107,"stem":108},"Lyra 챗봇","\u002Fapp\u002F2-communication-payment-ai\u002Flyra-chatbot","app\u002F2-communication-payment-ai\u002F12.lyra-chatbot",{"title":110,"path":111,"stem":112},"LEO 엔진","\u002Fapp\u002F2-communication-payment-ai\u002Fleo","app\u002F2-communication-payment-ai\u002F13.leo",{"title":114,"path":115,"stem":116},"CYGNUS 엔진","\u002Fapp\u002F2-communication-payment-ai\u002Fcygnus-engine","app\u002F2-communication-payment-ai\u002F14.cygnus-engine",{"title":118,"path":119,"stem":120},"VELA 수입 준비 점검","\u002Fapp\u002F2-communication-payment-ai\u002Fvela-import-readiness","app\u002F2-communication-payment-ai\u002F15.vela-import-readiness",{"title":122,"path":123,"stem":124},"Lyra 인터랙티브 기능","\u002Fapp\u002F3-lyra-interactive-capabilities","app\u002F3-lyra-interactive-capabilities",{"title":126,"path":127,"stem":128},"CYGNUS 가이드","\u002Fapp\u002F4-cygnus-guide","app\u002F4-cygnus-guide",{"title":130,"path":131,"stem":132},"부서 · 회사 대시보드","\u002Fapp\u002Fdashboards","app\u002Fdashboards",{"title":134,"path":135,"stem":136},"QT(견적) 핸드셰이크","\u002Fapp\u002Fqt-handshake","app\u002Fqt-handshake",{"title":138,"path":139,"stem":140},"XRPL 정산 현황","\u002Fapp\u002Fsettlement","app\u002Fsettlement",{"title":142,"path":143,"stem":144},"XRPL 결제 퀵스타트","\u002Fapp\u002Fxrpl-payment-quickstart","app\u002Fxrpl-payment-quickstart",false,{"title":147,"path":148,"stem":149,"children":150,"page":-1},"Common","\u002Fcommon","common",[151,154,158,162,166,170],{"title":152,"path":148,"stem":153},"공통 기능 소개","common\u002Findex",{"title":155,"path":156,"stem":157},"계정 관리","\u002Fcommon\u002F1-account","common\u002F1-account",{"title":159,"path":160,"stem":161},"구독 · 결제 · 토큰","\u002Fcommon\u002F2-subscription-billing","common\u002F2-subscription-billing",{"title":163,"path":164,"stem":165},"라이선스","\u002Fcommon\u002F3-license","common\u002F3-license",{"title":167,"path":168,"stem":169},"로그인 SSO · 패밀리 사이트","\u002Fcommon\u002F4-sso-family","common\u002F4-sso-family",{"title":171,"path":172,"stem":173},"고객 의견 (피드백)","\u002Fcommon\u002F5-feedback","common\u002F5-feedback",{"title":175,"path":176,"stem":177,"children":178},"Forwarder Portal","\u002Fforwarder","forwarder\u002Findex",[179],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183,"children":184,"page":-1},"Guild","\u002Fguild","guild",[185,188,192,196],{"title":186,"path":182,"stem":187},"소개 · 시작하기","guild\u002Findex",{"title":189,"path":190,"stem":191},"커뮤니티 이용","\u002Fguild\u002F1-community","guild\u002F1-community",{"title":193,"path":194,"stem":195},"무역위키","\u002Fguild\u002F2-wiki","guild\u002F2-wiki",{"title":197,"path":198,"stem":199},"무료 LC 검토","\u002Fguild\u002F3-lc-checker","guild\u002F3-lc-checker",{"title":201,"path":202,"stem":203},"홈","\u002F","index",{"title":205,"path":206,"stem":207,"children":208},"MCP 연동","\u002Fmcp","mcp\u002Findex",[209],{"title":205,"path":206,"stem":207},{"title":211,"path":212,"stem":213,"children":214,"page":-1},"Store","\u002Fstore","store",[215,217,221,225],{"title":186,"path":212,"stem":216},"store\u002Findex",{"title":218,"path":219,"stem":220},"구매자 가이드","\u002Fstore\u002F1-buyer","store\u002F1-buyer",{"title":222,"path":223,"stem":224},"판매자 가이드","\u002Fstore\u002F2-seller","store\u002F2-seller",{"title":226,"path":227,"stem":228},"셀러 챗봇","\u002Fstore\u002F3-chatbot","store\u002F3-chatbot",{"title":230,"path":231,"stem":232,"children":233,"page":-1},"Studio","\u002Fstudio","studio",[234,236,240,244,248,252,256],{"title":186,"path":231,"stem":235},"studio\u002Findex",{"title":237,"path":238,"stem":239},"카드 · 카드 시리즈 만들기","\u002Fstudio\u002F1-card-news","studio\u002F1-card-news",{"title":241,"path":242,"stem":243},"이미지 도구","\u002Fstudio\u002F2-image-tools","studio\u002F2-image-tools",{"title":245,"path":246,"stem":247},"Pictor Chat","\u002Fstudio\u002F3-pictor-chat","studio\u002F3-pictor-chat",{"title":249,"path":250,"stem":251},"오브젝트 라이브러리","\u002Fstudio\u002F4-objects-video","studio\u002F4-objects-video",{"title":253,"path":254,"stem":255},"영상 스튜디오","\u002Fstudio\u002F5-video-studio","studio\u002F5-video-studio",{"title":257,"path":258,"stem":259},"게시 채널 연결","\u002Fstudio\u002F6-social-channels","studio\u002F6-social-channels",{"title":261,"path":262,"stem":263,"children":264},"영상으로 둘러보기","\u002Fvideos","videos\u002Findex",[265],{"title":261,"path":262,"stem":263},{"id":267,"title":142,"body":268,"description":1098,"doc_type":1099,"domain":1100,"extension":1101,"field_ids":1102,"help":1103,"meta":1117,"navigation":1118,"page_id":1119,"path":143,"playbook_can":1102,"playbook_cannot":1102,"playbook_recipes":1102,"related_pages":1102,"seo":1120,"service":7,"stem":144,"tags":1121,"video":1102,"__hash__":1127},"content_ko\u002Fapp\u002Fxrpl-payment-quickstart.md",{"type":269,"value":270,"toc":1078},"minimark",[271,276,288,296,299,304,309,369,380,382,386,391,401,417,431,439,442,520,524,538,553,557,560,601,604,627,634,636,640,644,652,670,674,679,699,703,712,739,742,781,785,788,791,807,811,818,840,843,845,849,852,885,888,890,897,1025,1027,1031,1041,1043,1047,1074],[272,273,275],"h1",{"id":274},"xrpl-결제-devnet-quick-start","XRPL 결제 (Devnet) — Quick Start",[277,278,279,283,284,287],"p",{},[280,281,282],"strong",{},"대상",": 시연\u002F검증을 진행하는 운영자·개발자\n",[280,285,286],{},"전제",": tflow-server \u002F tflow-client 실행 중, Devnet 환경",[277,289,290,291,295],{},"본 문서는 ",[292,293,294],"code",{},"\u002Fprojects\u002F:id\u002Fpayment"," 화면(ProjectPayment)에서 마일스톤 생성 → 입금 → 에스크로 잠금 → 정산까지 e2e 시연 절차를 단계별로 안내합니다. 화면이 비어있거나 막혔을 때 어디를 점검해야 하는지도 함께 정리합니다.",[297,298],"hr",{},[300,301],"doc-video",{"src":302,"title":303},"\u002Fvideos\u002Fapp-xrpl-payment-quickstart.ko.mp4","XRPL 결제 퀵스타트 — Devnet 에스크로 시연, 마일스톤부터 정산까지",[305,306,308],"h2",{"id":307},"_0-사전-점검-운영자-체크리스트","0. 사전 점검 — 운영자 체크리스트",[310,311,312,328],"table",{},[313,314,315],"thead",{},[316,317,318,322,325],"tr",{},[319,320,321],"th",{},"항목",[319,323,324],{},"확인 방법",[319,326,327],{},"정상 상태",[329,330,331,345,358],"tbody",{},[316,332,333,337,342],{},[334,335,336],"td",{},"Devnet 활성화",[334,338,339],{},[292,340,341],{},"cd tflow-xrpl-payment\u002Fserver && node scripts\u002Ftus-ops.js balance \u003CTFlow주소>",[334,343,344],{},"XRP > 10, TUS TrustLine 존재",[316,346,347,350,353],{},[334,348,349],{},"TUS Issuer flag",[334,351,352],{},"동일 명령으로 Issuer 주소 조회",[334,354,355],{},[292,356,357],{},"allowTrustLineLocking: true",[316,359,360,363,366],{},[334,361,362],{},"TFlow Wallet → Issuer TrustLine",[334,364,365],{},"위와 동일",[334,367,368],{},"TUS 항목 표시",[277,370,371,372,375,376,379],{},"비활성 상태면 → ",[292,373,374],{},"tflow-xrpl-payment\u002Fserver\u002Fscripts\u002Ftus-ops.js","로 setup, 또는 ",[292,377,378],{},"Phase 1 README"," 참조.",[297,381],{},[305,383,385],{"id":384},"_1-프로젝트-측-사전-세팅","1. 프로젝트 측 사전 세팅",[387,388,390],"h3",{"id":389},"_1-1-projectshare에-buyer-seller-등록","1-1. ProjectShare에 Buyer \u002F Seller 등록",[277,392,393,396,397,400],{},[292,394,395],{},"\u002Fprojects\u002F:id\u002Fshare"," 메뉴에서 ",[280,398,399],{},"두 사용자","를 각각 다른 actor_type으로 추가:",[402,403,404,411],"ul",{},[405,406,407,408],"li",{},"사용자 A → ",[292,409,410],{},"actor_type = 'buyer'",[405,412,413,414],{},"사용자 B → ",[292,415,416],{},"actor_type = 'seller'",[418,419,420],"blockquote",{},[277,421,422,423,426,427,430],{},"⚠️ Buyer\u002FSeller가 등록되지 않으면 ",[292,424,425],{},"seller_user_id","는 NULL로 케이스가 생성됩니다. 케이스 자체는 만들어지지만 escrow 진행 시 wallet 주소가 비어있어 ",[292,428,429],{},"lock-funds","가 실패합니다. 마일스톤 추가는 가능하지만 실 결제 흐름은 두 역할 등록 후에 가능합니다.",[387,432,434,435],{"id":433},"_1-2-각-사용자의-xrpl-지갑-활성화-devnet","1-2. 각 사용자의 XRPL 지갑 활성화 (Devnet) ",[436,437],"span",{"id":438},"help-app-xrpl-quickstart-wallet-activation",[277,440,441],{},"각 시연자가 별도 브라우저 \u002F 시크릿 창에서:",[443,444,445,459,465],"ol",{},[405,446,447,450,451,458],{},[280,448,449],{},"Crossmark 익스텐션"," 설치 (",[452,453,457],"a",{"href":454,"rel":455},"https:\u002F\u002Fcrossmark.io",[456],"nofollow","crossmark.io",")",[405,460,461,462,458],{},"새 지갑 생성 → 주소 확보 (예: ",[292,463,464],{},"r9uEmgPLHMNZS8AHH62zm5whEVYXRn5vPJ",[405,466,467,468,519],{},"Devnet faucet으로 활성화:\n",[469,470,475],"pre",{"className":471,"code":472,"language":473,"meta":474,"style":474},"language-bash shiki shiki-themes github-light github-dark","curl -X POST https:\u002F\u002Ffaucet.devnet.rippletest.net\u002Faccounts \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"destination\":\"\u003C지갑주소>\"}'\n","bash","",[292,476,477,499,510],{"__ignoreMap":474},[436,478,481,485,489,493,496],{"class":479,"line":480},"line",1,[436,482,484],{"class":483},"sScJk","curl",[436,486,488],{"class":487},"sj4cs"," -X",[436,490,492],{"class":491},"sZZnC"," POST",[436,494,495],{"class":491}," https:\u002F\u002Ffaucet.devnet.rippletest.net\u002Faccounts",[436,497,498],{"class":487}," \\\n",[436,500,502,505,508],{"class":479,"line":501},2,[436,503,504],{"class":487},"  -H",[436,506,507],{"class":491}," \"Content-Type: application\u002Fjson\"",[436,509,498],{"class":487},[436,511,513,516],{"class":479,"line":512},3,[436,514,515],{"class":487},"  -d",[436,517,518],{"class":491}," '{\"destination\":\"\u003C지갑주소>\"}'\n","\n→ 100 XRP 입금 + 계정 활성화",[387,521,523],{"id":522},"_1-3-호스트-ui에서-지갑-등록","1-3. 호스트 UI에서 지갑 등록",[277,525,526,527,529,530,533,534,537],{},"각 시연자가 ",[292,528,294],{}," → ",[280,531,532],{},"검증(요청)"," 또는 ",[280,535,536],{},"검증(발급)"," 탭 → 지갑 연결 버튼:",[402,539,540,543,550],{},[405,541,542],{},"Crossmark 팝업에서 sign-in 승인",[405,544,545,546,549],{},"시스템이 자동으로 ",[280,547,548],{},"TUS TrustLine 설정 팝업"," 띄움 → 서명 (1회)",[405,551,552],{},"\"지갑이 등록되었습니다\" 토스트",[387,554,556],{"id":555},"_1-4-buyer에게-tus-토큰-발행-운영자","1-4. Buyer에게 TUS 토큰 발행 (운영자)",[277,558,559],{},"운영자가 한 줄 명령:",[469,561,563],{"className":471,"code":562,"language":473,"meta":474,"style":474},"cd tflow-xrpl-payment\u002Fserver\nnode scripts\u002Ftus-ops.js issue \u003CBuyer-주소> 1000\n",[292,564,565,573],{"__ignoreMap":474},[436,566,567,570],{"class":479,"line":480},[436,568,569],{"class":487},"cd",[436,571,572],{"class":491}," tflow-xrpl-payment\u002Fserver\n",[436,574,575,578,581,584,588,591,595,598],{"class":479,"line":501},[436,576,577],{"class":483},"node",[436,579,580],{"class":491}," scripts\u002Ftus-ops.js",[436,582,583],{"class":491}," issue",[436,585,587],{"class":586},"szBVR"," \u003C",[436,589,590],{"class":491},"Buyer-주",[436,592,594],{"class":593},"sVt8B","소",[436,596,597],{"class":586},">",[436,599,600],{"class":487}," 1000\n",[277,602,603],{},"→ Buyer 지갑에 1000 TUS 발행. 잔고 확인:",[469,605,607],{"className":471,"code":606,"language":473,"meta":474,"style":474},"node scripts\u002Ftus-ops.js balance \u003CBuyer-주소>\n",[292,608,609],{"__ignoreMap":474},[436,610,611,613,615,618,620,622,624],{"class":479,"line":480},[436,612,577],{"class":483},[436,614,580],{"class":491},[436,616,617],{"class":491}," balance",[436,619,587],{"class":586},[436,621,590],{"class":491},[436,623,594],{"class":593},[436,625,626],{"class":586},">\n",[277,628,629,630,633],{},"⚠️ 1-3 (Buyer가 TrustLine 설정)을 먼저 끝낸 후에 발행해야 함. 안 끝났으면 발행 트랜잭션이 ",[292,631,632],{},"tecPATH_DRY"," 등으로 거부됨.",[297,635],{},[305,637,639],{"id":638},"_2-결제-시연-흐름","2. 결제 시연 흐름",[387,641,643],{"id":642},"_2-1-마일스톤케이스-생성","2-1. 마일스톤(케이스) 생성",[277,645,646,529,648,651],{},[292,647,294],{},[280,649,650],{},"정산 대시보드"," 탭:",[443,653,654,661,664],{},[405,655,656,657,660],{},"빈 화면 가운데 ",[280,658,659],{},"\"마일스톤 추가\""," 버튼 클릭",[405,662,663],{},"모달: 마일스톤 이름 (예: \"선급 30%\"), 금액 (예: 100), 비율 (30), 일자 입력",[405,665,666,667],{},"생성 → 첫 케이스 등록, status = ",[292,668,669],{},"DRAFT",[387,671,673],{"id":672},"_2-2-buyer가-입금-deposit","2-2. Buyer가 입금 (Deposit)",[277,675,676,678],{},[280,677,536],{}," 탭 (Buyer 권한이면 자동) → \"토큰 입금\" 액션:",[443,680,681,684,696],{},[405,682,683],{},"Crossmark 팝업 → Payment 트랜잭션 서명 (Buyer → TFlow Escrow Agent)",[405,685,686,687,690,691,529,693],{},"서버: ",[292,688,689],{},"confirm-funding"," API 호출 → status ",[292,692,669],{},[292,694,695],{},"FUNDED",[405,697,698],{},"devnet.xrpl.org에서 트랜잭션 확인 (TX hash UI에 표시됨)",[387,700,702],{"id":701},"_2-3-자동-에스크로-잠금-lock","2-3. 자동 에스크로 잠금 (Lock)",[277,704,705,708,709,711],{},[292,706,707],{},"XrplEscrowJob 워커","가 30초 주기로 ",[292,710,695],{}," 케이스를 찾아 자동으로 EscrowCreate 실행:",[402,713,714,722,725],{},[405,715,716,717,529,719],{},"30초 이내에 status ",[292,718,695],{},[292,720,721],{},"ESCROW_OPEN",[405,723,724],{},"TFlow Oracle 지갑이 IOU를 escrow에 잠금 (Crypto-Condition 보안)",[405,726,727,728,731,732,731,735,738],{},"DB에 ",[292,729,730],{},"escrow_sequence",", ",[292,733,734],{},"escrow_condition",[292,736,737],{},"escrow_fulfillment"," 저장",[277,740,741],{},"기다리지 않고 즉시 잠그려면 (옵션):",[469,743,745],{"className":471,"code":744,"language":473,"meta":474,"style":474},"curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fpayment\u002Fcases\u002F\u003Ccase-uuid>\u002Flock-funds \\\n  -H \"Authorization: Bearer \u003Ctoken>\"\n",[292,746,747,774],{"__ignoreMap":474},[436,748,749,751,753,755,758,761,764,767,769,772],{"class":479,"line":480},[436,750,484],{"class":483},[436,752,488],{"class":487},[436,754,492],{"class":491},[436,756,757],{"class":491}," http:\u002F\u002Flocalhost:3000\u002Fapi\u002Fpayment\u002Fcases\u002F",[436,759,760],{"class":586},"\u003C",[436,762,763],{"class":491},"case-uui",[436,765,766],{"class":593},"d",[436,768,597],{"class":586},[436,770,771],{"class":491},"\u002Flock-funds",[436,773,498],{"class":487},[436,775,776,778],{"class":479,"line":501},[436,777,504],{"class":487},[436,779,780],{"class":491}," \"Authorization: Bearer \u003Ctoken>\"\n",[387,782,784],{"id":783},"_2-4-seller-문서-업로드-buyer-승인-release","2-4. Seller 문서 업로드 + Buyer 승인 → Release",[277,786,787],{},"검증(요청) 탭 (Seller) → 문서 업로드 → AI 검증 → \"승인 요청\"",[277,789,790],{},"검증(발급) 탭 (Buyer) → \"Approve\" → 서버 EscrowFinish 실행:",[402,792,793,801],{},[405,794,795,796,529,798],{},"status ",[292,797,721],{},[292,799,800],{},"RELEASED",[405,802,803,804,458],{},"Seller 지갑에 IOU 입금 (잔고 확인: ",[292,805,806],{},"node scripts\u002Ftus-ops.js balance \u003CSeller-주소>",[387,808,810],{"id":809},"_2-5-옵션-환불-시연","2-5. (옵션) 환불 시연",[277,812,813,814,817],{},"기본 ",[292,815,816],{},"cancelAfterSeconds = 7일"," 이라 즉시 환불 불가. 시연 시:",[469,819,821],{"className":471,"code":820,"language":473,"meta":474,"style":474},"# tflow-server\u002F.env\nXRPL_ESCROW_CANCEL_AFTER_SECONDS=60\n",[292,822,823,829],{"__ignoreMap":474},[436,824,825],{"class":479,"line":480},[436,826,828],{"class":827},"sJ8bj","# tflow-server\u002F.env\n",[436,830,831,834,837],{"class":479,"line":501},[436,832,833],{"class":593},"XRPL_ESCROW_CANCEL_AFTER_SECONDS",[436,835,836],{"class":586},"=",[436,838,839],{"class":491},"60\n",[277,841,842],{},"재시작 후 새 케이스 생성 → 60초 후 \"Refund\" 버튼 → EscrowCancel → 자금 TFlow로 회수 → Buyer로 Payment.",[297,844],{},[305,846,848],{"id":847},"_3-시연-종료-후-정리-운영자","3. 시연 종료 후 정리 (운영자)",[277,850,851],{},"각 시연자가 보유한 TUS는 Devnet의 임시 토큰이라 폐기해도 무방하지만, 같은 지갑을 다음 시연에 재사용하려면 Issuer로 회수 가능:",[469,853,855],{"className":471,"code":854,"language":473,"meta":474,"style":474},"node scripts\u002Ftus-ops.js return \u003Cholder-seed> \u003Camount>\n",[292,856,857],{"__ignoreMap":474},[436,858,859,861,863,866,868,871,873,875,877,880,883],{"class":479,"line":480},[436,860,577],{"class":483},[436,862,580],{"class":491},[436,864,865],{"class":491}," return",[436,867,587],{"class":586},[436,869,870],{"class":491},"holder-see",[436,872,766],{"class":593},[436,874,597],{"class":586},[436,876,587],{"class":586},[436,878,879],{"class":491},"amoun",[436,881,882],{"class":593},"t",[436,884,626],{"class":586},[277,886,887],{},"→ holder의 TUS가 Issuer로 송금되어 자동 burn.",[297,889],{},[305,891,893,894],{"id":892},"_4-자주-막히는-지점-트러블슈팅","4. 자주 막히는 지점 — 트러블슈팅 ",[436,895],{"id":896},"help-app-xrpl-quickstart-troubleshooting",[310,898,899,912],{},[313,900,901],{},[316,902,903,906,909],{},[319,904,905],{},"증상",[319,907,908],{},"원인",[319,910,911],{},"해결",[329,913,914,931,944,968,979,997,1008],{},[316,915,916,922,925],{},[334,917,918,919],{},"마일스톤 추가 시 ",[292,920,921],{},"Column 'seller_user_id' cannot be null",[334,923,924],{},"마이그레이션 미적용",[334,926,927,930],{},[292,928,929],{},"마이그레이션 20260507-01"," 적용. 또는 ProjectShare에 seller 등록",[316,932,933,938,941],{},[334,934,935,936],{},"Deposit 시 ",[292,937,632],{},[334,939,940],{},"Buyer TrustLine 미설정 또는 TUS 잔고 0",[334,942,943],{},"1-3 후 1-4 순서로 다시",[316,945,946,955,958],{},[334,947,948,949,533,952],{},"EscrowCreate 시 ",[292,950,951],{},"tecNO_PERMISSION",[292,953,954],{},"temMALFORMED",[334,956,957],{},"Issuer flag 미설정",[334,959,960,963,964,967],{},[292,961,962],{},"tus-ops.js balance \u003CIssuer>","로 ",[292,965,966],{},"allowTrustLineLocking"," 확인",[316,969,970,973,976],{},[334,971,972],{},"EscrowFinish 후 Seller 잔고 그대로",[334,974,975],{},"Seller TrustLine 누락",[334,977,978],{},"Seller 지갑에서 호스트 UI로 재진입 → 자동 TrustLine 설정 트리거",[316,980,981,984,987],{},[334,982,983],{},"30초 기다려도 자동 잠금 안 됨",[334,985,986],{},"XrplEscrowJob 워커 미실행",[334,988,989,992,993,996],{},[292,990,991],{},"tflow-server"," 로그에서 ",[292,994,995],{},"[AutoLock] Job started"," 확인. 없으면 워커 프로세스 재시작",[316,998,999,1002,1005],{},[334,1000,1001],{},"Crossmark 팝업 안 뜸",[334,1003,1004],{},"익스텐션 비활성 또는 다른 탭에서 세션 점유",[334,1006,1007],{},"Crossmark 익스텐션 다시 클릭 → 탭 새로고침",[316,1009,1010,1013,1020],{},[334,1011,1012],{},"화면에 \"T FLOW Network\" \u002F \"Global Traders Ltd.\" 표시",[334,1014,1015,1016,1019],{},"mock 데모 화면 (",[292,1017,1018],{},"\u002Fdemo\u002Fpayment",") 진입",[334,1021,1022,1024],{},[292,1023,294],{}," 운영 화면으로 이동",[297,1026],{},[305,1028,1030],{"id":1029},"_5-mainnet-전환은-별도","5. Mainnet 전환은 별도",[277,1032,1033,1034,1037,1038,379],{},"본 가이드는 Devnet 전용. Mainnet RLUSD escrow는 Ripple이 RLUSD issuer 계정에 ",[292,1035,1036],{},"asfAllowTrustLineLocking"," flag를 활성화한 이후에 가능 (현재 미활성). 사전 준비 항목은 ",[292,1039,1040],{},"260506-xrpl-스타일링\u002FREADME.md Phase 4",[297,1042],{},[305,1044,1046],{"id":1045},"_6-관련-도구-파일","6. 관련 도구 \u002F 파일",[402,1048,1049,1054,1060,1069],{},[405,1050,1051,1052],{},"운영 스크립트: ",[292,1053,374],{},[405,1055,1056,1057],{},"e2e dry-run: ",[292,1058,1059],{},"tflow-xrpl-payment\u002Fserver\u002Fscripts\u002Fdry-run.js",[405,1061,1062,1063,731,1065,1068],{},"데모 화면 (mock): ",[292,1064,1018],{},[292,1066,1067],{},"\u002Fdemo\u002Fpof"," (히든 라우트)",[405,1070,1071,1072],{},"운영 화면: ",[292,1073,294],{},[1075,1076,1077],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":474,"searchDepth":512,"depth":512,"links":1079},[1080,1081,1087,1094,1095,1096,1097],{"id":307,"depth":501,"text":308},{"id":384,"depth":501,"text":385,"children":1082},[1083,1084,1085,1086],{"id":389,"depth":512,"text":390},{"id":433,"depth":512,"text":434},{"id":522,"depth":512,"text":523},{"id":555,"depth":512,"text":556},{"id":638,"depth":501,"text":639,"children":1088},[1089,1090,1091,1092,1093],{"id":642,"depth":512,"text":643},{"id":672,"depth":512,"text":673},{"id":701,"depth":512,"text":702},{"id":783,"depth":512,"text":784},{"id":809,"depth":512,"text":810},{"id":847,"depth":501,"text":848},{"id":892,"depth":501,"text":893},{"id":1029,"depth":501,"text":1030},{"id":1045,"depth":501,"text":1046},"XRPL 기반 결제(에스크로\u002FPoF) 시연·검증을 위한 빠른 시작 가이드","guide","tflowx.com","md",null,{"wallet-activation":1104,"troubleshooting":1110},{"messageKeys":1105,"kind":1109},[1106,1107,1108],"xrpl.noPrimaryWallet","xrpl.walletNotFound","xrpl.insufficientWalletBalance","task",{"messageKeys":1111,"kind":1116},[1112,1113,1114,1115],"xrpl.sellerTrustLineMissing","xrpl.escrowModeMismatch","xrpl.operationInProgress","xrpl.txAlreadyUsed","troubleshooting",{},{"title":142},"app-xrpl-quickstart",{"title":142,"description":1098},[1122,1123,1124,1125,1126],"XRPL","결제","에스크로","PoF","Devnet","g5KTV322OoNffX6ekryIvThznYdV4hnxG1I2bgEwdFw",1792835668674]