PageSourceSearch

https://docs-buhogo.netlify.app/assets/DeveloperGuide-DXkhJbPI.js

js docs-buhogo.netlify.app collected 2026-10-03 10:40:10 UTC 8,052 bytes, 1 lines download raw bytes

1import{C as c}from"./Card-B1HR1SGn.js";import{B as p}from"./Button-COefH-WI.js";import{_ as u,I as v,c as m,a as e,d as s,e as g,r as l,w as a,o as h,b as n}from"./index-CZlSjks0.js";import{P as f}from"./PageHeader-BgZ6sk5m.js";const b={name:"DeveloperGuide",components:{Card:c,Button:p,Icon:v,PageHeader:f}},y={class:"developer-guide"},k={class:"container"},x={class:"section"},_={class:"grid grid-2"},w={class:"action-icon"},S={class:"action-icon"},z={class:"section"},B={class:"grid grid-3"},C={class:"contrib-icon"},D={class:"contrib-icon"},G={class:"contrib-icon"},P={class:"section"},H={class:"section"},I={class:"grid grid-2"},R={class:"developer-info"},O={class:"developer-avatar"},V={class:"developer-links"},E={class:"developer-info"},T={class:"developer-avatar"},A={class:"developer-links"};function L(q,t,F,K,M,N){const d=l("PageHeader"),o=l("Icon"),r=l("Button"),i=l("Card");return h(),m("div",y,[e("div",k,[s(d,{title:"Developer Guide",subtitle:"BuhoGO is open source and welcomes contributions from the community",icon:"code"}),e("section",x,[e("div",_,[s(i,{class:"action-card"},{default:a(()=>[e("div",w,[s(o,{name:"github",size:"xl"})]),t[1]||(t[1]=e("h3",null,"View Source Code",-1)),t[2]||(t[2]=e("p",{class:"text-secondary"}," Explore the codebase, review the architecture, and understand how everything works. All code is available under an open source license. ",-1)),s(r,{variant:"primary",size:"lg",href:"https://github.com/Buho-Ecosystem/Buho_go",target:"_blank",class:"mt-2"},{default:a(()=>[s(o,{name:"github",size:"sm"}),t[0]||(t[0]=n(" Visit GitHub ",-1))]),_:1})]),_:1}),s(i,{class:"action-card"},{default:a(()=>[e("div",S,[s(o,{name:"spark",size:"xl"})]),t[4]||(t[4]=e("h3",null,"Support Development",-1)),t[5]||(t[5]=e("p",{class:"text-secondary"}," Help fund BuhoGO development through our Geyser Fund campaign. Your support helps us build new features and maintain the project. ",-1)),s(r,{variant:"primary",size:"lg",href:"https://geyser.fund/project/buhogo",target:"_blank",class:"mt-2"},{default:a(()=>[s(o,{name:"spark",size:"sm"}),t[3]||(t[3]=n(" Support on Geyser ",-1))]),_:1})]),_:1})])]),e("section",z,[t[13]||(t[13]=e("h2",{class:"section-title text-center"},"Contributing",-1)),e("div",B,[s(i,{class:"contrib-card"},{default:a(()=>[e("div",C,[s(o,{name:"code",size:"lg"})]),t[6]||(t[6]=e("h3",null,"Submit Code",-1)),t[7]||(t[7]=e("p",{class:"text-secondary"}," Found a bug or want to add a feature? Open a Pull Request on GitHub with your changes. ",-1))]),_:1}),s(i,{class:"contrib-card"},{default:a(()=>[e("div",D,[s(o,{name:"book",size:"lg"})]),t[8]||(t[8]=e("h3",null,"Feature Requests",-1)),t[9]||(t[9]=e("p",{class:"text-secondary"}," Have an idea for a new feature? Open an issue on GitHub to discuss it with the community. ",-1))]),_:1}),s(i,{class:"contrib-card"},{default:a(()=>[e("div",G,[s(o,{name:"payment",size:"lg"})]),t[10]||(t[10]=e("h3",null,"Report Issues",-1)),t[11]||(t[11]=e("p",{class:"text-secondary"}," Found a bug or problem? Let us know by creating an issue on the GitHub repository. ",-1))]),_:1})]),s(i,{class:"steps-card"},{default:a(()=>[...t[12]||(t[12]=[e("h3",null,"How to Contribute",-1),e("div",{class:"contribution-steps"},[e("div",{class:"step"},[e("div",{class:"step-badge"},"1"),e("div",{class:"step-text"},[e("strong",null,"Fork the Repository"),e("p",{class:"text-secondary"},"Clone the BuhoGO repository to your GitHub account")])]),e("div",{class:"step"},[e("div",{class:"step-badge"},"2"),e("div",{class:"step-text"},[e("strong",null,"Make Your Changes"),e("p",{class:"text-secondary"},"Implement your bug fix, feature, or improvement")])]),e("div",{class:"step"},[e("div",{class:"step-badge"},"3"),e("div",{class:"step-text"},[e("strong",null,"Open a Pull Request"),e("p",{class:"text-secondary"},"Submit your changes for review by the maintainers")])])],-1)])]),_:1})]),t[24]||(t[24]=g('<section class="section" data-v-ccce6989><h2 class="section-title text-center" data-v-ccce6989>Tech Stack</h2><div class="tech-grid" data-v-ccce6989><div class="tech-item" data-v-ccce6989><strong data-v-ccce6989>Vue 3</strong><span class="text-secondary" data-v-ccce6989>Reactive framework</span></div><div class="tech-item" data-v-ccce6989><strong data-v-ccce6989>Quasar</strong><span class="text-secondary" data-v-ccce6989>UI components</span></div><div class="tech-item" data-v-ccce6989><strong data-v-ccce6989>Pinia</strong><span class="text-secondary" data-v-ccce6989>State management</span></div><div class="tech-item" data-v-ccce6989><strong data-v-ccce6989>
1Capacitor</strong><span class="text-secondary" data-v-ccce6989>Mobile deployment</span></div><div class="tech-item" data-v-ccce6989><strong data-v-ccce6989>@breeztech/breez-sdk-spark</strong><span class="text-secondary" data-v-ccce6989>Spark wallet engine (Breez SDK)</span></div><div class="tech-item" data-v-ccce6989><strong data-v-ccce6989>@getalby/sdk</strong><span class="text-secondary" data-v-ccce6989>NWC integration</span></div></div></section>',1)),e("section",P,[t[15]||(t[15]=e("h2",{class:"section-title text-center"},"Spark on the Breez SDK",-1)),t[16]||(t[16]=e("p",{class:"section-subtitle text-center"}," One engine for Lightning, Spark transfers, and on-chain Bitcoin ",-1)),s(i,{class:"l1-arch-card"},{default:a(()=>[...t[14]||(t[14]=[e("h3",null,"Architecture Overview",-1),e("p",null,[n(" Spark wallets run on the Breez SDK (Spark edition): the provider in "),e("code",null,"BreezSparkWalletProvider"),n(" drives balances, invoices, zero-fee Spark transfers, the Lightning address at "),e("code",null,"btc.mybuho.de"),n(", and native on-chain support with instant 0-conf deposits where available. A per-wallet engine registry keeps exactly one live SDK per wallet and self-heals dropped connections. The conceptual L1 surface stays the same: ")],-1),e("div",{class:"l1-methods"},[e("div",{class:"method-item"},[e("code",null,"getL1DepositAddress()"),e("span",null,"Returns bc1p... P2TR deposit address")]),e("div",{class:"method-item"},[e("code",null,"getPendingDeposits()"),e("span",null,"Monitors for incoming on-chain deposits")]),e("div",{class:"method-item"},[e("code",null,"claimDeposit(txId, quote)"),e("span",null,"Claims confirmed deposit to Spark balance")]),e("div",{class:"method-item"},[e("code",null,"withdrawToL1(options)"),e("span",null,"Sends to any Bitcoin address")])],-1),e("p",{class:"text-secondary",style:{"margin-top":"1rem"}},[n(" Uses mempool.space API for UTXO monitoring and fee estimation. Deposits credit instantly at 0-conf when the SSP offers an instant plan; otherwise they claim after 3 confirmations. Release builds require "),e("code",null,"VITE_BREEZ_API_KEY"),n("; without it no Spark wallet can connect. ")],-1)])]),_:1})]),e("section",H,[t[23]||(t[23]=e("h2",{class:"section-title text-center"},"Built By",-1)),e("div",I,[s(i,{class:"developer-card"},{default:a(()=>[e("div",R,[e("div",O,[s(o,{name:"code",size:"lg"})]),t[17]||(t[17]=e("div",null,[e("h3",null,"DoktorShift"),e("p",{class:"text-secondary"},"Core Developer & Maintainer")],-1))]),e("div",V,[s(r,{variant:"outline",href:"https://drshift.dev",target:"_blank"},{default:a(()=>[s(o,{name:"home",size:"sm"}),t[18]||(t[18]=n(" Website ",-1))]),_:1}),s(r,{variant:"outline",href:"https://github.com/DoktorShift",target:"_blank"},{default:a(()=>[s(o,{name:"github",size:"sm"}),t[19]||(t[19]=n(" GitHub ",-1))]),_:1})])]),_:1}),s(i,{class:"developer-card"},{default:a(()=>[e("div",E,[e("div",T,[s(o,{name:"code",size:"lg"})]),t[20]||(t[20]=e("div",null,[e("h3",null,"Pratik227"),e("p",{class:"text-secondary"},"Core Developer & Maintainer")],-1))]),e("div",A,[s(r,{variant:"outline",href:"https://pratik-patel.netlify.app",target:"_blank"},{default:a(()=>[s(o,{name:"home",size:"sm"}),t[21]||(t[21]=n(" Website ",-1))]),_:1}),s(r,{variant:"outline",href:"https://github.com/Pratik227",target:"_blank"},{default:a(()=>[s(o,{name:"github",size:"sm"}),t[22]||(t[22]=n(" GitHub ",-1))]),_:1})])]),_:1})])])])])}const j=u(b,[["render",L],["__scopeId","data-v-ccce6989"]]);export{j as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.