Vanity URL access control for web3 integration

Smart Contract

  • There are 3 payment steps in total.
    1. Pay to access the creator’s video list (store on chain)
    2. Pay to watch the specific video (pay-per-view) on the creator’s vanity url (store on chain)
    3. Pay to purchase merchandise linked to the video (don’t store on chain)
  • The information for the 1st and 2nd steps will be stored on chain
    • Information to store on chain
      1. user wallet address
      2. user wallet address → vanity URL to access the creator’s video list (1st step)
      3. user wallet address → vanity URL list to access the creator’s pay-per-view video (one video) (2nd step)
    • information to provide
      1. store the vanity URLs the user can access to watch the creator’s video list or pay-per-view video.
      2. check if the user has the right to go to the specific vanity URL to access the creator’s video list or the creator’s pay-per-vie video
  • The information should be handled by our BE only.
  • If the user paid to access the specific vanity url before, he/she doesn’t need to pay again to access that url.
  • We’ll require the user to connect the metamask before displaying the video list or the video on the vanity URL so that we can check if the user has the right to access the specific vanity URL.
  • This will prevent the user who didn’t pay go to the vanity URL directly to watch the video.

  • If the .1.country NFT is transferred from the creator’s wallet address to another wallet address, all information related to that NFT will be reset(removed).

Questions

  • When the user go to the specific vanity URL directly without the payment, can we require the user to connect the metamask before displaying the page?
  • We’ll require the user to connect the metamask before displaying the video list or the video on the vanity URL so that we can check if the user has the right to access the specific vanity URL.
  • We’ll store the information for 1st and 2nd steps only on chain. the information for 3rd step won’t be stored on chain. Is it correct?
  • There are 3 payment steps in total.
    1. Pay to access the creator’s video list (store on chain)
    2. Pay to watch the specific video (pay-per-view) on the creator’s vanity url (store on chain)
    3. Pay to purchase merchandise linked to the video (don’t store on chain)