Blessing Emah is an experienced Blockchain Engineer and Developer Advocate with more than five years of working in the Web3 industry. Her passion lies in helping developers succeed in this rapidly growing field.
Blessing has proven her ability to drive the adoption of web products and technologies in various communities with her exceptional public speaking, community building, coding, and technical writing skills.
In our recent episode of ChainTalk, we had the pleasure of hosting Blessing Emah as our guest. She shared valuable insights and provided a unique perspective based on her extensive experience in the blockchain development space.
Please briefly describe your experience in the blockchain space, including how long you have been actively involved in it.
I’m Blessing Emah, a blockchain engineer and web3 developer advocate. I’ve been actively involved in the blockchain space since 2017, although not in a development core capacity. Initially, I focused more on community event organization but later transitioned to blockchain product management. I was keen on getting my hands dirty, so I delved into development. While I’ve been coding for about two years, my blockchain engineering experience spans approximately one and a half years, starting last year.
Currently, I work as a Developer Advocate at Stacknet Africa, where I promote the Cairo programming language to developers and encourage building L2 projects on the Stacknet ecosystem. I’m passionate about blockchain, innovation, and teaching others about it. As an advocate, I’m enthusiastic about promoting products that introduce more people to Web3.
Which programming language do you use at Stacknet, and how is it used in the blockchain ecosystem?
At Stacknet Africa Group, we advocate using Cairo as our programming language. It is used for building L tools and dApps on L2 blockchains within the Stacknet ecosystem. We aim to train developers in the Cairo language and get them involved in the Stacknet ecosystem.
What is an L2 blockchain, and what role does it play in addressing the blockchain trilemma?
The blockchain trilemma represents the challenge of achieving decentralization, scalability, and security simultaneously in blockchain systems. While many blockchains such as Bitcoin, Ethereum, Cardano, and Binance Chain exist, blockchain has yet to achieve all three trilemma features fully.
When Ethereum was first introduced, it only offered decentralization and security, resulting in high gas fees and slow transaction processing times. This is where L2 blockchains come into play. L2 blockchains are layer-2 solutions built on the existing layer-1 blockchains like Bitcoin and Ethereum. They are designed to address the issue of scalability by offering faster transaction processing times and lower fees.
Examples of L2 blockchains include ZK Rollups, ZkSync, Polygon, and StarkNet. These blockchains serve as a solution to the scalability challenges faced by layer-1 blockchains.
Can Polygon be considered a complete solution to the blockchain trilemma with all its features since it is a scaling solution for Ethereum?
Polygon is not trying to get it right, but some issues still need to be solved. Polygon began as a layer too, which means it was connected to Ethereum; now, it has evolved to a side chain, not on top of it, but it has some features of Ethereum. Now they are trying to build their own ETVM, an Ethereum virtual machine, an engine that powers the whole blockchain. Polygon has yet to figure it out fully, they are trying, but they are not there.
What is your preferred blockchain platform to build blockchain apps, and why do you prefer it?
It depends on where you begin as a developer. last year I had the opportunity to go to Ghana, where I got introduced to the Bitcoin community; before then, I had never really known Bitcoin as a development kind of environment in terms of developers building; my head didn’t go there because I got introduced to Ethereum, I see the way Ethereum is open to everyone, and how it lets people build different apps on it, but then seeing Bitcoin Community itself and how its members not wanting to hear anything about Ethereum got me wondering a lot about different kind of chain.
So right now, I can’t say I have a preferred chain because different chains have their languages now; if you know Solidity, you can build on Ethereum, you can build on Polygon, and even… chain you can build there. So that’s like the language.
But now there are some other blockchains whereby you need to know another language, like the example I talked about, Cairo, Cairo is for you to build a Stacknet, and there’s even… Zappa Gami programming language allows you to build on the Solana blockchain. It depends on the language you know and where you want to be based in the future.
My journey is evolving, I’m trying to explore different chains. So I won’t say that I’m Molly and Ethereum kind of person. I do love Ethereum a lot. I see how we’re building innovation and at the forefront of it all, but I want to see what other chains are doing differently. I don’t have a preference, I’m still exploring.
Which blockchains allow developers from web2 space to build blockchain apps using different languages for smart contracts?
Blockchain development has different layers, including DApp development, the app layer that users interact with when using blockchain applications such as Uniswap or NFT marketplaces. However, there is also a deeper layer called protocol engineering, which involves building the blockchain to make it run faster and more securely.
To become a successful blockchain developer, it’s important to have a strong background in web2 development, whether front-end or back-end focused. This will be very helpful when working on blockchain projects. Various programming languages can be used for blockchain development, including Java, Python, Rust, and even some newer languages, such as Solidity, based on previous programming languages.
To stand out in the market, it’s important to specialize in Solidity and learn other programming languages that can be applied to blockchain development. So, it’s recommended to pick a web2 language to master, then add blockchain knowledge and possibly learn three languages to become a well-rounded blockchain developer.
What challenges do you face as a blockchain developer while building dabs or smart contracts, and how do you overcome them?
When building a smart contract, it’s important to understand what the product should do clearly. This is typically outlined in a product requirements document (PRD) or a technical requirements document (TRD).
It’s also important to consider factors such as the number of transactions, gas fees, constraints, and vulnerabilities. To ensure the security of the smart contract, it’s recommended to use security tools like Slater and keep sensitive information like seed phrases in a secure location, such as a .env file excluded from public repositories. By following these basic steps, developers can minimize the risk of hacks and ensure a successful outcome for their clients.
When building smart contracts, how do you test and debug the smart contracts and list the tools you mentioned?
Various tools such as Echidna, Mithril, and Slither are available to test smart contracts. While it’s not necessary to know all of them, it’s important to understand how to test your smart contract effectively. One tool that can make testing easier is Foundry, a smart contract development toolchain. By learning Foundry, developers can gain valuable knowledge and increase their value in the job market. Other helpful tools for testing include Hardhat, Mithril, Slither, and Echidna. It’s important to note that more than learning the basics is needed, and investing time in learning these tools can benefit you greatly in the long run.
What blockchain use cases and solutions are people not building or implementing across NFTs, DeFi, and DAOs that needs to be built?
We don’t avoid building for the African market or using NFTs. Still, sometimes people exploit and abuse things like how NFTs were initially used mostly in gaming to gain access to new opportunities. Artworks are also there; if someone wants to avoid using their NFT, they can sell it off. However, people turned NFTs into artwork, which is not necessarily bad, but it just shows how things can be abused. Nothing is set in stone in the Web 3 space, and new ways of using things are constantly emerging. As developers, linking these innovations to our everyday life is essential.
There are numerous use cases for NFTs, such as authenticating assets like wheels or transferring digital assets like land titles or patents. They can also be used for contributions or creating shareholder stakes in companies that want to increase transparency. Additionally, NFTs can be used in DeFi for buying and selling transactions, and many use cases are yet to be built. Despite the challenges, we are trying to support developers who want to build and offer services or platforms, enabling them to build as much as possible and explore different use cases.
What current blockchain trends and advancements do you find interesting or exciting, and how do you incorporate them into your DApp development process?
A few stand out to me in terms of exciting blockchain trends and advancements. One of the most interesting is account obstruction, a new IP designed to improve the user experience of wallets. Currently, users rely on their wallets like MetaMask or Trust Wallet to interact with the blockchain, but this can be problematic if they lose their seed phrase. Account obstruction solves this problem through social recovery, allowing users to recover their wallets even if they lose their seed phrase.
Another trend that I find exciting is the idea of paymasters. Paymasters allow the contract owner to pay gas fees for users, making it easier for everyday users to interact with tokens without worrying about gas fees in other tokens like Bitcoin. Customization of wallets is also becoming more common, allowing users to set limits on transactions or customize their wallets to their liking.
Another trend I am excited about is host scalability, which can lead to increased transaction speeds and lower transaction fees. This is important for blockchain technology’s future and could make it more accessible and user-friendly for a wider range of people. Overall, these trends have the potential to greatly improve the user experience and increase the adoption of blockchain technology.
Will there be a relationship between blockchain and AI?
In answer to whether blockchain and AI will be a relationship, the two will work together rather than AI replacing blockchain. As a developer, knowing both technologies is important to make work easier. AI is meant to simplify life and can be used as a learning tool to simplify learning new concepts.
For instance, ChatGPT can provide straightforward answers to questions, making it an excellent resource for developers to learn new concepts. Embracing AI as a developer will only broaden your knowledge and understanding. Knowing both will only enhance your skill set, even if you focus on one technology. So, the short answer is yes, there will be a relationship between blockchain and AI, and it’s important to embrace both as a developer.