1"use strict";(globalThis.webpackChunksui_dapp_starter_dev=globalThis.webpackChunksui_dapp_starter_dev||[]).push([[8652],{7311:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>r,toc:()=>s});const r=JSON.parse('{"id":"frontend/deployment/arweave","title":"Arweave","description":"To deploy the frontend part of a Sui dApp Starter project to Arweave Permaweb, do the following:","source":"@site/docs/frontend/deployment/arweave.md","sourceDirName":"frontend/deployment","slug":"/frontend/deployment/arweave","permalink":"/docs/frontend/deployment/arweave","draft":false,"unlisted":false,"editUrl":"https://github.com/suiware/sui-dapp-starter.dev/tree/main/docs/frontend/deployment/arweave.md","tags":[],"version":"current","frontMatter":{"position":2},"sidebar":"tutorialSidebar","previous":{"title":"Deployment","permalink":"/docs/category/deployment"},"next":{"title":"Firebase","permalink":"/docs/frontend/deployment/firebase"}}');var a=n(7259),o=n(9796);const l={position:2},i="Arweave",d={},s=[{value:"Preparation",id:"preparation",level:2},{value:"1. Create a walled and top it up",id:"1-create-a-walled-and-top-it-up",level:3},{value:"2. Export wallet keyfile",id:"2-export-wallet-keyfile",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Links",id:"links",level:2}];function p(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"arweave",children:"Arweave"})}),"\n",(0,a.jsx)(t.p,{children:"To deploy the frontend part of a Sui dApp Starter project to Arweave Permaweb, do the following:"}),"\n",(0,a.jsx)(t.h2,{id:"preparation",children:"Preparation"}),"\n",(0,a.jsx)(t.h3,{id:"1-create-a-walled-and-top-it-up",children:"1. Create a walled and top it up"}),"\n",(0,a.jsx)(t.p,{children:"Some of the Arweave wallets are Arweave.app Web Wallet and ArConnect (browser plugin). Choose one and create a new wallet there if you don't yet have one."}),"\n",(0,a.jsx)(t.p,{children:"Then buy some amount of AR coins for example on a centralized exchange and put it to your newly created wallet address."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.em,{children:"It should take 0.02 AR approximately to deploy a small app (1.5Mb). Please note this amount may vary."})}),"\n",(0,a.jsx)(t.h3,{id:"2-export-wallet-keyfile",children:"2. Export wallet keyfile"}),"\n",(0,a.jsxs)(t.p,{children:["Through your Arweave wallet settings, export your Arweave keyfile and save as ",(0,a.jsx)(t.code,{children:"arweave-keyfile.json"})," in the ",(0,a.jsx)(t.code,{children:"/packages/frontend/"})," folder of your project, created with Sui dApp Starter."]}),"\n",(0,a.jsx)(t.admonition,{type:"warning",children:(0,a.jsxs)(t.p,{children:["We added the ",(0,a.jsx)(t.code,{children:"arweave-keyfile.json"})," file name to ",(0,a.jsx)(t.code,{children:".gitignore"}),", so that you don't push it to Git accidentally.\nHowever if you want to use your custom file name, make sure you have added it to ",(0,a.jsx)(t.code,{children:".gitignore"}),".\nRemember to never push your keyfiles to Git!"]})}),"\n",(0,a.jsx)(t.h2,{id:"deployment",children:"Deployment"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-bash",children:"pnpm frontend:deploy:arweave\n"})}),"\n",(0,a.jsx)(t.h2,{id:"links",children:"Links"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://www.arweave.org/",children:"Arweave Site"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://docs.arweave.org/developers/wallets/wallet-faq",children:"Arweave Wallets FAQ"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://cookbook.arweave.dev/guides/deployment/arkb.html",children:"Arweave Documentation: arkb"})}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},9796:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>i});var r=n(6363);const a={},o=r.createContext(a);function l(e){const t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]);
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.