PageSourceSearch

https://aiozpin.network/docs/_next/static/chunks/pages/quick-start-62aeee509fc1f2be.js

js aiozpin.network collected 2026-10-08 01:05:58 UTC 30,412 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[122],{4017:function(e,s,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/quick-start",function(){return n(2122)}])},2122:function(e,s,n){"use strict";n.r(s),n.d(s,{__toc:function(){return i}});var l=n(5250),r=n(7147),o=n(7298),a=n(8363);let i=[{depth:2,value:"Introduction",id:"introduction"},{depth:2,value:"Steps to Use Our Product",id:"steps-to-use-our-product"},{depth:3,value:"Step 1: Creating an AIOZ Pin Account",id:"step-1-creating-an-aioz-pin-account"},{depth:3,value:"Step 2: Top up AIOZ",id:"step-2-top-up-aioz"},{depth:3,value:"Step 3: Uploading a File via the Website",id:"step-3-uploading-a-file-via-the-website"},{depth:3,value:"Step 4: Getting a Free API Key",id:"step-4-getting-a-free-api-key"},{depth:3,value:"Step 5: Uploading Files & Directories via the AIOZ Pin SDK API",id:"step-5-uploading-files--directories-via-the-aioz-pin-sdk-api"},{depth:3,value:"See Also",id:"see-also"}];function t(e){let s=Object.assign({h1:"h1",p:"p",h2:"h2",a:"a",h3:"h3",strong:"strong",ol:"ol",li:"li",pre:"pre",code:"code",span:"span",ul:"ul"},(0,o.a)(),e.components);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h1,{children:"Quick start"}),"\n",(0,l.jsx)(a.UW,{type:"info",emoji:"",children:(0,l.jsx)(s.p,{children:"This document will guide you through the quick start process to help you get\nstarted with our AIOZ Pin service. Let's dive in!"})}),"\n",(0,l.jsx)(s.h2,{id:"introduction",children:"Introduction"}),"\n",(0,l.jsxs)(s.p,{children:["Welcome to AIOZ Pin Infrastructure, the revolutionary one-stop shop for all your NFT (Non-Fungible Token) storage, and pinning needs. Our platform combines the power of AIOZ Network and ",(0,l.jsx)(s.a,{href:"./concepts/ipfs-protocol",children:"IPFS"})," to provide a comprehensive solution for managing your valuable digital assets."]}),"\n",(0,l.jsx)(s.p,{children:"AIOZ Pin Infrastructure offers a cutting-edge infrastructure that ensures the integrity, accessibility, and long-term preservation of your NFTs. Whether you are an artist, collector, or developer, our service is designed to simplify the complex process of managing NFT files and data."}),"\n",(0,l.jsxs)(s.p,{children:["With AIOZ Pin, you can easily create an account, upload files, and interact with our service through a user-friendly website or programmatically via our powerful ",(0,l.jsx)(s.a,{href:"./sdk",children:"SDK API"}),". Whether you need to store individual NFT files or entire directories, our platform ensures secure and efficient storage."]}),"\n",(0,l.jsx)(s.h2,{id:"steps-to-use-our-product",children:"Steps to Use Our Product"}),"\n",(0,l.jsx)(s.p,{children:"Follow the step-by-step instructions below to quickly set up and start using the AIOZ Pin service."}),"\n",(0,l.jsx)(s.h3,{id:"step-1-creating-an-aioz-pin-account",children:"Step 1: Creating an AIOZ Pin Account"}),"\n",(0,l.jsxs)(s.p,{children:["To begin, you need to sign in to AIOZ Pin. Visit the ",(0,l.jsx)(s.a,{href:"https://aiozpin.network/signin",children:(0,l.jsx)(s.strong,{children:"AIOZ Pin sign in page"})})," and follow the provided instructions to set up your account."]}),"\n",(0,l.jsxs)("figure",{children:[(0,l.jsx)("img",{src:"https://aiozpin.network/docs/.gitbook/assets/aioz-ipfs-auth-login.png",alt:""}),(0,l.jsx)("figcaption",{children:(0,l.jsx)("p",{children:"AIOZ Pin sign in page"})})]}),"\n",(0,l.jsx)(s.h3,{id:"step-2-top-up-aioz",children:"Step 2: Top up AIOZ"}),"\n",(0,l.jsxs)(s.p,{children:["Navigate to the ",(0,l.jsx)(s.strong,{children:"Payment"})," tab. A payment address and QR code will be displayed. Take note of the address or scan the QR code using your wallet application. Use your wallet to send the desired amount of AIOZ tokens to the provided address. Wait for a few minutes while the transaction is confirmed. Pricing and billing rules are on the ",(0,l.jsx)(s.a,{href:"./payment",children:"Payment"})," page."]}),"\n",(0,l.jsx)(s.p,{children:"Once the transaction is confirmed, the status of the transaction will be displayed in your account. You will be able to see the details of the transaction, including the transaction ID."}),"\n",(0,l.jsxs)("figure",{children:[(0,l.jsx)("img",{src:"https://aiozpin.network/docs/.gitbook/assets/aioz-ipfs-billing-tag-month-usage.png",alt:""}),(0,l.jsx)("figcaption",{})]}),"\n",(0,l.jsx)(s.h3,{id:"step-3-uploading-a-file-via-the-website",children:"Step 3: Uploading a File via the Website"}),"\n",(0,l.jsxs)(s.p,{children:["Once you have an account, you can easily ",(0,l.jsx)(s.a,{href:"https://aiozpin.network/dashboard/files",children:(0,l.jsx)(s.strong,{children:"Upload files using our website"})}),". From there, you can select the file you want to upload and initiate the upload process."]}),"\n",(0,l.jsxs)(s.p,{children:["Click on the ",(0,l.jsx)(s.strong,{children:"+ Add files"})," button located in the top right corner of the website interface. Select ",(0,l.jsx)(s.strong,{children:"Upload"}),"."]}),"\n",(0,l.jsxs)("figure",{children:[(0,l.jsx)("img",{src:"https://aiozpin.network/docs/.gitbook/assets/aioz-ipfs-dashboard-ipfs-files.png",alt:""}),(0,l.jsx)("figcaption",{})]}),"\n",(0,l.jsxs)(s.p,{children:["To upload files, drag and drop the files you want to upload from your computer directly into the website. Alternatively, click on the file selection area to browse your computer and select the files you wish to upload. Click on the ",(0,l.jsx)(s.strong,{children:"Upload"})," button to initiate the upload process"]}),"\n",(0,l.jsxs)("figure",{children:[(0,l.jsx)("img",{src:"https://aiozpin.network/docs/.gitbook/assets/aioz-ipfs-dashboard-ipfs-files-1.png",alt:""}),(0,l.jsx)("figcaption",{})]}),"\n",(0,l.jsx)(s.h3,{id:"step-4-getting-a-free-api-key",children:"Step 4: Getting a Free API Key"}),"\n",(0,l.jsxs)(s.p,{children:["AIOZ Pin offers ",(0,l.jsx)(s.a,{href:"./aioz-pin-api/apikeys",children:"developer keys"}
1)," for various scenarios. The most common scenario is normal IPFS actions (pinning content, unpinning, listing content, etc). You can access and create your AIOZ Pin API keys here: ",(0,l.jsx)(s.a,{href:"https://aiozpin.network/dashboard/api-keys",children:(0,l.jsx)(s.strong,{children:"AIOZ Pin Pinning API Keys Page"})})]}),"\n",(0,l.jsxs)("figure",{children:[(0,l.jsx)("img",{src:"https://aiozpin.network/docs/.gitbook/assets/aioz-ipfs-dashboard-api-keys.png",alt:""}),(0,l.jsx)("figcaption",{})]}),"\n",(0,l.jsxs)(s.p,{children:["Enter a key name for your API Key and click ",(0,l.jsx)(s.strong,{children:"Create"})]}),"\n",(0,l.jsxs)(s.p,{children:["Make a note of the ",(0,l.jsx)(s.strong,{children:"Token"})," field somewhere secure where you know you won't lose it. You can click ",(0,l.jsx)(s.strong,{children:"Copy"})," to copy your new API token to your clipboard."]}),"\n",(0,l.jsx)(s.h3,{id:"step-5-uploading-files--directories-via-the-aioz-pin-sdk-api",children:"Step 5: Uploading Files & Directories via the AIOZ Pin SDK API"}),"\n",(0,l.jsxs)(s.ol,{children:["\n",(0,l.jsx)(s.li,{children:"Create a new project by making a new directory and initializing a new project using npm. Open your terminal and run the following commands:"}),"\n"]}),"\n",(0,l.jsx)(s.pre,{"data-language":"shell","data-theme":"default",hasCopyCode:!0,children:(0,l.jsxs)(s.code,{"data-language":"shell","data-theme":"default",children:[(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"mkdir"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"aioz-pin"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#56B6C2"},children:"cd"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"aioz-pin"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"npm"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"init"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#D19A66"},children:"-y"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"npm"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"pkg"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"set"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"type=module"})]})]})}),"\n",(0,l.jsxs)(s.p,{children:["The SDK is an ES module, so ",(0,l.jsx)(s.code,{children:"type=module"})," lets your project use ",(0,l.jsx)(s.code,{children:"import"}),"."]}),"\n",(0,l.jsxs)(s.ol,{start:"2",children:["\n",(0,l.jsxs)(s.li,{children:["Add the ",(0,l.jsx)(s.code,{children:"@aioznetwork/aioz-pin-sdk"})," client to your project dependencies."]}),"\n"]}),"\n",(0,l.jsx)(s.pre,{"data-language":"shell","data-theme":"default",hasCopyCode:!0,children:(0,l.jsx)(s.code,{"data-language":"shell","data-theme":"default",children:(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"npm"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"install"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"@aioznetwork/aioz-pin-sdk"})]})})}),"\n",(0,l.jsxs)(s.ol,{start:"3",children:["\n",(0,l.jsxs)(s.li,{children:["Create a file called ",(0,l.jsx)(s.code,{children:"pinToIPFS.js"})," and open it with your code editor. Use the ",(0,l.jsx)(s.code,{children:"client.pinFilesToIPFS"})," method to pin one or more files to IPFS, passing in an array of file paths and an options object"]}),"\n"]}),"\n",(0,l.jsx)(s.pre,{"data-language":"javascript","data-theme":"default",hasCopyCode:!0,children:(0,l.jsxs)(s.code,{"data-language":"javascript","data-theme":"default",children:[(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"import"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"}
1,children:" AIOZPinClient "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"from"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'@aioznetwork/aioz-pin-sdk'"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:";"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"import"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" fs "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"from"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'fs'"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:";"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:" "}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"let"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" client "}),(0,l.jsx)(s.span,{style:{color:"#56B6C2"},children:"="}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"new"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"AIOZPinClient"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"}
1,children:'"key"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:", "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"secret-key"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:")"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"const"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"options"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#56B6C2"},children:"="}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" {"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    metadata: {"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"        name: "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"MyCustomName"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:","})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"        keyvalues: {"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"            customKey: "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'customValue'"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:","})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"            customKey2: "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'customValue2'"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"        }"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    }"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"};"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"client"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"pinFilesToIPFS"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"({ filePaths: ["}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'./test.png'"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"], options })."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"then"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(("}),(0,l.jsx)(s.span,{style:{color:"#C478FF",fontStyle:"italic"},children:"result"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:") "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"=>"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" {"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"console"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"log"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(result);"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"})."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"catch"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(("}),(0,l.jsx)(s.span,{style:{color:"#C478FF",fontStyle:"italic"},children:"err"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:") "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"=>"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" {"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"console"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"log"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(err);"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"})"})})]})}),"\n",(0,l.jsxs)(s.p,{children:["To pin a folder, use the ",(0,l.jsx)(s.code,{children:"client.pinFolderToIPFS"})," method, providing the path to the folder as ",(0,l.jsx)(s.code,{children:"sourcePath"}),". In this example, we're pinning a folder named ",(0,l.jsx)(s.code,{children:"folder"}),":"]}),"\n",(0,l.jsx)(s.pre,{"data-language":"javascript","data-theme":"default",hasCopyCode:!0,children:(0,l.jsxs)(s.code,{"data-language":"javascript","data-theme":"default",children:[(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"client"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"pinFolderToIPFS"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"({ sourcePath: "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'./folder'"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:", options })."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"then"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(("}),(0,l.jsx)(s.span,{style:{color:"#C478FF",fontStyle:"italic"},children:"result"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:") "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"=>"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" {"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"console"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"log"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(result);"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"})."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"catch"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(("}),(0,l.jsx)(s.span,{style:{color:"#C478FF",fontStyle:"italic"},children:"err"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:") "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"=>"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" {"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"console"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"log"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(err);"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"});"})})]})}),"\n",(0,l.jsx)(s.p,{children:"To pin NFT using the AIOZ Pin service"}),"\n",(0,l.jsx)(s.pre,{"data-language":"javascript","data-theme":"default",hasCopyCode:!0,children:(0,l.jsxs)(s.code,{"data-language":"javascript","data-theme":"default",children:[(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"const"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"readableStreamForMetadata"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#56B6C2"},children:"="}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"fs"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"createReadStream"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'./sample.json'"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:");"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"const"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"readableStreamForFile"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#56B6C2"},children:"="}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"fs"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"createReadStream"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:"'./test.png'"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:");"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:" "}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"client"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"pinNftByStreamMetadata"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"({ fileStream: readableStreamForFile, metadataStream: readableStreamForMetadata })"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"then"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(("}),(0,l.jsx)(s.span,{style:{color:"#C478FF",fontStyle:"italic"},children:"result"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:") "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"=>"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" {"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"console"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"log"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(result);"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"})."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"catch"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(("}),(0,l.jsx)(s.span,{style:{color:"#C478FF",fontStyle:"italic"},children:"err"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:") "}),(0,l.jsx)(s.span,{style:{color:"#FF32C6"},children:"=>"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:" {"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#FFAC60"},children:"console"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#3FA4FF"},children:"log"}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"(err);"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"});"})})]})}),"\n",(0,l.jsxs)(s.p,{children:["In this example, the ",(0,l.jsx)(s.code,{children:"sample.json"})," file represents the metadata for the NFT. Here's a breakdown of the fields:"]}),"\n",(0,l.jsx)(s.pre,{"data-language":"json","data-theme":"default",hasCopyCode:!0,children:(0,l.jsxs)(s.code,{"data-language":"json","data-theme":"default",children:[(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"{"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:'"name"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:": "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"My Awesome NFT"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:","})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:'"description"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:": "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"This is an NFT that represents my creativity as a digital artist!"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:","})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    "}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:'"properties"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:": ["})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"        {"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"            "}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:'"trait_type"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:": "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"Color"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:","})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"            "}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:'"value"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:": "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"Red"'})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"        },"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"        {"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"            "}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:'"trait_type"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:": "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"Rarity"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:","})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"            "}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:'"value"'}),(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:": "}),(0,l.jsx)(s.span,{style:{color:"#1AC69C"},children:'"Medium"'})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"        }"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"    ]"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C478FF"},children:"}"})})]})}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:'"name"'}),": The name of the NFT."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:'"description"'}),": A description that provides information about the NFT."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:'"properties"'}),": An array of properties or traits associated with the NFT."]}),"\n"]}),"\n",(0,l.jsxs)(s.p,{children:["Feel free to modify the ",(0,l.jsx)(s.code,{children:"sample.json"})," file according to your specific NFT metadata requirements. You can add or remove fields and customize the values to accurately represent your NFT."]}),"\n",(0,l.jsxs)(s.p,{children:["By running this code, you can utilize the ",(0,l.jsx)(s.code,{children:"@aioznetwork/aioz-pin-sdk"})," package to interact with the AIOZ Pin service and pin files and folders to IPFS. Customize the code according to your specific requirements, including providing the appropriate API key and secret key, specifying the file/folder paths, and adjusting the options and metadata fields as 
1needed."]}),"\n",(0,l.jsx)(s.h3,{id:"see-also",children:"See Also"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"./sdk",children:"SDKs"})," - the Node.js SDK and the pinning CLI."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"./aioz-pin-api",children:"AIOZ Pin API"})," - the full REST API reference."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"./tutorials/getting-upload-status",children:"Getting upload status"})," - check that an upload finished."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"./limit",children:"Limit"})," - rate limits for the API and gateways."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"./faq",children:"FAQ"})," - common questions about pinning."]}),"\n"]})]})}s.default=(0,r.j)({MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}=Object.assign({},(0,o.a)(),e.components);return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(t,{...e})}):t(e)},pageOpts:{filePath:"pages/quick-start.mdx",route:"/quick-start",title:"Quick start",headings:i},pageNextRoute:"/quick-start"})},7147:function(e,s,n){"use strict";n.d(s,{j:function(){return C}});var l,r=n(4619),o=n.n(r),a=n(4594);n(529);var i=n(79);n(7298);var t=n(5250),c=(0,i.createContext)(!1),d=n(7225);function p({__nextra_pageMap:e,__nextra_dynamic_opts:s,...n}){let{context:l,Layout:r}=function(){let e=globalThis[a.eZ],{route:s}=(0,d.useRouter)();(0,i.useState)({})[1];let n=e.context[s];if(!n)throw Error("No content found for the current route. This is a Nextra bug.");return{context:n,Layout:e.Layout}}(),{Content:o,...p}=l;if(e&&(p.pageOpts={...p.pageOpts,pageMap:e}),s){let{headings:e,title:n,frontMatter:l}=JSON.parse(s);p.pageOpts={...p.pageOpts,headings:e,title:n,frontMatter:l}}return(0,t.jsx)(r,{...p,pageProps:n,children:(0,t.jsx)(c.Provider,{value:n,children:(0,t.jsx)(o,{...n})})})}var h=n(1363),F=n(9199),j=n(439);function x(e){return j(e.replaceAll(/[-_]/g," "))}function y(e){return!!e&&"object"==typeof e&&"folder"===e.type}function u(e){return Object.fromEntries(Object.entries(e).map(([e,s])=>{if(y(s)){let n=e.replace("/","");return[n,s.title||x(n)]}return[e,s||x(e)]}))}function C({pageNextRoute:e,pageOpts:s,nextraLayout:n,themeConfig:r,MDXContent:i,hot:t,pageOptsChecksum:c,dynamicMetaModules:d=[]}){var j;"undefined"==typeof window&&(globalThis.__nextra_resolvePageMap=async()=>{if(l)return l;let e=JSON.parse(JSON.stringify(x.pageMap));return await Promise.all(d.map(async([s,{metaObjectKeyPath:n,metaParentKeyPath:l}])=>{let r=await s,a=await r.default(),i=o()(e,n);i.data=a;let t=o()(e,l);!function e(s,n,l=!0){if(l){e(s,{kind:"Meta",data:n.data,locale:n.locale},!1),n.data=u(n.data);return}for(let[l,o]of Object.entries(n.data)){if(!y(o)){var r;if("*"===l)continue;s.children.push({kind:"MdxPage",...n.locale&&{locale:n.locale},name:l,route:(r=s.route,F(h.join(r,l.replace(/^index$/,""))))});continue}let a=l.replace("/",""),i={kind:"Folder",name:a,route:`${s.route}/${a}`,children:[{kind:"Meta",...n.locale&&{locale:n.locale},data:u(o.items)}]};s.children.push(i),e(i,{kind:"Meta",data:o.items,locale:n.locale},!1)}}(t,i)})),l=e});let x=globalThis[j=a.eZ]||(globalThis[j]=Object.create(null));return s.pageMap?(x.pageMap=s.pageMap,x.Layout=n):(s={...s,pageMap:x.pageMap,flexsearch:x.flexsearch},r=x.themeConfig),s={frontMatter:{},...s},x.route=s.route,x.context||(x.context=Object.create(null)),x.context[e]={Content:i,pageOpts:s,themeConfig:r},p}}},function(e){e.O(0,[842,774,888,179],function(){return e(e.s=4017)}),_N_E=e.O()}]);

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.