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