Itheum Docs
  • 👋Getting Started
  • Infrastructure
    • 🚆AI Data Workforce
      • Token Utility for the AI Data Workforce
      • Join the Workforce
      • Liveliness Staking Rewards
    • 🖼️Data NFT
      • Data NFT Types
        • Data NFT-FT
        • Data NFT-LEASE
        • Data NFT-PH (Plug-In Hybrid)
      • Data NFT Generative Image Tool
    • 🤖NFMe ID Vaults
    • 🔋Liveliness - On-Chain Reputation
      • Data Creator Liveliness Bonding
        • Liveliness Score States
      • Liveliness Staking
      • FAQ - Liveliness staking
    • 🔓Data Marshal Network
  • Apps
    • 🔥<BiTz> XP System
      • Bonus BiTz for protocol usage
    • 💹Data NFT Marketplace
      • Listing a Data NFT
      • Procuring a Data NFT
      • FAQ - Data NFT Marketplace
    • 📡Data DEX
      • Minting a Data NFT
        • Store Data and Mint a Data NFT - Step-by-Step Tutorial
        • Creator Donations For Community Airdrops
      • Using the claims Portal
      • CanaryNet Guardrails
        • Guardrail : Trading Data NFTs on 3rd Party NFT Marketplaces
    • 🔍Itheum Explorer
  • Integrators
    • 🔋Liveliness Staking Guides
      • Liveliness Staking Guide : Solana
      • Liveliness Staking Guide : MultiversX
    • 📙Data Streams Guides
      • Data Asset Storage Options
      • Data Stream URL Rules
      • Zedge Storage
        • Static File on IPFS
        • Dymamic File on IPFS + DNS Link
        • Dymamic File on IPFS + IPNS
        • Music Data NFT Compatible Dynamic Data Stream on IPFS + IPNS
        • Trailblazer Data NFT Compatible Dynamic Data Stream on IPFS + IPNS
      • Amazon Web Services (AWS)
        • Storage : AWS S3
          • Data NFT Streaming Automation - Multiple files
          • Manual upload of file to AWS for Data NFT Streaming
          • Data NFT Streaming Automation - Trailblazer
        • Hosting : AWS S3 + Cloudflare
          • Task 1: Use a domain name to "sit in front" of your AWS S3 Bucket Public URL
          • Task 2: Convert your AWS S3 Bucket into a "website"
          • Task 3: Use Cloudflare to connect your Domain Name to your S3 Bucket securely
          • Troubleshooting
      • Akord - Arweave blockchain
      • MultiversX Native Auth Protected API
    • 📗Data DEX Guides
      • MultiversX Blockchain
        • Guide 1 : Get Started with the Data DEX on MultiversX
          • Section 1: Setting up wallets on the MultiversX Blockchain - Devnet
          • Section 2: Getting xEGLD Gas tokens to pay for transactions - MultiversX Devnet
          • Section 3: Getting ITHEUM devnet tokens via the Data DEX - MultiversX Devnet
        • Guide 2: Get Started with Itheum Enterprise
        • Itheum Ecosystem Actions Catalogue
      • Astar Network
        • Guide 1 : Get Started with the Data DEX on Astar Network
          • Section 1: Setting up wallets on Astar Network - Shibuya Testnet
          • Section 2: Getting ITHEUM devnet tokens via the Data DEX - Shibuya Testnet
        • Guide 2 : Procure Data NFTs from the peer-to-peer Data NFT Marketplace on Astar Network
        • Guide 3: Use the “Web3 Gamer Passport” App on the Astar Network to trade your PlayStation Data
    • 💳Supported Wallets
      • MultiversX DeFi Wallet
      • Ledger Wallet
      • xPortal Wallet
      • xAlias (Login with Google)
    • 📕Trailblazer Guides
      • How to Acquire a Trailblazer
      • How to view a Trailblazer
      • How to List a Trailblazer
    • 📘Data Coalition DAOs (DC DAOs) Guides
      • Appointer > Delegator Pattern for Data NFT "Deputizing"
  • Developers
    • 👨‍💻Software Development Kits (SDKs)
      • Data NFT SDK
        • Guide 1 : Minting a Custom Data NFT Collection with Authenticated Data Streams (via SDK)
        • Guide 2 : Unlocking Data NFTs via MultiversX Native Auth
        • Guide 3 : Using Nested Streams to Access Nested Data Assets from a Primary Data Stream
        • Guide 4: Use the Data NFT "Deputy" Feature to delegate access of your Data NFTs to a Smart Contract
        • Guide 5: Preparing a Data Stream containing a password to protect a URL
      • Enterprise SDK
        • Guide 1 : Using Itheum Enterprise to Mint a Data NFT Collection (e.g. NFT Loyalty Card Solution)
      • Data Marshal Network SDK
        • Guide 1 : Make your Regular NFT Collection to be Data NFT-PH Compatible
    • 🥋Data Marshal Network
      • Data Marshal Node Gateway Endpoints
      • Data Marshal Transit Flags and Headers
    • 🛂Tech Support - Discord
      • Portal Bridge Support
    • 🛒Release Notes
      • Data DEX
      • Itheum Explorer
      • Data NFT SDK
      • Enterprise SDK
      • Data Marshal Network
    • 🔐Security
      • 🐞Bug Bounty
      • ℹ️Security Audit
  • Protocol
    • $ITHEUM Token
    • 🌉Token Bridge
      • FAQ - Omni-Chain Portal Bridge
      • $ITHEUM Token Multi-Chain Max Supply Rebalancing Transactions Audit
    • 🏆Token Rewards
      • Badges
    • 🧨Token Burning
      • Phase 1 : Token Burn Program
    • 🏛️Governance
      • Itheum Ecosystem DAO
        • Version 1: How it Works
      • Itheum xPand DAO
        • Itheum xPand Grants Program
          • Code Of Conduct
          • Announcement Guidelines
          • Cohorts vs Alpha Builders
        • Program 1: MultiversX Post-Hackathon Accelerator
        • Program 2: xPand DAO Music Data NFT Growth
    • 💪Hackathons and Dev Challenges
      • MultiversX xDay Hackathon
        • Project Ideas > MultiversX Dev Tooling and Infra
        • Project Ideas > Itheum
        • Test Data NFT Catalog
      • Community Test Events
        • Portal Traveler 🌀 : Test the Itheum Omni-Chain Portal (Bridge)
        • APR for Liveliness 🎖️: Test the Bonding + Staking Rewards Module
        • Minting and Bonding on Solana
  • R&D
    • 🏢Itheum Enterprise
    • 🗳️Data Coalition DAOs (DC DAOs)
    • 🎏Trailblazer
      • FAQ - Trailblazer
  • Legal
    • ⚖️Ecosystem Tools Terms
      • Datadex
        • Terms Of Use
        • Privacy Policy
      • Liveliness Bonding: Penalties and Slashing Terms
      • BiTz XP
        • Give BiTz
      • Omni-Chain Portal Bridge
      • Gamer Passport
        • Data Collection and Storage
    • 👮Content Guidelines
    • Itheum Data License
    • Terminology Disclaimer
    • Protocol Docs, Token Disclaimer
Powered by GitBook
On this page
  1. Developers
  2. 👨‍💻Software Development Kits (SDKs)
  3. Data NFT SDK

Guide 5: Preparing a Data Stream containing a password to protect a URL

PreviousGuide 4: Use the Data NFT "Deputy" Feature to delegate access of your Data NFTs to a Smart ContractNextEnterprise SDK

Last updated 1 year ago

CtrlK
  • Step 1: Create the file that you want to set as your initial Data Stream
  • Step 2: Hosting the file on Zedge Storage

This guide walks you through how to use Data Streams configured to expose an otherwise publicly available URL that is protected through a password that you can expose through a Data NFT.

Let's begin...


Step 1: Create the file that you want to set as your initial Data Stream

Here is a full sample file for you to inspect the JSON file you have to create:

{
  "data_stream": {
    "category": "Video Game",
    "name": "BoberRunV2",
    "creator": "Sylla",
    "created_on": "2024-04-03",
    "last_modified_on": "2024-04-03",
    "host": "https://myhost.com/gamelink",
    "token_query_param": "password",
    "token": "myPassword"
  }
}

In the data format above, here's what everything means :

  • The general JSON file skeleton structure seen above needs to be maintained.

  • category represents the type of data that should be expected from your link

  • namerepresents the name you want to give to your project

  • creator should be your name in order to be able to take credits for your work

  • created_on and last_modified_on should respect the above shown date format. The first one should be the date when you initially created the data stream and the other one should be updated whenever you update your data stream

  • host should be the URL where your data resides that is protected by a password

  • token_query_param is an optional field that hints to other developers that they should include your password after the query param that this key has as value.

  • token should represent the password that you want the users having the Data NFT to use

By creating the JSON file like this you are preparing it to be fetched by people that want to view data inside of your Data NFT and use it (even programatically if needed)

Step 2: Hosting the file on Zedge Storage

You can host your file wherever you want that suits the Data Stream URL rules, but hosting it on Zedge Storage is one of the easiest ways

  1. First login using your MultiversX wallet

  2. Click on "My Data Bunker" in the header of the app

  3. Click on "Create New Data Asset"

  4. Choose "Dynamic Data Storage" and click "Next"

  5. Choose "Uplaod my files" and click "Next"

  6. Choose "Decentralized / Web3 Storage" and click "Next"

  7. Choose "IPNS + IPFS" and click "Next"

  8. Make sure the "Nested Stream" option is checked and upload your JSON

  9. Choose a name and a creator for the given dataset

  10. Click "Upload Data" and wait for the files to be uploaded

  11. Copy "Your Asset's IPNS location" to your clipboard and use that as a URL to mint your Data NFT link any other normal link. As a note on this step, you can also open the link to your asset via the link provided inside Zedge Storage. You can see that the app created a manifest file which sends users to your actual file. This is important in the interaction with the Data Marshal, which powers the privacy of Data NFTs

  12. Use the IPNS location (e.g. ipns://k51qzi... ) you copied to your clipboard to mint a Data NFT. When inputing that as a Data Stream in the Data Dex make sure to also add this at the end of the URL:

    ?dmf-nestedstream=1

Your IPNS should look like this at the end:

ipns://hash?dmf-nestedstream=1

  1. Just mint it! If you use this, anyone owning the NFT will be able to use the Nested Stream View Data feature in order to access your game.

That's all! Using the above method will help you mint a Data NFT with an updatable, file that contains the password to your password-protected URL. You can always go to Zedge Storage to upload a new file under the IPNS hash you have created. IPNS is just like IPFS, but muttable (a bit more complicated than that, but that's for another tutorial/guide)