Creating a channel requires sending a JSON payload containing information about the channel to a decentralized storage. This JSON payload is uploaded to a decentralized storage solution (IPFS at the time of writing) which is emitted on chain to ensure that channel meta data can be constructed from the said decentralized storage.
Uploading the payload is easily taken care by our dApp or any frontend solutions. While provisions to do it on smart contract directly exists (with pre-filled IPFS hash), it's recommended to do it on frontend due to it being a one time process.
Channel JSON Payload
Your Channel name (Recommended Limit: 40 Chars)
Short Description of your channel (Recommended Limit: 240 Chars)
Your Channel's website (Recommended Limit: 160 Chars)
Base64 encoded image (Recommended Limit 128x128)
"name": "ENS (Ethereum Name Service)",
"info": "ENS offers a secure & decentralised way to address resources both on and off the blockchain using simple, human-readable names.",
The hash / pointer of the payload is recorded on-chain along with the payload type. This payload type defines how to interpret what storage solution is used and how to retrieve its content on frontend.