-
Notifications
You must be signed in to change notification settings - Fork 6
Interactive OBJKTs
Below is a guide to minting an interactive OBJKT.
Also check out the templates for p5.js, shaders, html, and svg.
author: @pichiste (Daniel Massey)
Teia enables you to publish web-based interactive and generative artworks by uploading a zip archive. If you're starting on a new project, have a look at our starter templates. The following guide walks you through the process of minting your first interactive OBJKT.
Whether you're starting fresh or have an existing artwork, there are some important guidelines you'll need to follow in order to successfully mint:
Put all your project files into a single folder if they are not already in one. The main file in your project needs to be called index.html
. Subfolders are ok, but make sure all paths referenced in your code are relative (path/to/file.js
, not /path/to/file.js
).
Your work is required to have a cover image. This can be any image inside your project folder. In the <head>
tag of your index.html
file, add the following meta tag, replacing the value of the property
attribute with the relative path to your cover image:
<meta property="og:image" content="path/to/your/cover.jpg" />
The cover image can be a JPEG, PNG, or GIF.
You will need to include all libraries, scripts, styles, and other assets referenced in your code inside your project folder. References to most external resources will be blocked. While there are some exceptions to this, it's generally best practice to bundle everything and avoid external dependencies. See allowed domains below:
The following features will be enabled on the iframe displaying your work on teia.art:
accelerometer
camera
gyroscope
microphone
xr-spatial-tracking
Interactive OBJKTS can access the following external domains:
domain | img-src | media-src | font-src | prefetch-src | connect-src |
---|---|---|---|---|---|
https://ipfs.infura.io/ | ✅ | ✅ | ✅ | ✅ | |
https://*.infura-ipfs.io/ | ✅ | ✅ | ✅ | ||
https://infura.io/ | ✅ | ||||
https://cloudflare-ipfs.com/ | ✅ | ✅ | ✅ | ✅ | |
https://ipfs.io/ | ✅ | ✅ | ✅ | ✅ | |
https://gateway.pinata.cloud/ | ✅ | ✅ | ✅ | ✅ | |
https://fonts.googleapis.com/ | ✅ | ✅ | |||
https://better-call.dev/ | ✅ | ||||
https://*.better-call.dev/ | ✅ | ||||
https://*.cryptonomic-infra.tech/ | ✅ | ||||
https://cryptonomic-infra.tech/ | ✅ | ||||
bootstrap.libp2p.io | ✅ | ||||
preload.ipfs.io | ✅ | ||||
https://api.etherscan.io/ | ✅ | ||||
https://api.thegraph.com/ | ✅ | ||||
https://*.tzkt.io/ | ✅ | ||||
https://api.tzstats.com/ | ✅ | ||||
https://*.wikidata.org/ | ✅ | ||||
https://*.coinmarketcap.com/ | ✅ | ||||
https://api.openweathermap.org/ | ✅ | ||||
https://teia.art/ | ✅ | ||||
https://*.teia.art/ | ✅ | ||||
https://api.hicdex.com/ | ✅ | ||||
https://*.infura.io/ | ✅ | ||||
https://mainnet.smartpy.io/ | ✅ | ||||
https://mainnet-tezos.giganode.io/ | ✅ | ||||
https://hdapi.teztools.io/ | ✅ | ||||
https://hicetnunc.xyz/ | ✅ | ||||
https://*.hicetnunc.xyz/ | ✅ | ||||
https://*.hicetnunc.art/ | ✅ | ||||
https://services.tzkt.io | ✅ | ||||
https://templewallet.com/logo.png | ✅ |
Your project will be displayed within a sandboxed iframe, meaning it won't have access to any user data from the teia.art site. However, the viewer and creator addresses are passed into the iframe via URL query parameters:
?viewer={VIEWER_ADDRESS}&creator={CREATOR_ADDRESS}
You can parse these query parameters in javascript and use them in your project as you wish:
const creator = new URLSearchParams(window.location.search).get('creator')
const viewer = new URLSearchParams(window.location.search).get('viewer')
- Once your project folder is ready to be minted, go ahead and compress it into a zip file.
- Head to https://teia.art/mint, fill out the information for your work and upload your zip file.
- You should now see a preview of your work embedded on the page. Make sure to test it thoroughly to make sure it works as expected.
- If everything looks good, make sure your wallet is synced and press the "mint" button at the bottom of the page.
- Congratulations! You have just minted your first interactive OBJKT 🎉
Please see the tutorial by FREEBOID
https://github.com/hicetnunc2000/hicetnunc/issues/602
- If you are using Brave and notice the HTML preview not working on the mint page, you will need to disable your shields for this site or reconfigure them to allow service workers.
If you find a bug, please open an issue on Github. Otherwise, seek help on Teia Discord.
Please use the sidebar to navigate (on mobile its at the bottom of the page)
Want to contribute to the wiki? Please see How to contribute to the Wiki?
General
- Home
- Core Values/Code of Conduct/Terms & Conditions
- DAO documentation/Governance on Teia
- The Core Team
- User safety guide
- Tools Made By the Community
Copyright, Moderation, Restrictions
- Report Harassent or Scams
- Account restrictions/Rules (report abuse/request unban)
- Copyright and Licensing Guide
- Collect NFTs safely (Tips for collectors)
Getting Started
- Getting started with Tezos
- How to mint 🌿
- How to swap 🔃
- How to cancel ❌
- How to burn 🔥
- How to resell 🏪
How-Tos
Dev How-Tos
FAQs
Charity Initiatives
- TezQuakeAid - Earthquake Relief
- Tezos4Iran
- SavePakistan
- Tezospride
- Ukraine
- How to set up a charity split contract on Teia
- How to set split sale swaps on objktcom
Resources/Lists