CryptoVandals is made up of three pieces: 1. A smart contract that can liberate or vandalize an ERC-721 NFT. 3. A web application that lets you browse your NFTs and interact with the smart contract. 4. A manifesto that guides our work. CryptoVandals lets you: Liberate an NFT: When you tell CryptoVandals to liberate an NFT, it uploads the linked content to IPFS and sends a single transaction from your address to the CryptoVandals contract. The transaction burns the original NFT by sending it to a null address. The same transaction mints a liberated NFT, replacing the original links with open, accessible, content addressed IPFS links. The transaction sent to the CryptoVandals contract links to both the original NFT and the liberated NFT, maintaining its provenance. Vandalize an NFT: When you tell CryptoVandals to vandalize an NFT, it does the same things as above, but changes the original content links to reference new content. It could be a modified version of the same content or something entirely new.
How It's Made
For the backend: - Solidity - open zeppelin ERC-721 contracts - HardHat + Ethers + TypeScript - waffle for testing For the frontend: - Svelte - TypeScript - Ethers - ipfs-client-http - snowpack For development: - ethnode https://github.com/vrde/ethnode - ipfs - github actions for CI