Zacalot.XYZ

Ethertic

ethertic.io (no longer maintained) was my first website and a project I undertook in 2021 to learn about blockchain and web development. It enabled TIC-80 games to be made into immutable non-fungible tokens (NFTs) on the Ethereum blockchain. I thought this would be fun since it would parallel how retro game development worked, where it was impossible to update games after they were manufactured into cartridges.

For the front end, the user was required to log into the website using a web browser Ethereum wallet, such as MetaMask. This enabled the Ethereum blockchain to be queried via Web3.js to retrieve demo cartridge data, their owned cartridges, and for minting new cartridges. For cartridge minting, three.js was used to generate a spinning cartridge GIF with an image uploaded by the user (see example below)

For the back end, the website was hosted on InfinityFree and it used the Pinata platform to upload the TIC-80 game file and other data as JSON to IPFS with a PHP script. Once the IPFS uploads were made the user would be prompted to mint their game’s NFTs, which would store the Content Identifier of the content uploaded to IPFS. The TICNFT ethereum contract itself was built according to the ERC1155 standard for batch cartridge manufacturing and developed with the Node.js Hardhat Ethereum development environment.

Cartridge data on IPFS included:

I also made a demo TIC-80 game for the project, which can be played here.

The transaction for minting this cartridge is here, and its IPFS content can be found here.

Here’s the demo game’s generated spinning cartridge GIF that was described earlier: