Can you briefly introduce yourself and your background as a smart contract developer in the NFT space?
With a masters degree in maths and computer science I started working in the IT Consulting world for one of the biggest consulting companies worldwide. Since 2016 I have been very interested in the Blockchain space and did several projects through the years. I was also speaking for Blockchain topics on international conferences. Since 2021 I got involved in the upcoming NFT space and fell in love with it. Together with Mike Hager we founded our company NFTfolio, a NFT Portfolio tracking software and kept improving it. Since then I was involved in many NFT projects, as an advisor, but also as a smart contract developer.
What inspired you to specialize in this field, and what do you find most exciting about it?
I really like the space because of the people. I have already created other companies in other fields, but it was never as cool and as heartwarming as it is in the NFT space.
Understanding Smart Contracts and NFTs
Can you explain what a smart contract is and how it relates to NFTs?
At its core, the technical basis of non-fungible tokens (NFTs) lies in the management of ownership. This involves the creation of a registry to track which NFT in a given collection belongs to which wallet. In essence, this registry acts as a ledger of ownership that is transparent, immutable, and secure, as it is based on the underlying blockchain technology. This allows for the creation of unique and scarce digital assets, which can be owned and traded in a decentralized and trustless manner.
How smart is a „smart contract“ really?
Haha, not really 😀 if you ask me. Its literally about knowing who owns a specific piece and of course you can do more sophisticated cases, like burning, staking etc., but to me that’s all straight forward (probabaly because its what I do everyday).
Is it true that a smart contract can’t be changed after it is deployed?
As a developer, I believe in maintaining flexibility within the codebase, while also ensuring that certain functionality is locked down. For example, it’s common to allow for changes to be made to certain parts of the smart contract’s functionality. However, this can be thought of as switches that can be turned on or off. For example, closing a mint involves changing the contract since it was previously open. Additionally, smart contracts can grant specific rights to other smart contracts, providing additional flexibility.
One common use case for this is when a collection begins with one smart contract, but the team later wants to incorporate different dynamics, such as burning x for y. In these scenarios, I can create another smart contract that has the rights to mint from the initial collection, enabling the implementation of these new dynamics. While there are more sophisticated examples of this concept, this is a common approach used in the industry.
Developing Smart Contracts
Can you walk us briefly through the process of developing a smart contract, from ideation to deployment?
The concept is paramount in any project, as it must align with the narrative, purpose, and goals. This, in turn, shapes the architecture of the project, including the necessary components of the smart contract, akin to discussions with an architect prior to designing a house.
Following the conceptualization stage, I proceed to develop the smart contract. Upon its completion, I write comprehensive tests and execute them on a local blockchain on my machine to ensure that all functions operate as intended. If all tests pass, the code then undergoes testing on a testnet, such as Goerli or Sepolia for Ethereum, which mirrors the main blockchain but operates without any real value. This is also the stage when other team members can evaluate the progress, and NFTs created are viewable and reviewed on Opensea’s testnets.
Upon receiving approval from the team, the smart contract is deployed to the mainnet and requires gas payments. Once deployed, only the pre-described functions are available for activation or deactivation. In instances where multiple parties are involved, a separate smart contract, such as a Paymentsplitter, may be utilized to distribute funds accordingly.
How do you ensure the security and integrity of a smart contract during the development process, and what steps do you take to minimize the risk of vulnerabilities or exploits?
As previously mentioned, testing plays a critical role in the smart contract development process. Through the years, I have built numerous smart contracts, and as a result, have amassed a considerable amount of battle-tested code. This allows me to leverage pre-existing code, streamlining the development process, while also ensuring the quality of the final product. In addition, this also allows me to stay up to date with the latest industry standards and best practices, allowing me to build efficient and secure smart contracts.
How do you determine the appropriate programming language for a smart contract, and what factors do you consider when making this decision?
When it comes to developing smart contracts for Ethereum, the decision of which programming language to use is straightforward. Solidity is the official and most commonly used programming language for developing smart contracts on the Ethereum blockchain. This language is purpose-built for writing contracts on a decentralized network, and as a result, it has become the de facto standard for developing smart contracts on the Ethereum platform. In summary, there is no decision to make – Solidity is the go-to language for Ethereum smart contract development.
What role do standards like ERC-721 and ERC-1155 play in the development of NFTs?
When I first began developing smart contracts, standards were not yet established, and people were making many mistakes. However, over time, standards have emerged that have helped to create more secure and robust smart contracts. This has had a positive impact on the speed and level of security in smart contract development. By having established standards, developers have a common set of best practices and guidelines to follow, which helps to prevent common mistakes and ensures that smart contracts are developed in a secure and reliable manner. Ultimately, the emergence of these standards has helped to advance the entire industry, improving the quality of smart contracts and increasing their overall level of trustworthiness.
Can you explain how the gas fee system works in the context of smart contracts, and what strategies do you use to optimize gas usage and minimize costs?
In general, it’s true that the more data you need to save to the blockchain, the more expensive it becomes. This can be likened to the construction of a building – a larger house will generally cost more, but it ultimately depends on the materials used and the specific features required. The same principle applies to smart contracts, where certain implementation methods may be more cost-effective than others. This requires a detailed understanding of the underlying technical aspects, including the structure of the smart contract and the space required for each feature.
However, the biggest optimization for smart contract development often comes from careful planning. By knowing exactly what is required, unnecessary features can be eliminated to reduce the amount of data that needs to be saved on the blockchain, thereby reducing costs. Alternatively, the smart contract can be designed to leave certain features open-ended, as described earlier, to avoid the need for features that may not be required but would need to be paid for regardless.
Additionally, choosing the right time to deploy a smart contract, when the gas price is low, is another way to optimize costs. By being strategic about when a smart contract is deployed, costs can be reduced, ensuring that resources are used efficiently.
How do you test and debug smart contracts, and what tools or techniques do you use to identify and resolve issues?
I utilize a testing framework to ensure the quality and functionality of the code. Through the use of this framework, I am able to write tests that check if the code behaves in the expected manner. If I identify any issues or errors during the testing process, I can then return to the smart contract and make any necessary fixes to ensure that the code is working as intended.
Can you discuss any challenges or roadblocks you’ve encountered during the development of smart contracts, and how you overcame them?
One of the biggest roadblocks when it comes to developing smart contracts is that it differs significantly from other programming languages, and requires a unique approach to development. Unlike traditional programming, once a smart contract is deployed to the blockchain, there are limited options to update or change it. As a result, there is a greater need for thorough testing and quality control to ensure that the contract operates as intended from the outset. This is in contrast to web development, where bugs can be identified and addressed relatively quickly, and where there is greater flexibility to make changes and updates.
In my own experience, I started building smart contracts in 2016 and have since gained a significant amount of experience in the field. By working on numerous projects and reviewing/auditing code from other developers, I have developed a deep understanding of what does and doesn’t work when it comes to smart contract development. While there are certainly resources available to learn the basics, I believe that nothing can replace the value of real-world experience when it comes to developing smart contracts.
The Future of NFTs
What are some of the biggest benefits of NFTs, and what industries do you think will be most impacted by this technology?
In a world where ownership is everything, non-fungible tokens (NFTs) offer a bright future. They provide a technology for managing ownership in a transparent and efficient way. Since 2016, NFTs have been disrupting industries such as supply chain management, where they offer a more secure and traceable way to track the ownership of goods. Another industry where NFTs have already made a big impact is art. With the ability to earn on secondary sales, NFTs offer a game-changing opportunity for artists to earn a fair share of the value they create.
Looking forward, I believe that NFTs have the potential to revolutionize other areas as well. For example, I can see tickets becoming NFTs exclusively in the future, as they ensure that only authorized individuals gain entry. Additionally, university degrees or other certificates attached to specific individuals could also be managed through NFTs, providing a more secure and transparent way to manage this critical information. In summary, NFTs are poised to be a transformative technology with numerous applications in a wide range of industries.
How do you see the NFT market evolving in the next few years, and what kind of innovations do you think we can expect to see in this space?
One of the biggest challenges facing NFTs currently is the high barrier to entry, which limits the number of individuals and businesses that can participate in this space. However, I believe that innovative solutions will emerge that will help to lower this barrier, which will have a significant impact on the NFT market. By reducing the complexity and cost associated with NFTs, we can expect to see more individuals and businesses entering the market, which will drive further innovation and growth.
While the NFT market is here to stay, it is important to note that the cyclical nature of cryptocurrencies means that the market may experience fluctuations in the short term. As we move forward, we can expect to see continued interest in NFTs, with the market picking up more momentum in the coming years. Ultimately, I believe that NFTs represent a powerful technology that has the potential to transform numerous industries, and I am excited to see where this space goes in the future.
What do you think are some of the biggest challenges facing the NFT industry, and how do you see these challenges being addressed?
The high barrier to entry and security are two of the biggest challenges facing the NFT space. One solution that is currently being developed to address the security aspect is ERC-4337, which enables smart accounts with account recovery features. While creating a wallet can still be a complex process, this development is a step in the right direction, as it will provide a more secure and user-friendly solution for individuals and businesses looking to enter the NFT space.
Another significant challenge facing the NFT space is the risk of scams and fraudulent activity. To combat this, companies such as FIRE and PocketUniverse have already developed working solutions to help protect users from scams and other forms of fraud. While there is still work to be done in this area, these developments represent a positive step forward in creating a more secure and reliable environment for NFT users. Ultimately, by addressing these key challenges, we can expect to see continued growth and innovation in the NFT space, with new use cases and applications emerging over time.
How do you see the relationship between NFTs and other emerging technologies like blockchain, AI, and AR/VR evolving in the future?
The Metaverse represents a combination of two important developments in the technology space, and I believe that it will continue to be a major driver of innovation and growth. Specifically, the combination of blockchain and gaming is particularly promising, as it offers the potential to preserve digital assets in a secure and transparent way, while also making them tradeable and valuable.
The gaming market is already one of the largest in terms of money spent, and the integration of blockchain technology offers a significant opportunity for a win-win situation. By leveraging the transparency and security of blockchain technology, gamers can be assured that their digital assets are safe and secure, while also having the ability to trade these assets with others in a transparent and efficient manner. This represents a significant shift in how we think about digital assets, and I am excited to see how this space evolves over time.
Advice and Insights
Can you share any advice for aspiring smart contract developers who are interested in entering the NFT space?
Two great resources for learning about smart contracts and blockchain development are speedruntethereum.com and cryptozombies.io. These tutorials provide a great starting point for understanding how everything is connected and for writing your first smart contracts.
Finally, can you share any exciting new projects or developments you’re working on in the NFT space, and what can we expect to see from you in the coming months and years?
I have a passion for building digital products that simplify processes for everyone. One of my recent projects is NFTfolio, which I co-created. In addition, I have also co-founded and created a tool called Communifty.xyz, which is used for creating NFT-gated content, such as for course creators. It can also be used by clients to offer special access to their time, where users with specific NFTs can log in and access calendly links to book a slot. The tool allows for the hiding of any digital asset or information behind an NFT.
Another project I am working on is a tool to simplify the creation of standard smart contracts. It can be accessed here: https://ercforge.alexandersachs.de and allows artists or companies to create their own NFTs with their own smart contract. This is a more cost-effective and overall better and flexible option than using Opensea, as creators do not have to pay a percentage of the sale to the platform, while still being independed of any marketplace.
In addition, I am collaborating with great brands and artists to develop new projects. Recently, we launched a mint mechanic which is unique in the space. With every mint, the total supply is reduced. This experiment has been successful, generating over 100k in revenue with only one picture. You can see it here: https://justmintit.rainerhosch.com/. Overall, I am dedicated to building innovative solutions that make the NFT space more accessible and user-friendly.