Comment on page
Data Stream URL Rules
- 1.The URLs need to served via HTTPS (e.g. https://)
- 2.They can be "Unauthenticated" URLs if the data is non-sensitive.
- 4.They need to be "public" URLs and should be accessible on the World Wide WebIf you need any other HTTP code to be supported, reach out to us on Discord and we are open to discussing the use case.
- 5.If you are using a service like AWS S3 to host your URLs, it's recommended that you abstract the AWS S3 URL by putting domain name in front of it. This will future-proof your URLs and allow for the flexibility to move from AWS S3 to another origin. See Hosting : AWS S3 + Cloudflare to learn more
- 6.It is advisable to treat your Unauthenticated as "Unlisted" content URLs. A good example of "unlisted" content URLs are YouTube's "unlisted videos", where the videos are fully public but you can only reach them if you know the exact URL. To make them "Unlisted":
- 1.A) use a system like robots.txt or other such methods to prevent them from being indexed by search engines
- 2.B) Never publicly link to these URLs from your websites or apps
- 3.C) Make the URLs "random" (see next point)
- 7.To assist in making your URLs unlisted and un-guessable, it's best you have random paths in your URL. e.g. https://mydomain.bar/sdahjasdkkasd/hkkasdk2321313ka.json
- 8.Only have alphanumeric characters (a-z, 0-9) in your URL and do not include spaces or any symbols.
- 9.When you mint your Data Stream URL into a Data NFT, note that your URL is case sensitive as the Data Marshal considers origin URLs as case sensitive. e.g. https://mydomain.bar/sdahjasdkkasd/hkkasdk2321313ka.json and https://mydomain.bar/SDahjasdkkaSD/HKKasdk2321313KA.json are considered separate URLs
- 10.Although this is NOT released to URL standards, note that the current Data Marshal (V1 Achilles) can only support a maximum data payload of 4.5MB. Note that the next version of the Data Marshal (V2 Brontes) will have a much higher limit.
- 11.Your origin server can forward the following headers, which will be passed-through to your client app:If you need any other pass-through headers supported, reach out to us on Discord and we are open to discussing the use case.
- 12.Your origin server can stream out any file type and indicate it via the content-type header; we've provided some code guidance on handling the following types which we've personally tested. (This is not an exhaustive list and other formats are also supported)
- 4.AUDIO (e.g. mp3)
- 7.IMAGE (PNG, JPG, GIF)
Now, let's now jump into out platform specific guides of producing these Data Stream URLs...