Essentials
Getting Started
Artist Guides
Introduction to Generative Tokens
By now, you likely have a basic understanding of what fxhash is and how generative art functions - in a nutshell, fxhash is a platform that enables generative artists to sell generative artworks via blockchain technology.
If these concepts are new to you, they might raise several questions: how does that actually work? How do generative artists make generative art on fxhash? How do collectors collect generative art on fxhash? And what does "collecting a generative artwork" actually mean?
All of this can be better explained by having a look at the central digital token that fx(hash) revolves around: the Generative Token. Understanding the workings of these digital 'generative' tokens will also clarify the fxhash paradigm, and serve as an entry point to more technical blockchain related topics.
What are Generative Tokens?
We defined generative artworks as code based systems that have the ability to generate different kinds of media artifacts - on fxhash this most commonly occurs under the form of static and animated computer graphics. In this scenario, Generative Tokens are simply generative artworks that live on fxhash.
Because fxhash is a web-based platform that serves content over the internet, generative artworks that are created on fxhash are small self-contained web projects, which are presented on fxhash via the interface that it provides and that allows various manners of interaction with them. This means that generative tokens are little bundles of code that represent tiny websites, with the purpose of displaying visuals, occasionally play sounds, and are sometimes even interactive. Depending on what the artist aims to express, these generative tokens can come in many shapes and forms.
It is also important to explain how artist created generative art projects exist on fxhash. Traditionally, storing files directly on the blockchain is uncommon - due to cost and storage reasons. For Web3 purposes a solution like IPFS is usually used; a peer-to-peer distributed file storage and retrieval protocol. How IPFS works is explained in more detail in the IPFS section. With the release of ONCHFS it is now also possible to store project files directly on the blockchain - covered in detail in the ONCHFS section. When creating a new project on fxhash, artists now have the option to choose between these two storage methods.
So what is actually stored on the blockchain when an fx(hash) project is created? In essence it is a metadata file that holds descriptive information about the NFT that represents this project, alongside a pointer to the actual project files/code that is stored on IPFS or ONCHFS.
Are Generative Tokens NFTs?
Yes, GENTKs are NFTs. The best way to put it is that the artist created projects on fxhash are generators for NFTs.
Although a project on fxhash is itself a Non-Fungible Token; when a collector collects a generative token, they obtain an individual output generated by this generative token. Once collected, we also often refer to these outputs as iterations:
With the term iteration we're indirectly alluding to the notion of repetition in programming - we often use the term iteration or iterating in the context of instructions that are repeated a certain number of times.
This collected iteration is a GENTK and an NFT.
In contrast to traditional NFTs, where the NFT is simply transferred from the seller to buyer during a blockchain transaction - on fx(hash) a project acts as a generator that creates/spawns a new NFT when it is collected (limited to an artist specified number of editions). Naturally, collected iterations can later on be traded and resold just like normal NFTs.
And just like most other NFTs (that aren't stored directly on-chain), a GENTK isn't simply a PNG/JPEG version of the collected generative artwork - but rather, by virtue of how the blockchain functions, constitutes a proof of ownership.
This means that when a collector collects an iteration, what actually happens is that they obtain ownership of a metadata token that is written to the blockchain. This metadata holds a pointer to the project files of the collected GENTK on IPFS or ONCHFS - in addition to information that allows the collector to query their own unique output from this generator.
So, if a collected iteration is simply some metadata on the blockchain, and not the image itself, how does this metadata information allow us to retrieve the actual artwork? Let's break this down.
Generative Tokens are Deterministic Systems
To repeat - traditionally, generative artworks are generators that produce visually distinct outputs every time their program code is executed - that's why we call them generative! This process typically involves random number generators and other random decision-making procedures. In this setting randomness becomes an important ingredient to allow for a large variety of outputs.
However, once a GENTK is collected, the generator must be able to re-create that exact GENTK in the future.
In other words, we want to be able to query certain outputs from a generative token, such that the token isn't just a random generator that spits out outputs only for them to be never seen again. In the world of computing, the generator would be considered a deterministic system:
How does this work? Naturally, we can't expect a generative token to just magically be able to guess which output we're expecting - we need to at least provide it with some starting information to go off of, and also have it built in such a manner that it can turn this starting condition into the desired output consistently and reliably.
In other words, we need a mechanism to query specific GENTKs.
Although it might seem that random number generators used in GENTKs generate arbitrary sequences of random numbers, they are in actuality not truly random - they are in fact pseudorandom:
The exact sequence of "random" numbers generated by a PRNG is usually determined by an initial seed value:
In this manner, given the same initial seed value, we can accurately and reliably guarantee that a GENTK will always re-generate the same output iteration.
The artist guides provide comprehensive instructions to this end.
Transaction hashes as Random Seeds
However, one question remains: where does this seed value originate?
You might've guessed it already - this random seed is contained within the iteration's metadata that was written to the blockchain. Originally this used to be the blockchain operation hash of the collect transaction that is used as a seed value. This has changed since then however due to some security concerns and a more complex system is in place. More details about this process can be found in the Randomization page.
But to talk about hashes that are used to seed GENTKs generators, they mainly come in the form of long alphanumeric strings - strings of letters and numbers essentially:
In the context of generative tokens on fx(hash), it's the initial input value that determines the specific iteration a GENTK will produce.
Now it should also makes sense why the platform is called fx(hash)!
This is essentially how the fx(hash) paradigm comes to life - immutable blockchain transactions make it possible to distribute unique outputs of deterministic generative artworks to collectors.
Summary
We've covered a lot of ground already, and hopefully you have a much better idea of how fx(hash) works at this point. Although there's still a lot to unpack and talk about- we've set the stage for what's to come in the next sections where we'll discuss some of the introduced notions in greater detail.
Let's slow down for a second and recap everything that we've covered in this section:
- Generative Tokens are web based generative artworks that live on fxhash, their purpose being the display of various types of computer graphics. They can be stored on IPFS or ONCHFS.
- Generative Tokens are NFT generators - their individual outputs can be purchased by collectors. Once collected these outputs are referred to as iterations.
- Generative Tokens are deterministic systems - given an initial seed value, they can accurately re-generate the same iterations.
- Immutable blockchain transaction hashes are used as seeds for these deterministic generative tokens.
If you're an artist and feel a bit intimidated at this point - don't - we've put together the artist guides specifically for this purpose, in which we'll guide through all of the steps to create such a generative token: the tools that fxhash provides to this end, the ins and outs of developing a deterministic generative artwork, as well as artist strategies and best practices for the successful release of your first generative token.
Read on to learn more about the fx(hash) eco-system.