In the information age, more and more content is being created digitally every day. However, due to its nature, proving ownership and managing copyright can be challenging. Digital content is easy to reproduce as it has minimal or negligible physical limitations, hence the need for a system or protocol to track digital content in a verifiable and reliable manner. It turns out that such problems can be easily solved with blockchain technology and Non-Fungible Tokens (NFTs). The blockchain provides transparent tracking of every transaction, ensures data immutability, and establishes a decentralized infrastructure. NFTs, supported by smart contracts, facilitate direct operations such as content creation, trading, sharing, and ownership management.
This thesis introduces the concept of an NFT platform, which incorporates blockchain and NFT technologies, enabling the basic handling of digital content in a transparent, immutable, and decentralized manner. The first part explores technologies and concepts for backend development through examples and literature review. In the second part, we start by setting up a development environment for the backend and frontend. We write two Solidity smart contracts, NftMarketplace and BasicNft, the former containing trading methods, and the latter containing methods for creating a basic non-fungible token. Then we start writing deployment scripts, which are written TypeScript. To speed up and simplify the process of writing deployment scripts, we use the Hardhat development environment. Once the smart contracts are deployed on the Ethereum network, we write tests for it and ensure that system is running correctly. To provide users with a better user experience, we create a simple web application using classical web technologies such as HTML, CSS and JavaScript. Finally, we describe the production process, challenges encountered, some practical aspects, and a comparison with competing products.
|