<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Web3 Afrika | Blog]]></title><description><![CDATA[Web3 Afrika exists to accelerate the education and opportunities of a new wave of builders and bring diversity into web3 conversations globally by fostering communities in Africa.]]></description><link>https://blog.web3afrika.com</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 01:01:41 GMT</lastBuildDate><atom:link href="https://blog.web3afrika.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Accelerating Action for Women in Web3]]></title><description><![CDATA[This year’s International Women’s Day theme, “Accelerate Action,” is a reminder that progress toward gender equity requires intentional effort, bold leadership, and collective responsibility. In emerg]]></description><link>https://blog.web3afrika.com/accelerating-action-for-women-in-web3</link><guid isPermaLink="true">https://blog.web3afrika.com/accelerating-action-for-women-in-web3</guid><dc:creator><![CDATA[Web3Afrika]]></dc:creator><pubDate>Wed, 18 Mar 2026 10:05:42 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/fb9d914d-68a5-4f19-b964-edd46c131aea.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This year’s International Women’s Day theme, <strong>“Accelerate Action,”</strong> is a reminder that progress toward gender equity requires intentional effort, bold leadership, and collective responsibility. In emerging industries like Web3, where the future of technology and finance is being shaped in real time, accelerating action means ensuring that women are not only present but also empowered to lead, build, and influence the ecosystem's direction.</p>
<p>The women highlighted in this article represent that momentum. Through community building, education, development, advocacy, and leadership, they are helping open doors for more women across Africa to participate in blockchain and decentralized technologies.</p>
<img src="https://cdn.hashnode.com/uploads/covers/5d836af296a20d81186b5fc8/5e4cdca0-2933-497d-b4ab-f0b6eeb6add2.png" alt="" style="display:block;margin:0 auto" />

<h2><strong>1. Ajoke Asunmonu</strong></h2>
<p><strong>Business Lead MEA, the LEGO Group</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/8a3ece93-dd35-490d-9f77-4e0e375ca7d3.jpg" alt="" style="display:block;margin:0 auto" />

<p>Ajoke Asunmonu is the co-founder and CEO of Bloccpay, a fintech platform building borderless payroll and invoicing solutions for African freelancers and businesses. Through Bloccpay, she is helping reimagine how African talent gets paid globally by leveraging stablecoins to enable secure, fast, and inflation-resistant transactions.</p>
<p>Her mission is to solve the persistent challenges African freelancers face with cross-border payments. By allowing professionals to receive payments in USD-backed stablecoins and spend locally with ease, Ajoke and her team are bridging the gap between global opportunities and accessible financial infrastructure across the continent. Bloccpay’s platform integrates payroll management, invoicing, and benefits using blockchain technology, simplifying how businesses pay distributed teams.</p>
<p>Before founding Bloccpay, Ajoke built a strong foundation in marketing and strategic growth through roles at major companies, including Procter &amp; Gamble and Flutterwave. Her work at the intersection of fintech and blockchain continues to position her as one of the innovators transforming Africa’s digital payment landscape and expanding economic access for global African talent.</p>
<h2><strong>2. Sarah Idahosa</strong></h2>
<p><strong>Partnerships and Sales Lead Africa, Mansa and Founder Women in DeFi</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/7377e4f0-267a-4498-81a9-bf2b6e5cff0c.jpg" alt="" style="display:block;margin:0 auto" />

<p>Sarah Idahosa is a respected Web3 leader known for her work in decentralized finance education, community development, and ecosystem partnerships. She is the founder of Women in DeFi, a pioneering community that empowers women with the knowledge and skills needed to transition into blockchain and Web3 careers.</p>
<p>Through Women in DeFi, Sarah has built programs that help individuals leverage their existing Web2 experience while gaining the technical and strategic skills needed to succeed in the decentralized economy. Her work has contributed significantly to expanding opportunities for women within the blockchain ecosystem.</p>
<p>In addition to leading Women in DeFi, Sarah manages partnerships at MANSA, a fintech company that improves global payments by leveraging stablecoin liquidity across emerging markets. She is also a recognized speaker who has shared insights at major industry platforms, including Nigeria FinTech Week, GDG DevFest Lagos, Africa Tech Summit in Kenya, and the Africa Money and DeFi Summit in Ghana.</p>
<h2><strong>3. Jennifer Echenim</strong></h2>
<p><strong>Co-founder and Chief Technology Officer of Bloccpay</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/8e98053a-b626-4b2f-9370-0b136d57f796.jpg" alt="" style="display:block;margin:0 auto" />

<p>Jennifer Echenim is the co-founder and Chief Technology Officer of Bloccpay, a Dubai-based fintech startup building crypto-powered, borderless payroll and invoicing solutions for African businesses and freelancers. A senior frontend engineer and blockchain specialist, Jennifer is focused on using decentralized technologies to solve one of the biggest challenges facing African talent today: seamless cross-border payments.</p>
<p>Through Bloccpay, she is helping bridge traditional financial systems with blockchain infrastructure by leveraging stablecoins to enable faster, more reliable, and accessible payment solutions. The platform is designed to empower African freelancers, remote workers, and businesses by simplifying how they invoice clients and receive payments globally without the friction often associated with international banking systems.</p>
<p>Jennifer’s work has earned international recognition, including being named one of the <strong>Top 20 Female Entrepreneurs to Watch Out For in 2024 by NY Weekly</strong>. Bloccpay was also selected for the <strong>2025 Techstars + Cardano Founder Catalyst Program</strong>, highlighting the startup’s potential to transform how African professionals participate in the global digital economy.</p>
<h2><strong>4. Atinuke Oluwabamikemi Kayode</strong></h2>
<p><strong>Open Source Lead, OSPO Now</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/fadec119-5d03-4ee6-b42f-4e6fdab2ba20.jpg" alt="" style="display:block;margin:0 auto" />

<p><a href="https://iambami.com">Atinuke Oluwabamikemi</a> is a community builder who advocates for diversity in the tech industry. Bami’s passion for community building has led her to manage and build vibrant communities, where she encourages members to learn publicly and give back through technical content and public speaking.<br />In addition, Bami is incredibly passionate about onboarding more females into the tech space and advocates for #womenintech through her work with SheCodeAfrica. Bami also advocates for beginners to get into the open-source space, regardless of their stack, and contribute to open-source projects.<br />Her willingness to work with different teams and open-mindedness make her a valuable asset to any project or organization. Bami’s dedication to promoting diversity and inclusion in tech and her commitment to sharing knowledge and empowering others make her a standout leader in the industry.</p>
<p>She is one of the community managers at Web3afrika, actively contributing to growing blockchain awareness through education, mentorship, and community initiatives. She continues to inspire more women to explore opportunities in emerging technologies.</p>
<h2><strong>5. Chaimae (Donna) Semdani</strong></h2>
<p><strong>Head of Communications, Aeternity Foundation</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/84a62348-963e-4832-8b57-6238a7e270ac.jpg" alt="" style="display:block;margin:0 auto" />

<p>Chaimae “Donna” Semdani is a marketing and communications leader specializing in growth strategy across the Web3, fintech, and decentralized finance ecosystems. With a strong track record of scaling brands and building global communities, she has helped companies transform marketing into a powerful driver of revenue and long-term growth.</p>
<p>Her experience spans the full marketing spectrum—from brand positioning and go-to-market strategy to demand generation, content systems, and community-led growth. Known for combining storytelling with performance-driven marketing, Donna has delivered measurable impact, including multi-million-dollar campaign revenue, large-scale social media growth, and significant improvements in community engagement and paid acquisition performance.</p>
<p>With a background in journalism and experience speaking at more than twenty international conferences, she brings a strong narrative perspective to her work. Whether shaping brand narratives or leading global marketing initiatives, Donna focuses on building trusted brands and scalable growth systems within fast-moving technology ecosystems.</p>
<h2><strong>6. Paloma Peter-Dzoho</strong></h2>
<p><strong>Founder and Host, Building Onchain</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/86f0c1f2-b949-46f2-b1fa-d1a271cb8d61.jpg" alt="" style="display:block;margin:0 auto" />

<p>Paloma Peter-Dzoho is a developer, technical content creator, podcast host, and community leader actively contributing to the growth of the Web3 ecosystem. She currently leads community initiatives at WomenBuildWeb3 and is an active member of the Developer DAO DevRel team, where she supports developers navigating the blockchain space.</p>
<p>With a technical background in JavaScript, Solidity, React, and Next.js, Paloma builds and shares educational resources to help developers understand and adopt Web3 technologies. Her work combines technical expertise with community engagement to support the next generation of blockchain builders.</p>
<p>She is also the host of <em>DevRel Onchain</em>, a podcast series and Twitter Space where she discusses developer relations, blockchain development, and the evolving Web3 landscape with industry experts and builders from around the world.</p>
<h2><strong>7. Nkechi Enebeli</strong></h2>
<p><strong>Community Developer, UGLYCASH</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/5a1a5262-1fbe-4c5c-9b5e-9570269bf500.jpg" alt="" style="display:block;margin:0 auto" />

<p>Nkechi is a community builder, content creator, and tech host dedicated to connecting people, opportunities, and technology across Africa. She currently leads community development at UglyCash, an American stablecoin application focused on transforming how people move money globally. Through onboarding initiatives, growth campaigns, and community engagement, she works to make crypto more accessible and practical for everyday users.</p>
<p>Before this role, Nkechi co-founded Base Africa, now known as Onchain Global, a community that helped drive adoption of Base across the continent. Through education, campaigns, and collaborations with builders and creators, the community played an important role in connecting Africa’s growing Web3 ecosystem to global on-chain opportunities.</p>
<p>Over the years, she has managed and scaled Web3 communities with thousands of active members while hosting and speaking at major tech events across Africa, including Web3Ladies, Lagos DevCon, and Web3 Lagos Conference. Her work centers on making Web3 inclusive, accessible, and empowering for the next generation of African builders.</p>
<h2><strong>8. Faith Mona Alumona</strong></h2>
<p><strong>Business Development and Partnership Manager, Tiva Finance.</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/897f4944-d5bc-4a7e-8df8-c13091194dfd.jpg" alt="" style="display:block;margin:0 auto" />

<p>Faith Mona Alumona is a Web3 business development professional known for driving growth through strategic partnerships, community engagement, and collaborative innovation. With a strong background in partnership development and sales strategy, she has worked with multiple organizations to expand their reach and build meaningful relationships across the blockchain ecosystem.</p>
<p>She currently serves as the Business Development Manager at Women in DeFi, where she leads operations and growth initiatives to empower women in the Web3 space. In this role, she has spearheaded collaborations with leading blockchain organizations, including Binance, Polygon, and Perpetual Protocol, and helped organize large-scale ecosystem events that have attracted over 1,500 participants.</p>
<p>Beyond partnerships and strategy, Faith is also a creative storyteller who simplifies complex Web3 ideas through accessible content. Her work across education, events, and strategic collaborations continues to make Web3 more understandable and inclusive for new audiences entering the ecosystem.</p>
<h2><strong>9. Oluchi Enebeli</strong></h2>
<p><strong>Principal Engineer - DeFi, Wio Bank and Founder of Web3Ladies</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/f3b83e84-0035-4d5f-8440-fc9b6bb6d121.jpg" alt="" style="display:block;margin:0 auto" />

<p>Oluchi Enebeli is a global engineering leader working at the intersection of blockchain integrations and AI-driven technologies. Oluchi is the first female engineer in Nigeria with over eight years of experience spanning blockchain engineering, product management, and startup leadership. She has helped build and scale products that power the decentralized economy.</p>
<p>Her career includes contributions to major blockchain organizations, including Binance, Crypto.com, Nestcoin, Liquidity (a ConsenSys-incubated startup), and Alluvial Finance. Combining technical expertise with strategic leadership, she focuses on developing innovative solutions that shape the future of decentralized finance and digital identity.</p>
<p>Oluchi is also the founder of Web3Ladies, the largest non-profit community supporting women professionals in Web3 across Africa. Through the organization, she continues to empower women with the skills, mentorship, and opportunities needed to thrive as builders and leaders in the blockchain ecosystem.</p>
<h2><strong>10. Esther Ekwonye</strong></h2>
<p><strong>Content Creator, Web3afrika</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/14734175-c4ce-451e-bf38-90d01db080f1.jpg" alt="" style="display:block;margin:0 auto" />

<p>Esther Ekwonye is a strong voice in the Web3 community, helping bridge knowledge gaps and supporting the growth of decentralized ecosystems. Her passion for community development makes her a key contributor to the ecosystem.</p>
<h2><strong>11. Precious Ezema</strong></h2>
<p><strong>Community Manager</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/090addcd-fa62-4fed-9f45-91cfe9e8643b.jpg" alt="" style="display:block;margin:0 auto" />

<p>Precious Ezema is a community builder and ecosystem strategist known for her work in growing and managing technology communities. She currently supports the management of Web3Ladies, one of Africa’s largest communities dedicated to empowering women in the blockchain space, while also working as a community manager at Enyata Inc., a software engineering company.</p>
<p>Within a year, she helped grow one community from zero members to over 5,000 participants while building partnerships with organizations such as Cassava Network, AR/VR Africa, and Celo. Her work focuses on creating environments where learning, collaboration, and innovation can thrive.</p>
<p>Beyond community management, Precious is passionate about digital skills education and has trained over 500 young professionals as a tech coach. She also contributes to initiatives that introduce programming skills to children and mentor young people exploring careers in technology.</p>
<h2><strong>12. Helen Obika (Raven)</strong></h2>
<p><strong>Product Designer</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/3c358265-f8f3-4835-a7e5-452adefc2193.jpg" alt="" style="display:block;margin:0 auto" />

<p>Helen Obika is a product designer specializing in user-centered experiences for Web3 products across sectors, including DeFi, NFTs, real-world assets, AI, and decentralized applications. With over three years of experience in the ecosystem, she focuses on designing intuitive interfaces that balance user needs with business goals.</p>
<p>She has collaborated with developers, founders, and product teams to improve user journeys and build accessible digital experiences that drive adoption and engagement. Her work aims to make complex blockchain products easier for users to understand and interact with.</p>
<p>Helen is also an active contributor within the Solana ecosystem as a member of Superteam, where she supports builders and participates in collaborative projects that strengthen the Web3 developer community.</p>
<h2><strong>13. Victoria Adedayo (Vickish)</strong></h2>
<p><strong>Developer Advocate</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/3e1801af-a09a-4cb0-b612-f59dc3e8cd8a.jpg" alt="" style="display:block;margin:0 auto" />

<p>Victoria Adedayo, widely known as Vickish, is a Developer Advocate focused on bridging the gap between Web2 and Web3 through education, developer relations, and technical advocacy. With a background in full-stack Web2 development, she transitioned into Web3, where she now supports developers building with blockchain technologies.</p>
<p>Her work includes writing technical documentation, creating developer tutorials, organizing workshops and bootcamps, and supporting developer communities on platforms such as Discord, Telegram, and X. She also works closely with engineering teams to improve the developer experience and to provide valuable feedback from the builder community.</p>
<p>Through her work in smart contract development and blockchain education, Victoria continues to empower developers to confidently explore decentralized technologies and build innovative Web3 solutions.</p>
<h2><strong>14. Ibi Fiberesima</strong></h2>
<p><strong>Community Manager, VMCC Builders DAO</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/3802fdf2-4219-4913-b0ec-577bbbafc346.jpg" alt="" style="display:block;margin:0 auto" />

<p>Ibi Fiberesima, also known as Fibi, is a community strategist and content creator who focuses on building meaningful digital ecosystems within the Web3 space. Her work sits at the intersection of community management and strategic storytelling, helping brands grow loyal communities rather than simply attracting attention.</p>
<p>She currently works as a Community Manager for a real-world asset (RWA) focused project, where she supports community engagement, internal testing initiatives, and ecosystem growth. Through her work, she helps bridge communication between technical teams and community members.</p>
<p>Alongside community management, Ibi creates user-generated content for Web3 and fintech products she actively uses, helping brands communicate clearly with real users while building transparency and trust.</p>
<h2><strong>15. Achusi Amara Jennifer (Marablossom)</strong></h2>
<p><strong>Co Founder Tulay Labs</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/0f4890a4-3372-4c53-87f7-e72c81d47f48.jpg" alt="" style="display:block;margin:0 auto" />

<p>Achusi Amara Jennifer, widely known as Marablossom, is a Web3 growth strategist specializing in community-driven marketing and operational strategy for blockchain projects. Since entering the Web3 ecosystem in 2020, she has focused on building systems that connect community engagement, marketing, and operational execution to drive sustainable growth.</p>
<p>She was a founding member of Women in DeFi, one of Africa’s largest women-led blockchain communities, where she served as Programs Manager and coordinated initiatives designed to educate and onboard new participants into Web3. She later worked at MARA as a Community and Token Advocate, supporting education initiatives and simplifying blockchain concepts through storytelling and community engagement.</p>
<p>Currently, she is building Tulay Labs, an innovation hub focused on supporting African builders, connecting startups to venture capital, and creating pathways for Web3 talent across the continent to access global opportunities.</p>
<h2><strong>16. Progress Ochuko Eyaadah (Koxy)</strong></h2>
<p><strong>Senior Blockchain Engineer, Toyow</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/9e8aa025-df7f-4544-a384-ca38caf9dc68.jpg" alt="" style="display:block;margin:0 auto" />

<p>Progress Ochuko Eyaadah, popularly known as Koxy, is a Senior Blockchain Engineer and Developer Relations leader with more than five years of experience across Web2 and Web3 technologies. She currently works at Toyow, a tokenized real-world asset platform, and is also an active contributor within the Stellar blockchain ecosystem.</p>
<p>She is the co-founder of Choppaddi, a blockchain-powered platform built on Stellar that connects decentralized infrastructure with real-world commerce. As a volunteer delegate for the Stellar Community Fund, she also reviews grant proposals and supports projects building within the ecosystem.</p>
<p>Beyond engineering, Progress serves as Lead Developer Relations volunteer at Women in DeFi, where she mentors developers transitioning into Web3 and supports the growth of inclusive developer communities across Africa.</p>
<h2><strong>17. Eniola Mercy Alabi</strong></h2>
<p><strong>Community Growth Strategist, LFG Incorporated</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/a7529b62-55e8-42a1-9d47-cdf55323dc04.jpg" alt="" style="display:block;margin:0 auto" />

<p>Eniola Mercy Alabi is a Web3 community and growth manager focused on helping blockchain brands build meaningful relationships with their audiences. Over the past three years, she has played a key role in managing and growing communities, hosting events, and leading educational initiatives that expand awareness and adoption of decentralized technologies across Africa.</p>
<p>Her work spans community strategy, content marketing, partnership development, and event management. Through these efforts, Eniola has helped Web3 projects strengthen their visibility, connect with the right audiences, and build sustainable ecosystems around their products.</p>
<p>Beyond community growth, she is also exploring the intersection of artificial intelligence and blockchain, particularly how emerging technologies can reshape community engagement, digital education, and user growth across emerging markets.</p>
<h2><strong>18. Mercy Thaddeus</strong></h2>
<p><strong>Frontend Engineer,</strong> <a href="http://HindSightVIP.LLC"><strong>HindSightVIP.LLC</strong></a></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/39181513-582c-43d4-8c1b-6383927afd1e.jpg" alt="" style="display:block;margin:0 auto" />

<p><a href="https://mercythaddeus.xyz">Mercy Thaddeus</a> is a software developer focused on building solutions at the intersection of blockchain and artificial intelligence. Her work centers on developing products that solve real-world problems while leveraging emerging technologies to improve security, efficiency, and user experience.</p>
<p>Throughout her career, Mercy has contributed to projects powered by smart contracts and machine learning, helping develop tools that enhance functionality and trust in digital systems. She has also been part of high-performing teams that have earned recognition and awards at various hackathons and innovation competitions.</p>
<p>A graduate of the University of Ilorin, Mercy continues to grow her expertise through hands-on projects, open-source contributions, and active participation in the global tech community. Beyond building products, she also shares knowledge through educational content and speaking engagements focused on technology, blockchain, and AI.</p>
<h2><strong>19. Yewande Abiodun</strong></h2>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/d1e0d270-9ea0-46ec-8052-390ab8892c7c.jpg" alt="" style="display:block;margin:0 auto" />

<p><strong>Ecosystem Growth Lead, Web3 Nigeria</strong><br />Yewande Abiodun is a Web3 go-to-market strategist and onchain adoption expert focused on driving real-world blockchain adoption across grassroots communities. Her work centers on helping protocols, ecosystems, and blockchain projects translate complex technology into practical impact, particularly across emerging markets in Africa.</p>
<p>She has designed go-to-market campaigns for Layer 2 networks and tokens, launched rural onboarding initiatives, and built thriving communities of over 40,000 members. Through her work, Yewande helps Web3 projects achieve meaningful adoption by combining community development, ecosystem partnerships, and culturally relevant storytelling.</p>
<p>Her experience includes leading campaigns, ghostwriting brand narratives, hosting high-impact X (Twitter) Spaces, and facilitating partnerships with global blockchain ecosystems such as Base, Celo, and Solana All Starz. By bridging global Web3 innovation with grassroots communities, Yewande continues to expand access to decentralized technology across the continent.</p>
<h2><strong>20. Ese Monday</strong></h2>
<p>Developer Advocate, Phala</p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/59de34a4-4c5d-490b-a891-e4bebcc5c4f4.jpg" alt="" style="display:block;margin:0 auto" />

<p>Ese Monday is a developer advocate and technical educator focused on supporting Web3 builders and developer communities. Her work combines software development, technical documentation, and developer enablement to help projects accelerate adoption and improve developer experience.</p>
<p>She contributes by building sample applications, creating tutorials and developer guides, and hosting workshops that help developers better understand blockchain tools and infrastructure. Through her work, she simplifies complex technical concepts and makes them accessible to both new and experienced developers.</p>
<p>Ese is passionate about community-driven learning and ecosystem growth, and she continues to support Web3 adoption by empowering developers with the knowledge and tools needed to build the next generation of decentralized technologies.</p>
<h2><strong>21. Tabitha Rotich</strong></h2>
<p>Regional Co-amabassador, Women-In-Blockchain</p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/61770925-2260-4c93-b133-47d307adda51.jpg" alt="" style="display:block;margin:0 auto" />

<p>Tabitha Rotich is an educator, entrepreneur, and Web3 community leader dedicated to expanding financial inclusion across emerging markets. Through her work, she focuses on helping individuals, particularly women, understand and leverage digital technologies to create economic opportunities and greater financial independence.</p>
<p>Her initiatives often combine education, technology, and community engagement to make complex innovations like blockchain more practical and accessible. By translating technical ideas into real-world solutions, Tabitha empowers individuals to explore new income streams and participate in the growing digital economy.</p>
<p>Driven by a passion for impact, she continues to champion programs that equip women with the knowledge and tools needed to thrive in the Web3 era, helping bridge the gap between innovation and opportunity.</p>
<h2><strong>22. Motunrayo Adeneye</strong></h2>
<p><strong>Community Manager, Web3afrika</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/8a6f242c-ce92-4206-8196-6d17f9bddaba.jpg" alt="" style="display:block;margin:0 auto" />

<p>Adijat Motunrayo Adeneye is a community manager at Queen Arit Circle and a technology professional passionate about building meaningful digital communities that empower people to learn, connect and grow.</p>
<p>Adijat brings a unique perspective to the web3 ecosystem by combining technical understanding with strong communication and engagement strategies.</p>
<p>She is experienced in creating inclusive environments where members can share knowledge, collaborate and discover opportunities within the tech ecosystem.</p>
<p>She is particularly passionate about helping people navigate new technologies and ensuring communities remain welcoming spaces for both beginners and experienced professionals.</p>
<h2><strong>23. Alice A.</strong></h2>
<p><strong>Director of Growth &amp; Ecosystem Management - Technology Group</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/ab988e97-00cd-49be-8c22-e2dd7b9b5484.jpg" alt="" style="display:block;margin:0 auto" />

<p>Alice A. is a technology entrepreneur and growth executive with over fifteen years of experience driving innovation across fintech, Web3, payments, and emerging digital infrastructure. Her work focuses on accelerating the adoption of blockchain and digital asset technologies across Africa while building sustainable technology ecosystems.</p>
<p>Throughout her career, Alice has led initiatives across business development, product design, strategic partnerships, and technical solution delivery. She has played a key role in connecting technology companies with market opportunities while helping organizations design scalable products that address real financial and infrastructure challenges.</p>
<p>Beyond corporate leadership, Alice is also deeply committed to youth empowerment, capacity building, and digital education. Through training programs and ecosystem initiatives, she continues to advocate for broader access to emerging technologies, ensuring that African innovators and entrepreneurs can fully participate in the global digital economy.</p>
<h2><strong>24. Chisom Felix</strong></h2>
<p><strong>Marketing Lead, NG</strong> <a href="http://Blockchain.com"><strong>Blockchain.com</strong></a><strong>,</strong> <strong>and Co-founder</strong> <a href="https://www.linkedin.com/company/96019545/"><strong>Felbeth</strong></a></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/acf553c3-5663-4428-870f-ca88f169673e.jpg" alt="" style="display:block;margin:0 auto" />

<p>Chisom is a marketing leader with more than seven years of experience across the cryptocurrency, B2B, B2C, and Web3 ecosystems. She specializes in designing strategic marketing initiatives that drive user acquisition, expand market reach, and build thriving global blockchain communities.</p>
<p>Over the course of her career, Chisom has held leadership roles with major Web3 companies, including the global cryptocurrency exchange Binance. In these roles, she has successfully launched products, executed go-to-market strategies, led user acquisition campaigns, and built strategic partnerships that strengthened brand positioning within highly competitive markets.</p>
<p>She is also the founder of Felbeth, a Web3 career-focused community and talent marketplace designed to help individuals build sustainable careers in blockchain. As co-founder and marketing operations lead at NFT NG, she helps build one of Africa’s largest Web3 talent communities, connecting creators, developers, and innovators through events and ecosystem initiatives.</p>
<p>Beyond her professional work, Chisom is a strong advocate for education and inclusion. Through her personal brand “Somehcrypto,” she mentors aspiring professionals and shares insights with a global online community of more than 100,000 followers, encouraging more people to explore opportunities in the Web3 ecosystem.</p>
<h2><strong>25. Wanjiru Mwoka</strong></h2>
<p><strong>Content Creator, Web3, Crypto &amp; Blockchain</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/d98ea8d3-c782-415f-8f61-974fb4ea6a19.jpg" alt="" style="display:block;margin:0 auto" />

<p>Wanjiru Mwoka is a marketing specialist with over eight years of experience working with influential organizations and change-makers across the digital landscape. Her work spans digital marketing, content strategy, community engagement, and project management, combining creative storytelling with data-driven decision-making.</p>
<p>She brings a strong blend of business acumen and cross-functional collaboration to every initiative, helping organizations strengthen their brand presence, build meaningful relationships with their audiences, and deliver measurable global results. Her expertise includes go-to-market planning, campaign development, brand positioning, and end-to-end content creation.</p>
<p>Passionate about the future of technology, Wanjiru actively explores how emerging technologies such as blockchain and artificial intelligence are transforming the way communities connect, create, and grow. Through her work, she continues to support organizations and ecosystems as they navigate the evolving digital economy.</p>
<h2>26. Ileolami Mercy</h2>
<p><strong>Technical Writer</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/5f517da11ed5446c783c2617/49057ea3-b402-4aee-8c67-2d641ae27140.jpg" alt="" style="display:block;margin:0 auto" />

<p>Ileolami Mercy is a technical writer, content specialist and frontend developer with a strong focus on Web3, blockchain and SaaS technologies.</p>
<p>With over two years of experience in the tech ecosystem, she specializes in transforming complex technical concepts into clear, accessible, and user-friendly content. Her work spans developer documentation, API references, onboarding guides, tutorials and product-focused marketing content.</p>
<p>Mercy has collaborated with global teams to build, audit and manage documentation systems that serve both technical and non-technical audiences. She is particularly skilled in restructuring documentation portals to improve usability, clarity, and user trust.</p>
<p>At <a href="https://web3afrika.com">Web3 Afrika</a>, spotlighting these women is part of a broader commitment to celebrating the builders and community leaders shaping the continent’s Web3 ecosystem. By amplifying their work, we hope to inspire the next generation of African women to explore opportunities in Web3, take up space, and continue pushing the ecosystem forward.</p>
<p>Accelerating action in Web3 means supporting the women already building the future and ensuring many more can join them.</p>
]]></content:encoded></item><item><title><![CDATA[Wallets Are the Front Door to Web3: Let’s Make Them Welcoming]]></title><description><![CDATA[Here's the thing about Web3: we keep talking about scalability, security, and decentralization, but most people never even make it past the first step. They try to set up a crypto wallet, get overwhelmed, and... give up.
I get it. I've watched friend...]]></description><link>https://blog.web3afrika.com/wallets-are-the-front-door-to-web3-lets-make-them-welcoming</link><guid isPermaLink="true">https://blog.web3afrika.com/wallets-are-the-front-door-to-web3-lets-make-them-welcoming</guid><category><![CDATA[walletux]]></category><category><![CDATA[Web3]]></category><category><![CDATA[wallet]]></category><category><![CDATA[algorand]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[software development]]></category><dc:creator><![CDATA[Omotejowho Mentie]]></dc:creator><pubDate>Fri, 11 Jul 2025 00:21:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1752325247781/1c69f6fb-4a1e-429a-b075-0807c069de1e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here's the thing about Web3: we keep talking about scalability, security, and decentralization, but most people never even make it past the first step. They try to set up a crypto wallet, get overwhelmed, and... give up.</p>
<p>I get it. I've watched friends and family members attempt their first Web3 experience, and it's honestly painful to witness. The tools we've built are potent, but they feel like they were designed by engineers for other engineers, not for regular people who want to try something new.</p>
<h2 id="heading-what-were-actually-asking-people-to-do">What We're Actually Asking People to Do</h2>
<p>Let's step back and think about what we're asking someone to do when they want to dip their toes into Web3:</p>
<p>First, they need to write down 24 random words in the exact right order. Then we tell them that if they lose this piece of paper, they'll lose everything forever. No pressure, right?</p>
<p>Next, they have to pay mysterious "gas fees" that can range from $2 one day to $50 the next, with no clear explanation of why. And finally, they need to approve transactions that appear to have been written in a foreign language, accompanied by warnings about the risk of losing their money if they make a mistake.</p>
<p>When you put it like that, it's actually amazing that anyone sticks around at all.</p>
<h2 id="heading-what-using-a-wallet-should-actually-feel-like">What Using a Wallet Should Actually Feel Like</h2>
<p>What does a great wallet experience look like? Opening your phone, tapping Face ID, and paying for coffee. Or logging in to Netflix with your Google account. Simple, familiar, and safe.</p>
<p>That's what Web3 wallets should feel like. People shouldn't need a computer science degree to send their friend some crypto or buy their first NFT.</p>
<p>Imagine setting up a wallet as easily as creating an Instagram account. If you could recover access like you reset your Netflix password. If transactions were explained in plain English, and you never had to worry about losing your life savings because you clicked the wrong button.</p>
<p>This isn't some far-off dream. The technology to make this happen already exists.</p>
<h2 id="heading-account-abstraction-the-game-changer">Account Abstraction: The Game Changer</h2>
<p>Account abstraction may sound fancy, but it's really just about making wallets smarter, so users don't have to be crypto experts.</p>
<p>Instead of having one magic key that controls everything (your private key), account abstraction lets wallets be more like a helpful assistant. Your wallet can learn your preferences, keep you safe from obvious mistakes, and handle the complicated stuff in the background.</p>
<p>Think of it this way: right now, using a crypto wallet is like manually starting your car with a hand crank every time you want to drive. Account abstraction is like getting a car with a push-button start. Same destination, way less hassle.</p>
<h2 id="heading-the-problem-with-most-solutions">The Problem with Most Solutions</h2>
<p>Here's where things get interesting. Most blockchains are attempting to incorporate account abstraction into their existing systems. It's like trying to turn your old car into a Tesla by bolting on several aftermarket parts. It works, but it is complicated, expensive, and prone to failure.</p>
<p>Ethereum's approach, for example, requires additional smart contracts, specialized infrastructure, and numerous moving parts that must all work together seamlessly. It's clever engineering, but it adds complexity, delays, and costs.</p>
<h2 id="heading-why-algorands-approach-is-different">Why Algorand's Approach Is Different</h2>
<p>Algorand did something really smart: they built account abstraction right into the DNA of their blockchain. They call it Logic Signatures, but don't let the technical name fool you. It's actually much simpler than what everyone else is doing.</p>
<p>Think of it like this: instead of retrofitting an old house with smart home technology, Algorand built a smart house from the ground up. Everything just works together naturally.</p>
<p>With Logic Signatures, your wallet can:</p>
<ul>
<li><p>Set up rules for different types of transactions</p>
</li>
<li><p>Let someone else pay your fees when you're starting out</p>
</li>
<li><p>Bundle multiple actions into one simple step</p>
</li>
<li><p>Keep you safe without making you jump through hoops</p>
</li>
</ul>
<p>And because it's built into the blockchain itself, everything happens instantly without any extra complexity.</p>
<h2 id="heading-the-little-things-that-make-a-big-difference">The Little Things That Make a Big Difference</h2>
<p>Beyond the smart account features, Algorand got the basics right, too:</p>
<p><strong>Transactions finish in about 3 seconds.</strong> No more staring at your screen, wondering if something went wrong. You click send, and three seconds later, it's done.</p>
<p><strong>Fees cost less than a penny.</strong> You can actually use the thing without worrying about spending $20 on fees for a $5 transaction.</p>
<p><strong>You can bundle actions together.</strong> Instead of three separate, confusing steps, you can do everything in one go.</p>
<p><strong>It's environmentally friendly.</strong> You don't have to feel guilty about the energy usage.</p>
<p>These might seem like small things, but they add up to create an experience that feels reliable and predictable, rather than stressful and confusing.</p>
<h2 id="heading-what-this-means-for-regular-people">What This Means for Regular People</h2>
<p>Here's what gets me excited: with the right infrastructure in place, we can finally build wallets that normal people actually want to use.</p>
<p>Picture this: you download an app, sign up with your email or phone number, and you're ready to go. No seed phrases to write down. No scary warnings about losing everything. No surprise fees.</p>
<p>When you want to do something, the app explains it in plain English. "Hey, you're about to buy this digital collectible for $10. The seller will receive $9.50, and $0.50 will be allocated to the marketplace. Sound good?"</p>
<p>If you lose your phone, you can recover your account just like you would with any other app. If you want to send money to a friend, it's as easy as sending a text message.</p>
<p>This isn't wishful thinking. This is what becomes possible when you have the right foundation.</p>
<h2 id="heading-why-this-matters">Why This Matters</h2>
<p>Web3 has incredible potential. The idea that people can truly own their digital assets, participate in new types of organizations, and interact directly with each other without big tech companies in the middle? That's genuinely exciting.</p>
<p>But none of that matters if regular people can't actually use the tools we're building.</p>
<p>We've spent years enhancing the technology's power. Now we need to spend just as much energy making it more human. We need to design for your mom, your college roommate, and that friend who still asks you to help them with their computer.</p>
<p>The good news is that platforms like Algorand are giving us the tools to do precisely that. The infrastructure is ready. The technology works. Now we just need to build interfaces that feel like they belong in 2025, not 2015.</p>
<h2 id="heading-the-path-forward">The Path Forward</h2>
<p>The future of Web3 isn't about adding more features or making the technology more complex. It's about making powerful technology feel simple and safe.</p>
<p>It's about creating experiences where people can focus on what they want to accomplish, rather than worrying about the technical details. Where setting up a wallet feels like setting up any other app. Sending crypto feels as natural as sending a photo.</p>
<p>We have the tools to make this happen. Algorand's native account abstraction, instant transactions, and predictable fees create a foundation that's actually designed for mainstream adoption.</p>
<p>Now it's up to all of us to build on that foundation. To create the friendly, intuitive, welcoming experiences that will bring Web3 to everyone, not just the early adopters.</p>
<p>Because at the end of the day, the best technology is the technology that gets out of your way and lets you do what you want to do. And that's precisely what Web3 should be.</p>
<p>The wallet should be your friend, not your enemy. Let's build it that way.</p>
]]></content:encoded></item><item><title><![CDATA[Deploying and Interacting with EVM Contracts]]></title><description><![CDATA[Writing smart contract code is only the beginning if you’re trying to build anything onchain. You’ll need to deploy the contract onchain where you can interact with it and build further.
Deploying smart contracts on EVM (Ethereum Virtual Machine) cha...]]></description><link>https://blog.web3afrika.com/deploying-and-interacting-with-evm-contracts</link><guid isPermaLink="true">https://blog.web3afrika.com/deploying-and-interacting-with-evm-contracts</guid><category><![CDATA[Go Language]]></category><category><![CDATA[Solidity]]></category><category><![CDATA[Programming Blogs]]></category><category><![CDATA[Smart Contracts]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Web3]]></category><category><![CDATA[foundry]]></category><category><![CDATA[geth]]></category><dc:creator><![CDATA[Ukeje Chukwemeriwo Goodness]]></dc:creator><pubDate>Sat, 15 Mar 2025 17:24:16 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742048269961/6fbfa853-fcc3-4b16-bd71-0cb0da34a623.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Writing smart contract code is only the beginning if you’re trying to build anything onchain. You’ll need to deploy the contract onchain where you can interact with it and build further.</p>
<p>Deploying smart contracts on EVM (Ethereum Virtual Machine) chains is easy, and with the right tools, it gets easier. This article will walk you through deploying Solidity smart contracts on any EVM chain with Foundry and interacting with them with a client library.</p>
<h2 id="heading-getting-started-with-deploying-smart-contracts">Getting Started with Deploying Smart Contracts</h2>
<p>You’ll learn how to deploy <a target="_blank" href="https://blog.web3afrika.com/smart-contracts-and-the-ethereum-blockchain">smart contracts</a> by deploying a batch transfer smart contract. You’ll find this useful for airdropping tokens to multiple addresses. You’ll deploy the contract on the Base network and interact with it via the Geth (the Go Ethereum implementation) framework.</p>
<p>First, let’s set you up with the tools you’ll need to deploy smart contracts. There are many tools on the market, but after some research, I found <strong>Foundry</strong> attractive.</p>
<p>Foundry is a suite of tools for Ethereum development written in Rust, and you can run it anywhere. Install it with this command:</p>
<pre><code class="lang-bash">curl -L &lt;https://foundry.paradigm.xyz&gt; | bash
</code></pre>
<p>Once the installation is complete, execute the <code>foundryup</code> command to complete the installation.</p>
<pre><code class="lang-bash">foundryup
</code></pre>
<p>The <code>foundryup</code> command will set up <code>forge</code> (the smart contract development tool) and <code>cast</code> (a CLI tool for interacting with Ethereum).</p>
<p>Now, create a new directory for your project on your computer and initialize a new project with Foundry with this command:</p>
<pre><code class="lang-bash">forge init airdroped
</code></pre>
<p>Now, open up the <code>airdroped</code> project in your code editor of choice. You should have this setup with a <code>README.md</code> that provides rudimentary Foundry documentation.</p>
<h2 id="heading-publishing-smart-contracts-to-evm-networks">Publishing Smart Contracts to EVM Networks</h2>
<p><img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5c4d9a1-8345-4f53-a42e-5a6391e548b4_1000x712.png" alt /></p>
<p>Create a <a target="_blank" href="https://blog.web3afrika.com/getting-started-with-solidity-all-you-need-to-know-a-step-by-step-guide">Solidity</a> file in the <code>src</code> directory for your smart contract and paste this program.</p>
<pre><code class="lang-solidity"><span class="hljs-comment">// SPDX-License-Identifier: MIT</span>
<span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> ^0.8.0;</span>

<span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">IERC20</span> </span>{
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">transferFrom</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> sender, <span class="hljs-keyword">address</span> recipient, <span class="hljs-keyword">uint256</span> amount</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>)</span>;
}

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">BatchTransfer</span> </span>{
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">batchTransfer</span>(<span class="hljs-params">
        <span class="hljs-keyword">address</span> token,
        <span class="hljs-keyword">address</span>[] <span class="hljs-keyword">calldata</span> recipients,
        <span class="hljs-keyword">uint256</span>[] <span class="hljs-keyword">calldata</span> amounts
    </span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> </span>{
        <span class="hljs-built_in">require</span>(recipients.<span class="hljs-built_in">length</span> <span class="hljs-operator">=</span><span class="hljs-operator">=</span> amounts.<span class="hljs-built_in">length</span>, <span class="hljs-string">"Array lengths do not match"</span>);

        <span class="hljs-keyword">for</span> (<span class="hljs-keyword">uint256</span> i <span class="hljs-operator">=</span> <span class="hljs-number">0</span>; i <span class="hljs-operator">&lt;</span> recipients.<span class="hljs-built_in">length</span>; i<span class="hljs-operator">+</span><span class="hljs-operator">+</span>) {
            <span class="hljs-built_in">require</span>(
                IERC20(token).transferFrom(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, recipients[i], amounts[i]),
                <span class="hljs-string">"Transfer failed"</span>
            );
        }
    }
}
</code></pre>
<p>The <code>IERC20</code> interface defines the signature for the <code>transferFrom</code> function, which lets the contract transfer tokens on behalf of users after they approve it.</p>
<p>The <code>BatchTransfer</code> contract handles ERC20 token transfers to multiple recipients in one transaction. The <code>batch transfer</code> function in the contract takes in the user’s address, the list of recipients, and the corresponding amounts they should receive. If the arrays have corresponding lengths, the contract transfers the specified amounts to the <code>transferFrom</code> function.</p>
<p>In the client implementation, the sender address must approve the token transfer for the contract to spend the tokens; that’s the only overhead, but the same amount in gas will be paid for any transfer amount.</p>
<p>Execute this command to deploy the contract on your EVM-compatible network of choice over the <code>forge</code> command.</p>
<pre><code class="lang-bash">forge create --rpc-url &lt;RPC_URL&gt; --private-key &lt;PRIVATE_KEY&gt; &lt;CONTRACT_PATH&gt;:&lt;CONTRACT_NAME&gt;
</code></pre>
<p>The command compiles the specified smart contract, signs the deployment transaction with the private key for authentication, and sends it to the blockchain via the RPC URL, registering the contract at a unique address where you can interact.</p>
<p>Add a <code>--broadcast</code> flag to the command to broadcast it to the network and deploy the contract onchain.</p>
<pre><code class="lang-bash">forge create --rpc-url &lt;RPC_URL&gt; --private-key &lt;PRIVATE_KEY&gt; &lt;CONTRACT_PATH&gt;:&lt;CONTRACT_NAME&gt; --broadcast
</code></pre>
<p>The command should return the transaction hash, deployment address, and other details when executing it. Head to a block explorer on the chain where you’ve deployed the contract to verify the deployment.</p>
<p><img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2ee74c1-3d46-4d6b-85fe-088c11833bfb_2774x1350.png" alt /></p>
<p>Congratulations! You’ve successfully deployed/published a smart contract. Now, you’ll need to interact with the contract using a client library.</p>
<h2 id="heading-interacting-with-smart-contracts">Interacting with Smart Contracts</h2>
<p>You can use Ethereum-supported client libraries to interact with smart contracts deployed on any EVM chain. In this tutorial, you’ll learn with Geth (Go-Ethereum) the official client implementation of Ethereum.</p>
<p>First, execute these commands in a new Go project to add <code>go-ethereum</code> as a dependency and install <code>abigen</code>, a command line tool for transpiling smart contract ABIs into Go interactive methods.</p>
<pre><code class="lang-bash">go get github.com/ethereum/go-ethereum
go install github.com/ethereum/go-ethereum/cmd/abigen@latest
</code></pre>
<p>You may also need to <a target="_blank" href="https://docs.soliditylang.org/en/latest/installing-solidity.html">install the Solidity compiler</a> if you don’t have the ABI and you need to generate it from the Solidity program</p>
<p>Execute this command to generate the ABI from the Solidity program after installing the Solidity compiler.</p>
<pre><code class="lang-bash">// code to transpile to Go
solc --abi --bin --optimize --overwrite -o build/ &lt;filename&gt;.sol
</code></pre>
<p>Here’s the ABI of the <code>BatchTransfer</code> smart contract.</p>
<pre><code class="lang-json">[
  {
    <span class="hljs-attr">"inputs"</span>: [
      {
        <span class="hljs-attr">"internalType"</span>: <span class="hljs-string">"address"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">"token"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"address"</span>
      },
      {
        <span class="hljs-attr">"internalType"</span>: <span class="hljs-string">"address[]"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">"recipients"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"address[]"</span>
      },
      {
        <span class="hljs-attr">"internalType"</span>: <span class="hljs-string">"uint256[]"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">"amounts"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"uint256[]"</span>
      }
    ],
    <span class="hljs-attr">"name"</span>: <span class="hljs-string">"batchTransfer"</span>,
    <span class="hljs-attr">"outputs"</span>: [],
    <span class="hljs-attr">"stateMutability"</span>: <span class="hljs-string">"nonpayable"</span>,
    <span class="hljs-attr">"type"</span>: <span class="hljs-string">"function"</span>
  }
]
</code></pre>
<p>Now, execute this command to generate the Go bindings for the smart contract’s functions.</p>
<pre><code class="lang-bash">abigen --abi &lt;path-to-abi&gt; --bin &lt;path-to-bytecode&gt; --pkg &lt;package-name&gt; --out &lt;output-file.go&gt;
</code></pre>
<p>You can view the Go code generated by executing the command in the same directory as your ABI. Do not edit the file; if you do, all changes will be lost.</p>
<p>Here’s a function that interacts with the batch transfer smart contact.</p>
<pre><code class="lang-go"><span class="hljs-comment">// BatchTransferAssets performs a batch transfer of assets on Ethereum.</span>
<span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">BatchTransferAssets</span><span class="hljs-params">(privateKeyHex, tokenAddress, contractAddress <span class="hljs-keyword">string</span>, recipients []<span class="hljs-keyword">string</span>, amounts []*big.Int, chainID *big.Int, rpcURL <span class="hljs-keyword">string</span>)</span> <span class="hljs-title">error</span></span> {
    <span class="hljs-comment">// Connect to the Ethereum client</span>
    client, err := ethclient.Dial(rpcURL)
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        <span class="hljs-keyword">return</span> fmt.Errorf(<span class="hljs-string">"failed to connect to Ethereum client: %w"</span>, err)
    }

    privateKey, err := crypto.HexToECDSA(privateKeyHex)
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        <span class="hljs-keyword">return</span> fmt.Errorf(<span class="hljs-string">"failed to parse private key: %w"</span>, err)
    }

    publicKey := privateKey.Public()
    publicKeyECDSA, ok := publicKey.(*ecdsa.PublicKey)
    <span class="hljs-keyword">if</span> !ok {
        <span class="hljs-keyword">return</span> errors.New(<span class="hljs-string">"error casting public key to ECDSA"</span>)
    }

    fromAddress := crypto.PubkeyToAddress(*publicKeyECDSA)
    nonce, err := client.PendingNonceAt(context.Background(), fromAddress)
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        <span class="hljs-keyword">return</span> fmt.Errorf(<span class="hljs-string">"failed to get nonce: %w"</span>, err)
    }
    gasPrice, err := client.SuggestGasPrice(context.Background())
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        <span class="hljs-keyword">return</span> fmt.Errorf(<span class="hljs-string">"failed to get gas price: %w"</span>, err)
    }

    auth, err := bind.NewKeyedTransactorWithChainID(privateKey, chainID)
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        <span class="hljs-keyword">return</span> fmt.Errorf(<span class="hljs-string">"failed to create transaction signer: %w"</span>, err)
    }

    auth.Nonce = big.NewInt(<span class="hljs-keyword">int64</span>(nonce))
    auth.Value = big.NewInt(<span class="hljs-number">0</span>)      <span class="hljs-comment">// Amount to send in wei (0 for token transfer)</span>
    auth.GasLimit = <span class="hljs-keyword">uint64</span>(<span class="hljs-number">3000000</span>) <span class="hljs-comment">// Gas limit</span>
    auth.GasPrice = gasPrice

    batchContract, err := NewBatchtransfer(common.HexToAddress(contractAddress), client)
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        <span class="hljs-keyword">return</span> fmt.Errorf(<span class="hljs-string">"failed to create contract instance: %w"</span>, err)
    }

    recipientAddresses := <span class="hljs-built_in">make</span>([]common.Address, <span class="hljs-built_in">len</span>(recipients))
    <span class="hljs-keyword">for</span> i, addr := <span class="hljs-keyword">range</span> recipients {
        recipientAddresses[i] = common.HexToAddress(addr)
    }

    tx, err := batchContract.BatchTransfer(auth, common.HexToAddress(tokenAddress), recipientAddresses, amounts)
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        <span class="hljs-keyword">return</span> fmt.Errorf(<span class="hljs-string">"batch transfer failed: %w"</span>, err)
    }

    fmt.Printf(<span class="hljs-string">"Batch transfer initiated. Transaction hash: %s\\n"</span>, tx.Hash().Hex())
    <span class="hljs-keyword">return</span> <span class="hljs-literal">nil</span>
}
</code></pre>
<p>The function connects to Ethereum, signs a transaction, interacts with a batch transfer smart contract to send tokens to multiple recipients, and prints the transaction hash once it is successful.</p>
<p>The <code>NewBatchtransfer</code> creates a new instance of the smart contract, and the <code>BatchTransfer</code> method performs the batch transfer of tokens, taking the transaction signer (<code>auth</code>), the token contract address (<code>tokenAddress</code>), the list of recipient addresses (<code>recipient addresses</code>), and the list of amounts (<code>amounts</code>) to transfer.</p>
<p>Here’s a main function with the <code>BatchTransferAssets</code> function call and all variables instantiated properly</p>
<pre><code class="lang-go"><span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
    <span class="hljs-comment">// Replace these values with your own configurations</span>
    privateKeyHex := <span class="hljs-string">"YOUR_PRIVATE_KEY"</span>                       <span class="hljs-comment">// Replace with your private key</span>
    tokenAddress := <span class="hljs-string">"0xTokenContractAddressHere"</span>             <span class="hljs-comment">// Replace with your token contract address</span>
    contractAddress := <span class="hljs-string">"0xBatchTransferContractAddressHere"</span>  <span class="hljs-comment">// Replace with your batch transfer contract address</span>
    rpcURL := <span class="hljs-string">"&lt;https://mainnet.infura.io/v3/YOUR_INFURA_KEY&gt;"</span> <span class="hljs-comment">// Replace with your Ethereum RPC endpoint</span>
    chainID := big.NewInt(<span class="hljs-number">8453</span>)                                <span class="hljs-comment">// Mainnet ChainID</span>

    <span class="hljs-comment">// Define recipients and amounts</span>
    recipients := []<span class="hljs-keyword">string</span>{
        <span class="hljs-string">"0xRecipientAddress1"</span>,
        <span class="hljs-string">"0xRecipientAddress2"</span>,
        <span class="hljs-string">"0xRecipientAddress3"</span>,
    }

    amounts := []*big.Int{
        big.NewInt(<span class="hljs-number">1000000000000000000</span>), <span class="hljs-comment">// 1 token (assuming 18 decimals)</span>
        big.NewInt(<span class="hljs-number">2000000000000000000</span>), <span class="hljs-comment">// 2 tokens</span>
        big.NewInt(<span class="hljs-number">1500000000000000000</span>), <span class="hljs-comment">// 1.5 tokens</span>
    }

    <span class="hljs-comment">// Call the batch transfer function</span>
    err := BatchTransferAssets(privateKeyHex, tokenAddress, contractAddress, recipients, amounts, chainID, rpcURL)
    <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
        log.Fatalf(<span class="hljs-string">"Batch transfer failed: %v"</span>, err)
    }
}
</code></pre>
<p>On running the program, if everything is right, this is the output you should expect.</p>
<p><img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3c0019-3437-4dac-811c-83f74f5b7fd6_2374x704.png" alt /></p>
<p>The code and processes in this article are excerpts from the <a target="_blank" href="https://github.com/goodylili/airdroped">airdroped project on GitHub</a>. Feel free to play around with them and enjoy.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>You’ve learned how to deploy smart contracts to the 60+ EVM L1 and L2 and how to interact with them from client implementations like Geth.</p>
<p>Your next steps could be anything from building more complex batch transfer mechanisms across other EVM and non-EVM compatible chains to building other smart contracts; whichever you choose, remember you can always lean back on the Web3Afrika community of devs if you get stuck.</p>
]]></content:encoded></item><item><title><![CDATA[Getting Started with Solidity, All you need to know (A Step by Step Guide).]]></title><description><![CDATA[Solidity is a high-level programming language that is specifically used to write smart contracts on the Ethereum blockchain. Smart contracts are self-executing programs that enforce the terms of an agreement between two or more parties, thereby elimi...]]></description><link>https://blog.web3afrika.com/getting-started-with-solidity-all-you-need-to-know-a-step-by-step-guide</link><guid isPermaLink="true">https://blog.web3afrika.com/getting-started-with-solidity-all-you-need-to-know-a-step-by-step-guide</guid><category><![CDATA[Solidity]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[React]]></category><dc:creator><![CDATA[Vinyl Davyl]]></dc:creator><pubDate>Sat, 06 May 2023 20:18:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742047986885/b6720106-2e52-49ff-88b1-f0cb39127d08.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Solidity is a high-level programming language that is specifically used to write smart contracts on the Ethereum blockchain. Smart contracts are self-executing programs that enforce the terms of an agreement between two or more parties, thereby eliminating the need for intermediaries.</p>
<p>In this article, we will provide a comprehensive guide on how to get started with Solidity. We will begin with a brief introduction to the language and its fundamental structure, followed by an overview of data types, functions, and events in Solidity. This will be a step-by-step guide that will take you through the process of writing smart contracts using Solidity. So, let's dive in and learn how to write efficient and effective smart contracts.</p>
<h3 id="heading-getting-started">Getting Started</h3>
<p>To begin writing Solidity code, there are a few essential tools you need to have in your arsenal. These include:</p>
<ol>
<li><p><strong>A development environment</strong>: You can choose between an online Integrated Development Environment (IDE) like Remix or a local development environment like Hardhat. Remix allows you to write and test Solidity code in your browser, while Hardhat provides more control over your development process.</p>
</li>
<li><p><strong>A text editor:</strong> Any text editor like Visual Studio Code, Atom, or Sublime Text will work.</p>
</li>
<li><p><strong>An Ethereum wallet:</strong> To deploy your smart contracts to the blockchain, you need an Ethereum wallet. There are several options available, including MetaMask and MyEtherWallet.</p>
</li>
<li><p><strong>A Solidity compiler:</strong> The Solidity compiler compiles your code into bytecode that can be executed on the Ethereum Virtual Machine (EVM). The most commonly used compiler is the solc compiler.</p>
</li>
</ol>
<h3 id="heading-basic-structure">Basic Structure</h3>
<p>A Solidity contract is a collection of functions and data that can be deployed to the Ethereum blockchain. Here's an example of a simple Solidity contract:</p>
<pre><code class="lang-javascript">pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.0</span>;

contract MyContract {
    uint256 myVariable;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">set</span>(<span class="hljs-params">uint256 _myVariable</span>) <span class="hljs-title">public</span> </span>{
        myVariable = _myVariable;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">get</span>(<span class="hljs-params"></span>) <span class="hljs-title">public</span> <span class="hljs-title">view</span> <span class="hljs-title">returns</span> (<span class="hljs-params">uint256</span>) </span>{
        <span class="hljs-keyword">return</span> myVariable;
    }
}
</code></pre>
<p>Hey, Don't Chicken Out! We would explain and go through this together. Cool!👌</p>
<p>In this contract, there is a state variable <code>myVariable</code>, <code>set</code>, <code>get</code>.</p>
<p>This Solidity code creates a smart contract with a single unsigned integer variable called <code>myVariable</code> It has two functions, <code>set</code> and <code>get</code>. The <code>set</code> function takes an argument <code>_myVariable</code> and sets the value of <code>myVariable</code> to it. The <code>get</code> function returns the current value of <code>myVariable</code>. The pragma statement specifies the version of the Solidity compiler to be used.</p>
<p>Cool Right? It's Just the Intro, Let's dive right into data types In solidity.👨‍🍳</p>
<h3 id="heading-data-types">Data Types</h3>
<p>Here's an explanation of some data types in Solidity with examples:</p>
<ul>
<li><p><code>bool</code></p>
<p>  : A boolean value that can be either <code>true</code> or <code>false</code>. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">bool</span> myBool <span class="hljs-operator">=</span> <span class="hljs-literal">true</span>;
</code></pre>
<ul>
<li><p><code>int</code></p>
<p>  and <code>uint</code>: These are integer types where <code>int</code> can store negative values and <code>uint</code> can only store positive values. The number after the type determines the number of bits used to represent the value. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">int8</span> myInt8 <span class="hljs-operator">=</span> <span class="hljs-number">-123</span>;
<span class="hljs-keyword">uint16</span> myUint16 <span class="hljs-operator">=</span> <span class="hljs-number">12345</span>;
</code></pre>
<ul>
<li><p><code>address</code></p>
<p>  : This is a 20-byte variable used to store Ethereum addresses. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">address</span> myAddress <span class="hljs-operator">=</span> <span class="hljs-number">0x1234567890123456789012345678901234567890</span>;
</code></pre>
<ul>
<li><p><code>string</code></p>
<p>  : This is used to store dynamic string values. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">string</span> myString <span class="hljs-operator">=</span> <span class="hljs-string">"Hello, world!"</span>;
</code></pre>
<ul>
<li><p><code>bytes</code></p>
<p>  : This is used to store byte arrays. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">bytes</span> myBytes <span class="hljs-operator">=</span> <span class="hljs-string">hex"0011223344556677"</span>;
</code></pre>
<ul>
<li><p><code>struct</code></p>
<p>  : A struct is a custom-defined composite type that groups other variables. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">struct</span> <span class="hljs-title">Person</span> {
    <span class="hljs-keyword">string</span> name;
    <span class="hljs-keyword">uint</span> age;
}

Person myPerson <span class="hljs-operator">=</span> Person(<span class="hljs-string">"Alice"</span>, <span class="hljs-number">25</span>);
</code></pre>
<ul>
<li><p><code>enum</code></p>
<p>  : An enumeration is a custom-defined type that defines a set of named constants. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">enum</span> <span class="hljs-title">Color</span> { RED, GREEN, BLUE }
Color myColor <span class="hljs-operator">=</span> Color.RED;
</code></pre>
<ul>
<li><p><code>mapping</code></p>
<p>  : A mapping is a key-value store where the keys and values can be of any type. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">mapping</span>(<span class="hljs-keyword">address</span> <span class="hljs-operator">=</span><span class="hljs-operator">&gt;</span> <span class="hljs-keyword">uint256</span>) balances;
balances[<span class="hljs-number">0x1234567890123456789012345678901234567890</span>] <span class="hljs-operator">=</span> <span class="hljs-number">100</span>;
</code></pre>
<ul>
<li><p><code>array</code></p>
<p>  : An array is used to store a collection of values of the same type. For example:</p>
</li>
</ul>
<pre><code class="lang-solidity"><span class="hljs-keyword">uint256</span>[] myArray <span class="hljs-operator">=</span> [<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>];
</code></pre>
<p>These are just some of the basic data types available in Solidity. There are more specialized types such as fixed-point numbers, multi-dimensional arrays, and others that you can learn about as you dive deeper into Solidity programming.</p>
<p>Next Up, Functions!✨</p>
<h3 id="heading-functions">Functions</h3>
<p>Functions are an essential component of Solidity, allowing developers to define the behavior and functionality of smart contracts. We would go through some key examples of functions in Solidity:</p>
<ul>
<li>Defining a public function:</li>
</ul>
<pre><code class="lang-javascript">pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.0</span>;

contract MyContract {
    uint256 myVariable;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">set</span>(<span class="hljs-params">uint256 _myVariable</span>) <span class="hljs-title">public</span> </span>{
        myVariable = _myVariable;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">get</span>(<span class="hljs-params"></span>) <span class="hljs-title">public</span> <span class="hljs-title">view</span> <span class="hljs-title">returns</span> (<span class="hljs-params">uint256</span>) </span>{
        <span class="hljs-keyword">return</span> myVariable;
    }
}
</code></pre>
<p>In this example, we define two functions <code>set</code> and <code>get</code>. The <code>set</code> function is a public function that sets the value of <code>myVariable</code>, while the <code>get</code> function is a public view function that returns the value of <code>myVariable</code>.</p>
<ul>
<li>Defining a private function:</li>
</ul>
<pre><code class="lang-javascript">pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.0</span>;

contract MyContract {
    uint256 myVariable;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">set</span>(<span class="hljs-params">uint256 _myVariable</span>) <span class="hljs-title">public</span> </span>{
        myVariable = _myVariable;
        doSomething();
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">doSomething</span>(<span class="hljs-params"></span>) <span class="hljs-title">private</span> </span>{
        <span class="hljs-comment">// Do something here</span>
    }
}
</code></pre>
<p>In this example, we define a private function <code>doSomething</code> which can only be called from within the contract (<code>set</code> calls <code>doSomething</code>). Private functions are not visible to external contracts or accounts.</p>
<ul>
<li>Defining an external function:</li>
</ul>
<pre><code class="lang-javascript">pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.0</span>;

contract MyContract {
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">doSomething</span>(<span class="hljs-params"></span>) <span class="hljs-title">external</span> </span>{
        <span class="hljs-comment">// Do something here</span>
    }
}
</code></pre>
<p>In this example, we define an external function <code>doSomething</code>. External functions can only be called from outside the contract and not from within the contract itself.</p>
<ul>
<li>Defining an internal function:</li>
</ul>
<pre><code class="lang-javascript">pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.0</span>;

contract MyContract {
    uint256 myVariable;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">set</span>(<span class="hljs-params">uint256 _myVariable</span>) <span class="hljs-title">public</span> </span>{
        myVariable = _myVariable;
        doSomething();
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">doSomething</span>(<span class="hljs-params"></span>) <span class="hljs-title">internal</span> </span>{
        <span class="hljs-comment">// Do something here</span>
    }
}
</code></pre>
<p>In this example, we define an internal function <code>doSomething</code> which can only be called from within the contract or any derived contracts. Internal functions are not visible to external contracts or accounts.</p>
<p>Next Up, Events!✨</p>
<h3 id="heading-events">Events</h3>
<p>Events in Solidity are used to notify external applications or contracts about certain actions that have occurred within a smart contract. They are similar to log messages and can be accessed via the Ethereum blockchain.</p>
<p>Here is an example of how to create and emit an event in Solidity:</p>
<pre><code class="lang-javascript">pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.0</span>;

contract MyContract {
    event MyEvent(uint256 indexed id, string message);

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">doSomething</span>(<span class="hljs-params">uint256 id, string memory message</span>) <span class="hljs-title">public</span> </span>{
        <span class="hljs-comment">// perform some action here</span>

        emit MyEvent(id, message);
    }
}
</code></pre>
<p>In this example, we define an event called <code>MyEvent</code>with two parameters: <code>id</code> (an unsigned integer with an index) and <code>message</code> (a string). Within the <code>doSomething</code> function, we perform some action and then emit the event with the appropriate values.</p>
<p>To listen for and respond to events in another contract or application, you can use the web3.js library or a similar tool. Here is an example of how to listen for events emitted by the above contract using web3.js:</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> myContract = <span class="hljs-keyword">new</span> web3.eth.Contract(contractABI, contractAddress);

myContract.events.MyEvent({ <span class="hljs-attr">filter</span>: { <span class="hljs-attr">id</span>: <span class="hljs-number">123</span> } })
    .on(<span class="hljs-string">'data'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">event</span>) </span>{
        <span class="hljs-built_in">console</span>.log(event.returnValues.message);
    })
    .on(<span class="hljs-string">'error'</span>, <span class="hljs-built_in">console</span>.error);
</code></pre>
<p>This code creates a new instance of <code>MyContract</code>using the contract's ABI and address. It then listens for the <code>MyEvent</code> event with an ID of 123 and logs the corresponding message to the console when the event is triggered. If an error occurs, it will also be logged into the console.</p>
<p>Overall, events are a powerful way to communicate information between different parts of a decentralized application or even between different applications on the Ethereum network.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>Great job on completing this introductory guide to Solidity! With the knowledge you've gained on the language's basic structure, data types, functions, and events, you're now equipped to start building your own smart contracts on the Ethereum blockchain.</p>
<p>By continuing to learn and practice, you can expand your skills and creativity in developing decentralized applications. Don't be afraid to dive deep into the language, read through the documentation, and experiment with building your own mini dApps. Who knows, you may even be the next innovator to create the next big thing on the blockchain!</p>
<p>Keep exploring and have fun building on the decentralized web!</p>
<p>Until next time, Happy Exploring!</p>
<p>Cheers,</p>
<p>Vinyl-Davyl.</p>
]]></content:encoded></item><item><title><![CDATA[Demystifying Consensus Mechanisms: A Comprehensive Guide]]></title><description><![CDATA[The consensus mechanism is a crucial concept in the world of blockchain technology, and it can vary widely depending on the specific use case or application. In centralized systems, a single administrator wields control and authority over data, allow...]]></description><link>https://blog.web3afrika.com/demystifying-consensus-mechanisms-a-comprehensive-guide</link><guid isPermaLink="true">https://blog.web3afrika.com/demystifying-consensus-mechanisms-a-comprehensive-guide</guid><category><![CDATA[Consensus Mechanism]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[Web3]]></category><category><![CDATA[Bitcoin]]></category><category><![CDATA[Ethereum]]></category><dc:creator><![CDATA[Franklin Ohaegbulam]]></dc:creator><pubDate>Sat, 06 May 2023 20:12:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742047930174/8562e7fa-05ac-4e9a-acbf-664227abe41e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The consensus mechanism is a crucial concept in the world of blockchain technology, and it can vary widely depending on the specific use case or application. In centralized systems, a single administrator wields control and authority over data, allowing them to add, delete, or modify information as they see fit. This closely mirrors the control that big tech companies exert in the Web2 world. However, decentralized networks distribute decision-making among participants in a more democratic manner, which creates a more transparent and secure system.</p>
<p>In this article, we will delve into how decision-making is distributed among participants in a decentralized blockchain network. We will explore the different consensus mechanisms employed in various blockchain applications, providing insights into their unique advantages and challenges.</p>
<h2 id="heading-what-is-a-consensus-mechanismalgorithm">What is a consensus mechanism/algorithm?</h2>
<p>The consensus algorithm is a critical component that enables coordination among users or machines in a distributed environment. It establishes a set of rules that all participants in the network must accept, providing authorization for the system to function. The choice of consensus mechanism depends on the specific features of the project designed by the team.</p>
<p>In a blockchain network, consensus algorithms play a crucial role in achieving agreements among distributed nodes since public (decentralized) blockchains do not rely on a central authority. This ensures that protocol rules are followed, transactions are verified in a trustworthy manner, and coins are spent only once. Consensus establishes a standard system that all participants must agree on to determine the state of the blockchain network in terms of security and transaction verification. It is a fault-tolerant mechanism used in distributed networks to reach an agreement on a value or process state among network members, based on predefined rules and procedures collectively known as the consensus protocol.</p>
<p>Let us now explore the role of the consensus mechanism in blockchain networks</p>
<h2 id="heading-role-of-consensus-mechanism-in-blockchain-networks">Role of Consensus Mechanism in Blockchain Networks</h2>
<p>In a distributed network, transactions are processed in a decentralized manner across multiple nodes located at different locations, without relying on a central authority. However, these nodes can experience failures or intentional misbehavior, such as planned attacks. To ensure the stability and usability of the network, a consensus mechanism is necessary to monitor the situation and facilitate agreement among the network participants.</p>
<p>The consensus mechanism is designed to ensure that all participating nodes agree on the state of the network, ensuring data consistency and security decision-making processes. Transactions are secured using cryptography and replicated across all nodes in the network. Transaction data is stored chronologically as blocks, without relying on a central authority.</p>
<p>The agreement among participating nodes is crucial, as without consensus, the blockchain network can be vulnerable to security attacks and hacks, resulting in loss of funds or denial of service for nodes. Therefore, the consensus mechanism plays a critical role in maintaining the integrity and security of the distributed network, enabling secure transactions, and ensuring the proper functioning of the network.</p>
<p>Common security threats associated with a blockchain network include:</p>
<ul>
<li><p>51% attack: As the price of ETH increases, the difficulty for bad actors to carry out a 51% attack on the blockchain also increases. This is because higher prices result in higher costs for acquiring a majority of the network's hash rate, which is required for a successful 51% attack. Additionally, the more control an individual or entity has over the total supply of tokens, the more influence they could potentially exert over the network. Therefore, by increasing the price of ETH, it becomes more resource-intensive for anyone attempting to gain control of the network through token accumulation.</p>
</li>
<li><p>Distributed Denial of Service (DDoS).</p>
</li>
<li><p>Border Gateway Protocol Hacking (BGPH).</p>
</li>
<li><p>Long-range attack.</p>
</li>
<li><p>P + Epsilon attack.</p>
</li>
<li><p>The balanced attack.</p>
</li>
</ul>
<h2 id="heading-types-of-consensus-mechanisms">Types of Consensus Mechanisms</h2>
<h3 id="heading-proof-of-work-pow">Proof of Work (PoW)</h3>
<p>The proof-of-work (PoW) consensus mechanism, used in cryptocurrencies such as Bitcoin and EthereumPoW (Ethereum 1), requires miners to solve cryptographic puzzles using high processing power to add new blocks to the blockchain. This is the first consensus algorithm and involves a mining process that confirms and adds valid transactions to the public ledger.</p>
<p>Transactions on the Bitcoin network require PoW consensus, which involves significant computing power and electricity. Miners validate a new block of transactions and add it to the blockchain only if distributed nodes in the network reach consensus and agree that the block hash provided by the miner is valid PoW. Miners with a higher hash rate have better chances of finding a valid solution for the next block, and every node in the distributed network verifies the newly mined block before it is added to the blockchain. The miner of a new transaction is randomly chosen once the mathematical problem is solved and is rewarded with Bitcoin.</p>
<p>In a scenario where two miners resolve the computational problem and add new blocks to the network, the new block with a longer chain or that consumed more computing power will be chosen. This PoW consensus mechanism is less vulnerable to attacks or hacks because it requires high energy consumption, typically around 51% of the computing power, to gain control of the network. The most well-known PoW function is called SHA256, which is used in Bitcoin.</p>
<p>In contrast to other consensus mechanisms, PoW requires a significant amount of energy and computing power to reach consensus, making it an expensive option. Miners compete to be the first to solve mathematical puzzles using hash functions to execute transactions, and once a new block is validated, it is linked to the previous block as a chain of verified transactions in the blockchain.</p>
<h3 id="heading-proof-of-stake-pos">Proof of Stake (PoS)</h3>
<p>The Proof of Stake (PoS) consensus algorithm was introduced as a solution to overcome the limitations and challenges of the proof of work (PoW) mechanism. PoS is based on the amount of coin held and staked (referred to as Forging Power), and involves the validation of new blocks based on the stake of the user or participant, without requiring computational power. Validators, also known as forgers or minters, are pseudonymously and randomly chosen based on their stake, coin age (duration of coins being locked or staked), and node wealth. The stake serves as a financial motivator for users to validate transactions and create new blocks, as they earn a proportion of the transaction fees as rewards based on their stake.</p>
<p>Projects such as Ethereum, Dash, and Neo have implemented the PoS mechanism, with Ethereum transitioning from PoW to PoS in 2022 to increase scalability. In PoS, the voting power of a miner is based on the percentage of tokens held, rather than computing power. The larger the share of tokens owned, the higher the likelihood of being selected to mine the next block. Validators are rewarded with transaction fees or a specific amount of coins due to inflation for their work, providing incentives to maintain the blockchain network.</p>
<p>One advantage of PoS is its energy efficiency compared to PoW and other consensus mechanisms. PoS also employs randomized block selection, using factors such as the lowest hash value and size of the stake to predict the next generator, which prevents centralization. However, PoS also has some disadvantages, such as the "Nothing-to-stake" problem, where validators need a stake to add new blocks and can create blocks on multiple branches to collect rewards even when only one branch is selected.</p>
<p>Variants of Proof of Stake (POS) include;</p>
<ul>
<li><p>Delegated POS</p>
</li>
<li><p>Hybrid POS</p>
</li>
<li><p>Liquid POS</p>
</li>
<li><p>Bonded POS</p>
</li>
</ul>
<h3 id="heading-proof-of-authority-poa">Proof of Authority (PoA)</h3>
<p>This consensus mechanism offers users a chance to choose system moderators to validate transactions based on their reputation. The selected validators are usually institutional investors. Here, the validators of new blocks are a group of pre-selected authorities.</p>
<p>The Proof of Authority mechanism is a modified version of Proof of Stake, where the identities of validators in the network are at stake. The nodes that become validators are the only ones allowed to produce new blocks and are incentivized. These validators stake their reputations on the network. It is used in the Ethereum Classic (ETC) network.</p>
<h3 id="heading-proof-of-history-poh">Proof of History (PoH)</h3>
<p>This consensus mechanism establishes the order and timing of blockchain records and transactions. The goal of incorporating time encoding into the blockchain is to reduce the processing burden on network nodes. In traditional blockchains, achieving consensus on the timing of block mining is as essential as reaching consensus on the validity of transactions. Timestamping is crucial as it establishes the sequence of transactions, allowing the network and observers to track their occurrence. This approach is employed in Solana and Avalanche, where validators maintain an internal clock based on a historical protocol that certifies the timing of events.</p>
<h3 id="heading-delegated-proof-of-stake-dpos">Delegated Proof-of-Stake (DPoS)</h3>
<p>Delegated Proof of Stake (DPoS) is a democratic consensus mechanism that promotes participation from all token holders, unlike Proof of Stake (PoS) where only the highest stakes have a say in the mining process. DPoS is decentralized, scalable, and often referred to as digital democracy as it involves users staking their tokens to select a group of delegates. The weight of a user's vote is based on their stake, and the delegate with the highest votes produces new blocks and is rewarded with transaction fees or coins. DPoS is utilized in projects like EOS cryptocurrency and Lisk.</p>
<p>DPoS provides dependable verification and approval of transactions in a blockchain. These elected representatives, also known as block producers, are chosen by participants in the blockchain network based on the percentage of digital tokens they hold. Block producers have two roles - mining blocks and validating transactions while ensuring the network's smooth functioning. They receive cryptocurrencies as rewards. This consensus protocol promotes cooperation among block producers instead of competition, as seen in mining-based methods like Bitcoin. DPoS also consumes less energy and offers faster network speeds. However, it is a more centralized system compared to other consensus mechanisms.</p>
<h3 id="heading-proof-of-capacity">Proof of Capacity</h3>
<p>The Proof of Capacity(also known as Proof of Space) mechanism is similar to PoW, but instead of using computer power, miners use their hard disk space to mine blocks. The more storage space a node provides on its hard disk, the higher its chances of validating the next block and receiving rewards. PoC works by proving that a certain amount of hard disk space is reserved for mining, where a prover (a node) sends data to a verifier (usually a project team member) to verify the reserved space. Once verified, the node is entitled to mine blocks and receive rewards via the PoS process. This mechanism is known for its lower energy consumption compared to PoW, making it a greener alternative. In the PoC, solutions to complex mathematical puzzles are based on allocating a significant volume of hard drive space for mining, a process known as plotting.</p>
<h3 id="heading-proof-of-elapsed-time-poet">Proof of Elapsed Time (PoET)</h3>
<p>Proof of Elapsed Time (PoET) is an energy-efficient consensus protocol and an alternative to the PoW protocol. PoET employs a fair lottery system to decide the producer of a new block based on a random and fair wait time for each user. In the PoET, each participating node in the network is required to wait for a randomly chosen period, and the node that completes the designated wait time first wins the new block. This process of generating a random wait time, sleeping for that duration, and committing a new block is repeated for subsequent blocks. This consensus mechanism relies on the system's ability to verify that no user can run multiple nodes and that the wait time is truly random.</p>
<h3 id="heading-proof-of-identity">Proof of Identity</h3>
<p>Proof of Identity is a mechanism that verifies a user's private key by comparing it with an authorized identity. It serves as cryptographic evidence for a user's private key, which is cryptographically attached to a specific transaction. Once a user is identified within the blockchain network, they can create a block of data that can be presented to anyone on the network. This ensures the integrity and authenticity of the data created, adding a layer of security to the blockchain system. One example of a blockchain network that utilizes Proof of Identity as a consensus mechanism is Sovrin.</p>
<h3 id="heading-proof-of-activity">Proof of Activity</h3>
<p>The Proof of Activity consensus mechanism combines the principles of Proof of Work and Proof of Stake, requiring participants to either mine or stake tokens for a chance to process new transactions. In this consensus mechanism, miners attempt to find the solution to a puzzle for reward. The blocks created in this mechanism contain the mining reward address and header information, used to randomly select a group of validators for signing the block. Validators with larger stakes have higher chances of being selected to sign a new block. The block miner and the validators are rewarded with the generated network fees.</p>
<h3 id="heading-practical-byzantine-fault-tolerance-pbft">Practical Byzantine Fault Tolerance (pBFT)</h3>
<p>Practical Byzantine Fault Tolerance proposed in 1999 by Castro and Liskov optimizes the concept of Byzantine Fault Tolerance (BFT) in solving the Byzantine general's problem. PBFT is an algorithm designed to achieve consensus in the presence of faulty nodes in a network. It operates asynchronously and is optimized for low overhead time, eliminating the need for complex computations or multiple confirmations. In PBFT, all nodes are sequentially ordered with one node serving as the primary node and the others as backups.</p>
<p>Variants of Practical Byzantine Fault Tolerance (PBFT) include;</p>
<ul>
<li><p>Redundant Byzantine Fault Tolerance (RBFT)</p>
</li>
<li><p>Istanbul Byzantine Fault Tolerance (IBFT)</p>
</li>
<li><p>Speculative Byzantine Fault Tolerance (SBFT)</p>
</li>
</ul>
<h3 id="heading-byzantine-fault-tolerance-bft">Byzantine Fault Tolerance (BFT)</h3>
<p>Byzantine Fault Tolerance (BFT) enables correct consensus despite the presence of malicious nodes in the network that fail or provide incorrect information. It refers to the ability of a distributed system to reach a consensus, even in the face of failures or malicious behavior by nodes. BFT helps systems resist failures derived from the Byzantine Generals' Problem, a logical dilemma that illustrates communication challenges among Byzantine generals trying to agree on their next move. Thus, BFT systems can continue to operate even if some nodes fail or act maliciously.</p>
<p>The objective of Byzantine fault tolerance is to defend against Byzantine failures, where system components fail with symptoms that prevent agreement among themselves, necessary for correct operation. Correctly functioning components in a Byzantine fault-tolerant system can provide the system's service, assuming the number of faulty components is within acceptable limits.</p>
<h3 id="heading-proof-of-importance-poi">Proof of Importance (PoI)</h3>
<p>The Proof of Importance consensus algorithm is based on a user account score - the transaction history and quantity of coins. This determines the chance of being chosen to harvest a block and collects the transaction fees as a reward.</p>
<h3 id="heading-proof-of-burn-pob">Proof of Burn (PoB)</h3>
<p>In this consensus mechanism, miners burn coins by sending them to an unspendable address, ensuring that they cannot be spent again. This approach is energy efficient and requires miners to burn coins in order to gain the right to mine new blocks in a blockchain network.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Consensus mechanisms are fundamental to the operation of distributed systems, as they ensure that nodes participating in transaction validation follow predefined rules and procedures known as consensus protocols. Among the various consensus algorithms, Proof of Work (PoW) and Proof of Stake (PoS) is widely discussed, but there are also other protocols such as Proof of Burn (PoB), Proof of Activity, Proof of Capacity, and more that utilize different methods to confirm transactions. As blockchain technology continues to advance, we can expect to see further innovations in consensus protocols, shaping the future of distributed systems.</p>
<p>If you enjoyed this article, why not stay connected by following my <a target="_blank" href="https://frankiefab.hashnode.dev">blog</a>? You'll get access to even more valuable content!</p>
<h2 id="heading-further-reading">Further Reading</h2>
<p>For more information about blockchain consensus, see the following resources:</p>
<ul>
<li><p><a target="_blank" href="https://www.binance.vision/blockchain/what-is-a-blockchain-consensus-algorithm">What is a blockchain consensus algorithm</a>.</p>
</li>
<li><p><a target="_blank" href="https://hackernoon.com/types-of-consensus-protocols-used-in-blockchains-6edd20951899">Types of consensus protocols used in blockchains</a>.</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Why is the Hard Drive for Blockchain and the Internet known as IPFS?]]></title><description><![CDATA[Introduction
In the world of blockchain, data storage has always been a challenge. Traditional centralized systems often face several limitations related to security, privacy, scalability, and censorship. A decentralized storage protocol called the I...]]></description><link>https://blog.web3afrika.com/why-is-the-hard-drive-for-blockchain-and-the-internet-known-as-ipfs</link><guid isPermaLink="true">https://blog.web3afrika.com/why-is-the-hard-drive-for-blockchain-and-the-internet-known-as-ipfs</guid><category><![CDATA[Web Development]]></category><category><![CDATA[Web3]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Developer]]></category><dc:creator><![CDATA[Vinyl Davyl]]></dc:creator><pubDate>Sat, 06 May 2023 20:08:40 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742048140413/c5897e01-6c65-4ee9-979f-a76c0a8c817e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-introduction">Introduction</h3>
<p>In the world of blockchain, data storage has always been a challenge. Traditional centralized systems often face several limitations related to security, privacy, scalability, and censorship. A decentralized storage protocol called the InterPlanetary File System (IPFS) was introduced to address these concerns.</p>
<p>IPFS is a peer-to-peer distributed file system that enables secure, efficient, and reliable file storage and retrieval on the Internet. It aims to create a permanent and decentralized web by allowing users to store and share large amounts of data without relying on centralized servers.</p>
<p>In this article, we will provide an overview of IPFS, including its architecture and how it works with blockchain technology. So, let's dive right in!</p>
<h3 id="heading-what-is-ipfs">What is IPFS?</h3>
<p>The InterPlanetary File System (IPFS) is a protocol that enables users to store and access files decentralized. Juan Benet developed it in 2014 as an open-source project to create a distributed version of the web where data is not controlled by centralized authorities. IPFS is similar to BitTorrent, but instead of sharing files, it shares content-addressed blocks.</p>
<p>IPFS utilizes a content-addressed system that assigns a unique hash to each file or object based on its content. This makes data immutable and tamper-proof, and the hash serves as a universal identifier that allows files to be accessed from anywhere in the network. The beauty of this approach is that it eliminates the need for centralized storage and management, making it a fascinating and innovative technology. Now, let's take a closer look at its architecture.</p>
<h3 id="heading-architecture-of-ipfs">Architecture of IPFS</h3>
<p>The IPFS network is structured as a distributed, peer-to-peer network of nodes, where each node acts as both a client and a server. Each node stores parts of the file system, and every file is broken down into smaller chunks called content-addressed blocks. These blocks are then distributed across the network and stored on different nodes.</p>
<p>When a user wants to retrieve a file, they send a request to the IPFS network, which locates the relevant blocks and returns them to the user. The user's node then assembles the blocks into the original file.</p>
<p>One of the unique features of IPFS is that it allows users to access files even when the original source is no longer available. This is achieved through content-addressing, which assigns a unique hash to each file based on its contents. This hash can be used to retrieve the file from any node in the network, even if the original copy is no longer available.</p>
<p>The following diagram illustrates an example of data sharing on IPFS by an individual or owner. This illustration highlights the ease and convenience of using IPFS for data sharing, as well as the benefits of decentralization in securing and managing data.</p>
<p>Overall, IPFS is a remarkable technology that provides a decentralized approach to storing and sharing data. Its content-addressing system and distributed architecture ensure data immutability, tamper-proofing, and reliable accessibility.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682382212462/7656cc32-a6ca-4077-8829-1abce80aeffc.png" alt /></p>
<p>The illustration demonstrates an example of how an individual or owner can share data using IPFS. The owner first uploads the data to IPFS, which generates a unique content-addressed hash based on the file's content. This hash serves as the data's unique identifier and enables access to the data from any location in the network.</p>
<p>Next, the owner shares the hash with other users who wish to access the data. These users can use the hash to retrieve the data from IPFS without requiring a central server to store and manage it. This decentralized approach to data sharing ensures the data is immutable and tamper-proof, making it more secure and reliable.</p>
<h3 id="heading-how-does-ipfs-work-with-blockchain">How does IPFS work with Blockchain?</h3>
<p>IPFS and blockchain are both distributed technologies that share a common goal of creating a secure and decentralized web. These technologies have multiple overlapping use cases, and combining them can lead to a more robust and resilient system.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682382285585/a73b6a91-9706-4910-aee1-306d82dc0083.jpeg" alt /></p>
<p>IPFS can be utilized in a blockchain network to store data off-chain, reducing the load on the main chain and improving overall scalability. For instance, smart contracts can store large amounts of data on IPFS, while only the data's hash is stored on the blockchain.</p>
<p>Furthermore, IPFS can be employed to store metadata related to transactions or other blockchain-related data. This metadata can be accessed by anyone on the network, increasing transparency and accessibility.</p>
<p>Another valuable use case of IPFS in the blockchain is in building decentralized applications (DApps). DApps often require extensive data storage and distribution, which can be a challenge with traditional centralized systems. By utilizing IPFS, developers can create fully decentralized DApps without relying on centralized servers.</p>
<p>Let's now move on to discussing the use cases of IPFS⚙️</p>
<h3 id="heading-use-cases-of-the-ipfs">Use cases of the IPFS?</h3>
<p>The benefits of <strong>IPFS</strong> have resulted in its widespread adoption by major technology companies, including <strong>Cloudflare, Chrome, and Netflix.</strong> By utilizing a decentralized network for data storage, it becomes possible to optimize the functionality of all online processes, eliminate the need for centralized servers, and improve security. Along with these advantages, IPFS has several other use cases that different companies are effectively implementing:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682382261398/6d7e267d-4795-47d6-a14b-3bbfc5029f4f.png" alt /></p>
<ul>
<li><p><a target="_blank" href="https://techcommunity.microsoft.com/t5/identity-standards-blog/ion-booting-up-the-network/ba-p/1441552">Microsoft ION:</a> A secure and scalable global digital identity system, built on Bitcoin and IPFS, for electronic identities.</p>
</li>
<li><p><a target="_blank" href="https://brave.com/">Brave:</a> The decentralized merchandise store hosted by this search engine is powered by the Origin Protocol and IPFS.</p>
</li>
<li><p><a target="_blank" href="https://blog.ipfs.tech/2020-03-30-ipfs-in-opera-for-android/">Opera for Android:</a> By default, mobile users can navigate ipfs:// links to access data on the IPFS network as it supports IPFS.</p>
</li>
<li><p><a target="_blank" href="https://github.com/ipfs/distributed-wikipedia-mirror">Wikipedia:</a> Allowing users to access Wikipedia from jurisdictions where it is censored, It uses IPFS to create mirror versions of its website.</p>
</li>
<li><p><a target="_blank" href="https://filecoin.io/">Filecoin:</a> Based on IPFS, It uses IPFS to create a cooperative storage cloud.</p>
</li>
</ul>
<p>These use cases demonstrate the versatility of IPFS and its potential to revolutionize multiple industries beyond data storage and retrieval. As more companies adopt this technology, we can expect to see new and innovative applications emerge that take advantage of IPFS's unique features.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>InterPlanetary File System (IPFS) is a groundbreaking protocol that enables decentralized storage and retrieval of files. It offers a distributed version of the web where data is not controlled by centralized authorities, which makes it more secure, efficient, and reliable.</p>
<p>The rapid evolution of IPFS and blockchain technologies makes it possible to create a more robust and resilient system by combining them. The integration of these technologies can lead to new use cases and applications that were previously not feasible with traditional centralized systems.</p>
<p>As blockchain technology matures, we can expect to see even more innovative applications of IPFS in the years to come.</p>
<p>I hope you found this article informative and insightful. Please follow me for more updates on similar topics and the web in general. Thank you for reading, and I look forward to seeing you here again in the future.</p>
<p>Until then, Merci! ❤️</p>
<p>Vinyl Davyl.</p>
]]></content:encoded></item><item><title><![CDATA[A Dive into the World of Decentralized Finance in Africa]]></title><description><![CDATA[Decentralized finance (DeFi) is a rapidly growing sector of the financial world with a global impact, including in Africa. DeFi seeks to bring financial services to the masses through blockchain tech and decentralized networks, shifting the paradigm ...]]></description><link>https://blog.web3afrika.com/a-dive-into-the-world-of-decentralized-finance-in-africa</link><guid isPermaLink="true">https://blog.web3afrika.com/a-dive-into-the-world-of-decentralized-finance-in-africa</guid><category><![CDATA[defi]]></category><category><![CDATA[Web3]]></category><category><![CDATA[Africa]]></category><dc:creator><![CDATA[Eriola Ogunsina]]></dc:creator><pubDate>Wed, 22 Feb 2023 13:28:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742048031936/824e4358-a14e-4547-9262-f66afb73305f.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Decentralized finance (DeFi) is a rapidly growing sector of the financial world with a global impact, including in Africa. DeFi seeks to bring financial services to the masses through blockchain tech and decentralized networks, shifting the paradigm from traditional financial institutions and banks. In this article, we'll take a deep dive into the introduction, growth, and adoption of DeFi in Africa and the changes it has brought to the financial aspect of our continent.</p>
<p>Even though the DeFi movement in Africa is still in its early stages, it has already seen significant growth over the past few years. This momentum is mainly due to an increasing number of young, tech-savvy Africans who are looking for alternative financial institutions with services that are more accessible and affordable than traditional institutions. DeFi provides various financial services such as lending, crypto asset management, fast and secure payments, crypto exchange, etc. All of which can be done directly between users without intermediaries.</p>
<p>A high level of financial inclusion has played a significant role in the growth of DeFi in Africa. According to research conducted by the World Bank, more than two-thirds of Africans are unable to access formal financial services, leaving them at risk of economic shocks and unable to build wealth. DeFi allows users to participate in the global financial system irrespective of their locality or financial capacity.</p>
<p>Another catalyst for adopting DeFi in Africa is the high level of mobile phone usage on the continent. With most of the populace now owning a mobile phone, DeFi providers can reach a larger and growing audience, many of whom are newbies and have never had access to financial services. In regions of Africa where access to financial services is limited, DeFi provides a valuable opportunity for people looking to build a better future for themselves.</p>
<p>Decentralized Finance in Africa faces many challenges that have yet to be addressed. One of the challenges is unawareness, as quite a few people are still unaware of the concept of DeFi and its dynamics. There is a severe need for greater regulatory clarity in the DeFi sector because many regulators have yet to formulate clear rules and regulations for DeFi providers.</p>
<p>In conclusion, Decentralized Finance can revolutionize Africa's financial aspect and bring much-needed financial services to the populace. By eliminating traditional institutions and providing access to a wide range of financial services, DeFi has the potential to reduce financial exclusion and increase financial literacy in Africa. However, more work is needed to tackle the challenges of education and regulation if DeFi wants to attain its full potential in Africa.</p>
<p>As the DeFi sector continues to grow and evolve and its impact on the financial industry of Africa increases, DeFi has the potential to create a more inclusive and equitable economic system, and we can expect to see continued growth and adoption in Africa in the years to come.</p>
]]></content:encoded></item><item><title><![CDATA[Exploring DeSci:  24 DeSci DAO's doing amazing things]]></title><description><![CDATA[Just 3 months ago, I never knew something like decentralized science existed. I got to know that something as such existed after joining VitaDAO. Meanwhile, I only joined VitaDAO because I was fascinated by their mission, which is basically funding a...]]></description><link>https://blog.web3afrika.com/exploring-desci-24-desci-daos-doing-amazing-things</link><guid isPermaLink="true">https://blog.web3afrika.com/exploring-desci-24-desci-daos-doing-amazing-things</guid><category><![CDATA[desci]]></category><dc:creator><![CDATA[Chinonso Anyaehie]]></dc:creator><pubDate>Mon, 24 Oct 2022 10:48:38 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1666608371119/ro_DAIVR4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Just 3 months ago, I never knew something like decentralized science existed. I got to know that something as such existed after joining VitaDAO. Meanwhile, I only joined VitaDAO because I was fascinated by their mission, which is basically funding and facilitating research in the longevity space. Anyways, I also love their branding. It’s not everyday you see a DAO giving attention to details. OK, here is the deal. The more I read on this topic, the more intrigued I become. The good thing about DeSci is that it’s an emerging technology and it’s niche, which means you can easily keep up with the growth and build a career around it early. So, without much ado, I have quickly snapped <a target="_blank" href="www.desciafrica.com">www.desciafrica.com</a> which I want to use to drive adoption and awareness of decentralized science in Africa. In layman’s terms, decentralized science is a way to make science more open and frictionless, from publishing to funding. This will enable more scientific progress by allowing more people to participate in the scientific process. DeSci allows for a more decentralized and distributed scientific research model, making it more resistant to censorship and control by central authorities. I will go through this in greater detail in another article. I have done a thorough research online and I have outlined all the DeSciDAO available, I will keep updating this list as more come out. I’m currently working on more articles about space, and I hope to cover an insane number of topics. Without much ado, here are the DAOs in the space that you should know.</p>
<h1 id="heading-athenadaohttpswwwathenadaoco"><a target="_blank" href="https://www.athenadao.co">AthenaDAO</a></h1>
<p>AthenaDAO is the first platform dedicated to assisting female researchers with company formation, community building, and capital access in order to truly increase diversity in biotech. AthenaDAO uses blockchain and cryptocurrency to fund reproductive health care for women. Their goal is to close the funding gap in reproductive health research and access by using blockchain technology to raise capital through token sales to fund research, drug development programs, and innovations. Most of the founder of this DAO have affiliation and hold a role at VitaDAO</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666558549856/b9IApf1O4.png" alt="Screen Shot 2022-10-22 at 13.45.16.png" /></p>
<ul>
<li><strong>Socials:</strong></li>
<li><strong>Twitter:</strong>        <a target="_blank" href="https://twitter.com/athena_DAO_">https://twitter.com/athena<em>DAO</em></a></li>
<li><strong>Discord:</strong>      <a target="_blank" href="https://discord.com/invite/7E2T9BqUuv’">https://discord.com/invite/7E2T9BqUuv’</a></li>
<li><strong>Email:  </strong>         community@athena.co</li>
<li><strong>Website: </strong>    https://www.athenadao.co</li>
</ul>
<h3 id="heading-members">Members:</h3>
<ul>
<li><strong>Laura Minquini: </strong>     https://twitter.com/LauraMinquini</li>
<li><strong>Inês Santos Silva:</strong>   https://twitter.com/isss111</li>
<li><strong>Di Hu: </strong>                  https://twitter.com/dihuscientistdj</li>
<li><strong>Sandra Almanza:</strong>    https://twitter.com/DecentralDisco</li>
<li><strong>Maria Marinova:</strong>    https://twitter.com/m_marinova</li>
</ul>
<h1 id="heading-vitadao">VitaDAO</h1>
<p>VitaDAO is one of the biggest DAOs in the Decentralized Science space. VitaDAO is a DAO collective for community-governed and decentralized drug development on a mission to accelerate the research and development (R&amp;D) in the longevity space and the extension of human life and health span. To achieve this, VitaDAO support and fund new therapeutics and research data in the field of longevity science. In exchange, VitaDAO will directly own the intellectual property and data rights to the novel early-stage therapeutics that it supports and funds.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666560003982/PmS4nWmgZ.png" alt="image.png" /></p>
<h3 id="heading-socials">Socials:</h3>
<ul>
<li>Twitter:       https://twitter.com/vita_dao</li>
<li>Discord:       https://discord.com/invite/3S3ftnmZYD</li>
<li>Youtube:     https://www.youtube.com/c/vitadao</li>
<li>Website:      https://www.vitadao.com/</li>
<li>Telegram:      https://t.me/vitadao</li>
<li><p>Link to whitepaper on the VitaDAO website for more info.</p>
</li>
<li><p>Website with funded projects, explainers etc. https://www.vitadao.com/</p>
</li>
<li>All links: https://vitadao.com/links</li>
<li>Governance Proposals: https://gov.vitadao.com/</li>
<li>Video Podcasts etc. https://www.youtube.com/c/vitadao</li>
<li>Audio Podcasts: https://anchor.fm/vitadao</li>
<li>Articles: https://vitadao.medium.com/</li>
<li>Monthly summary: http://newsletters.vitadao.com/</li>
<li>Paid on-demand peer review services: The Longevity Decentralized Review (<a target="_blank" href="https://longevity.review/">TLDR</a>) and Proof of Peer Review (<a target="_blank" href="https://proofofpeer.review/">PoP Review</a>) for longevity research and general biomedical research, respectively.</li>
</ul>
<hr />
<h1 id="heading-meddao">MedDAO</h1>
<p>MedDAO is currently building a distributed medical knowledge network that will allow healthcare providers, patients, and other stakeholders to interact and interconnect at an exponentially higher level. These network effects have the potential to completely transform the global delivery of healthcare. MedDAO plans to achieve this by establishing a decentralized community and protocol with the primary goal of disseminating medical knowledge without the use of boundaries, barriers, or intermediaries. with the end goal of increasing the adoption and awareness of decentralized healthcare, also known as Healthcare 3.0. MedDAO was founded and funded by DecentraMed, LLC, a Wyoming LLC. The owners of DecentraMed.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666604009022/xGNcf21xe.png" alt="Screen Shot 2022-10-22 at 13.52.21.png" /></p>
<h3 id="heading-socials">Socials:</h3>
<ul>
<li>Discord: https://discord.gg/qwWATcETDq</li>
<li>Documentation: https://docs.meddao.xyz/</li>
<li>Twitter: https://twitter.com/MedDAO_xyz</li>
</ul>
<hr />
<h1 id="heading-opsci-dao">Opsci DAO</h1>
<p>Opsci is a community of open science activists, researchers, organizers, and enthusiasts who came together to work on the problems of knowledge creation such as data sharing, reproducibility, incentive alignment, coordination, and intellectual ownership. They hope to accomplish this by establishing a scientific ecosystem that breaks down data silos, coordinates collaboration, and democratizes funding, with the long-term goal of establishing a global network of automated knowledge foundries where scientists and AI collaborate to create new knowledge.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666607665632/VnUWvqQSG.png" alt="Screen Shot 2022-10-22 at 13.55.30.png" /></p>
<ul>
<li>Website: https://opsci.io/</li>
</ul>
<h3 id="heading-socials">Socials:</h3>
<ul>
<li>Medium:   https://pulse.opsci.io/</li>
<li>Github:     https://github.com/opscientia</li>
<li>Twitter:   https://twitter.com/opscientia</li>
<li>Discord: https://discord.com/invite/n7UBwrGywZ</li>
<li>Youtube: https://www.youtube.com/watch?v=mSMsDobOOAE&amp;feature=youtu.be</li>
</ul>
<hr />
<h1 id="heading-the-science-dao">The Science DAO</h1>
<p>The Science DAO is a decentralized think tank, incubator engine, and accelerator platform that aims to enable inventors, entrepreneurs, and institutions to collaborate and make informed investments across a broad range of technologies and life sciences.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666607826385/vk8dsDEdY.png" alt="Screen Shot 2022-10-24 at 11.36.57.png" /></p>
<ul>
<li>Website: https://thesciencedao.io/files/deck.pdf</li>
<li>Twitter:  https://twitter.com/TheScienceDAO</li>
<li>Deck:     https://thesciencedao.io/files/deck.pdf</li>
<li>Discord: https://discord.gg/4pByE4Ft7r</li>
<li>Telegram: https://t.me/sciencedao</li>
<li>Medium: https://www.instagram.com/thesciencedao/</li>
</ul>
<hr />
<h1 id="heading-genomesdao">GenomesDAO</h1>
<p>Dr. Mark Hahnel and Aldo de Pape launched Genomes.io, a startup that secures genomic data, together in 2018. I’m a member of this DAO right now, and I adore their goals and objectives. This is most likely a result of my aspirations to pursue a Ph.D. in bioinformatics. Three groups of people can use Genomes.io’s services: <strong> members of the public, businesses, and researchers.</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666604531563/C5VLC3Zj2.png" alt="Screen Shot 2022-10-22 at 14.01.13.png" /></p>
<ul>
<li><p>For the general public, they offer access to clinical quality 30x whole genome sequencing, personalized genomic reports based on the data, and secure data storage in their personal DNA Vault. With the Genomes mobile app, you can control third-party access to your DNA vault and also get paid for contributing data to research, without ever losing your privacy or giving up ownership of your genome.</p>
</li>
<li><p>For researchers (e.g., pharmaceutical or biotech companies, academia), Genomes.io offers the ability to easily query databases of high quality genomic datasets. Researchers can now leverage access to this database to better understand the causes of disease and develop new drugs. With Genome.io genomic data can be made available to researchers to supercharge medical innovation, but without compromising the privacy or ownership rights of individuals.</p>
</li>
</ul>
<p>Finally, Genomes.io provides organizations (such as rare illness patient organizations, population sequencing efforts, and healthcare providers) with its DNA vault technology to assist in the creation of safe and participant-owned genomic databases. Genomes.io enables organizations to share participant genetic data in a responsible manner that guarantees private and transparent data access, fully informed repeat permission, and fair pay.</p>
<ul>
<li>Website:       https://genomes.io/</li>
<li>DAO docs:    https://genomes.gitbook.io/genomes.io-docs/</li>
<li>Twitter:         https://twitter.com/GenomesDAO</li>
<li>Discord:        https://discord.com/invite/3DaD2na4XJ</li>
</ul>
<hr />
<h1 id="heading-researchhub">ResearchHub</h1>
<p>ResearchHub aims to create a cutting-edge mobile and web applications where individuals can collaborate on scientific research in a more effective way, similar to what GitHub has done for software engineering, ResearchHub’s mission is to quicken the pace of scientific research. Researchers can upload publications (preprint or postprint) in PDF format, summarize their research in a wiki that is attached, and then discuss their findings in a forum that is entirely open to the public and devoted to the particular article in question.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666604600745/G41T3axDp.png" alt="Screen Shot 2022-10-22 at 14.04.05.png" /></p>
<ul>
<li>Discord:   https://discord.gg/researchhub</li>
<li>ResearchHub Platform: https://www.researchhub.com/</li>
<li>Twitter:     https://twitter.com/ResearchHub</li>
<li>Youtube:   https://www.youtube.com/channel/UCU4kRS13JPo1hIPNV6eONmg</li>
</ul>
<hr />
<h1 id="heading-crispr-dao">Crispr DAO</h1>
<p>CRISPR DAO is establishing a decentralized organization to fund cutting-edge CRISPR research in order to advance potential therapies and Ag-tech solutions.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666604738136/Txk9h_qAG.png" alt="Screen Shot 2022-10-22 at 14.08.52.png" /></p>
<ul>
<li>Discord: https://discord.com/invite/NWGqnU6Zjt</li>
<li>Twitter: https://twitter.com/crisprdao</li>
<li>Led by Nat Harooni: https://twitter.com/NatHarooni</li>
</ul>
<hr />
<h1 id="heading-labdao">LabDAO</h1>
<p>LabDAO is a group of scientists and engineers who share open tools for life science research. The mission of the community is to accelerate progress in the life sciences by making computational and wet-lab tools available to all members. LabDAO is creating an online home for scientists and inventors by bringing together accessible tools, dynamic teams, and funding sources. Members of LabDAO develop algorithms and laboratory processes for peer-to-peer exchange with community members.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666604807721/x5RNm3KpX.png" alt="Screen Shot 2022-10-22 at 14.10.40.png" /></p>
<ul>
<li>Website: https://www.labdao.xyz/    </li>
<li>Twitter: https://twitter.com/lab_dao</li>
<li>Docs: https://docs.labdao.xyz/labdao/mission</li>
</ul>
<h3 id="heading-resources">Resources:</h3>
<ul>
<li>Arye &amp; Niklas–Building a labDAO for web3 Biotech</li>
<li>Niklas Rindtorff–Graph Based Protocols</li>
<li>UltraRare podcast episode featuring LabDAO; also here.</li>
<li>Monthly updates: summary of what happened</li>
</ul>
<hr />
<h1 id="heading-psydao">PsyDAO</h1>
<p>PsyDAO wishes to revolutionize R&amp;D and ownership of psychedelic IP using the permissionless, trustless, decentralized, and censorship-resistant web, web3. PsyDAO is using crypto to create a decentralized and unmonopolizable future for psychedelic research. Members of the PsyDAO will be able to vote on which studies and research should be funded, which data should be shared, and how the results of these studies should be commercialized. PsyDAO utilizes new open-source models for IP tokenization, IPNFTs, and IP rights distribution, with ethical encumbrances, through fungible tokens.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666604900825/xeViE-7Ow.png" alt="Screen Shot 2022-10-22 at 14.12.33.png" /></p>
<ul>
<li>Website: https://psydao.io/     </li>
<li>Twitter: https://twitter.com/PsyDAO</li>
<li>Discord: https://discord.gg/hUH4MWxVFx</li>
<li>Telegram: https://t.me/+KvFGR2sVlOg2NTM0</li>
<li>PsyDAO video: https://youtu.be/QInIDUDf_YQ?t=3797</li>
</ul>
<hr />
<h1 id="heading-desciworlddao">DeSciWorldDAO</h1>
<p>DeSciWorld aims to become the communications entity to promote and expand the culture of decentralised science. It is currently Funded and directed by the DeSci WorldDAO, which will function principally as a growth treasury for the community. Although it may support proposed research grants in the community, It’s primary role is to foster peer-to-peer interactions and the community infrastructure that will allow deSci to flourish.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605362644/zahgvfTfF.png" alt="Screen Shot 2022-10-22 at 14.14.30.png" /></p>
<ul>
<li>Website: https://desci.world/     </li>
<li>Twitter: https://twitter.com/DeSciWorld</li>
<li>Discord: https://discord.gg/jnEUqVH8xv</li>
</ul>
<hr />
<h1 id="heading-biodao">BioDAO</h1>
<p>BioDAO is a community of biotech innovators that have a reliable funding source for the ecosystem and democratized access to talent. Given typical rates of attrition and regulatory requirements BioDAO plans to initiate 20-30  projects per year for the next five years will result in 3-5 new therapies per year in the next 6–10 years in the next 6–10 years. This rate of success will effectively double the number of life-saving therapeutics available to patients over the next 10 years.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605421261/QpGGis6VR.png" alt="Screen Shot 2022-10-22 at 14.16.05.png" /></p>
<ul>
<li>Website: https://www.biodao.xyz/</li>
<li>Twitter: https://twitter.com/biodaoxyz</li>
<li>Discord: https://discord.com/invite/7yMtZwp7Rq</li>
</ul>
<hr />
<h1 id="heading-neuradao">NeuraDAO</h1>
<p>NeuraDAO was founded with a single goal in mind, to accelerate collaborative, efficient, and democratic scientific progress for the benefit of society. NeuraDAO believe that neurotechnology is the next big emerging technology that will reach an inflection point soon, so we are concentrating our efforts on it.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605462341/azd_EFG2-.png" alt="Screen Shot 2022-10-22 at 14.18.21.png" /></p>
<ul>
<li>Twitter: https://twitter.com/neuradao</li>
<li>Website: https://neuradao.co/</li>
<li>Discord: https://discord.com/invite/HnMQsGP8jB</li>
</ul>
<hr />
<h1 id="heading-cherubs-dao">Cherubs DAO</h1>
<p>The Cherubs DAO is an NFT-owned and managed social impact investment fund with the mission of investing in causes that are important to Cherubs DAO members.  A new Cherub NFT (a “Cherub”) is born every day and auctioned off to the highest bidder. The proceeds from Cherub sales go to the Cherubs DAO treasury.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605516469/AN2yLaJEG.png" alt="Screen Shot 2022-10-22 at 14.20.11.png" /></p>
<p>Each Cherub has one vote on how the treasury is spent to help the Cherubs DAO mission. For the Cherubs DAO mission, seven macro causes have been identified. Climate, Crypto Advocacy, Curing Disease, Education, Inclusion &amp; Equality, and Poverty &amp; Hunger are among the causes listed in addition to the general “All Causes.”</p>
<ul>
<li>Website: https://cherubsdao.com/</li>
<li>Twitter: https://twitter.com/CherubsDao</li>
<li>One-pager: https://cherubsdao.com/downloads/20211203_Cherubs_DAO_One_Pager.pdf</li>
</ul>
<hr />
<h1 id="heading-frontierdao">FrontierDAO</h1>
<p>FrontierDAO is a Decentralized Autonomous Organization (DAO) that was founded to fund scientific and engineering research and innovation for the public good. One way they do this is by minting, collecting, and facilitating the sale of intellectual property as digital assets. This can be scientific research and engineering breakthroughs that are published as digital assets and then minted as Non-Fungible Tokens (NFTs) by the author and intellectual property holder. These are made by and for people in the aerospace, engineering, science, academic, and research fields.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605587710/yTC4sQS_b.png" alt="Screen Shot 2022-10-22 at 14.25.02.png" /></p>
<ul>
<li>Whitepaper </li>
<li>NFT Collection </li>
<li>Linktree </li>
<li>Website: https://www.frontierdao.xyz/</li>
<li>Discord: https://discord.com/invite/UQVVw8QWrV </li>
<li>Twitter: https://twitter.com/FrontierDAO</li>
</ul>
<hr />
<h1 id="heading-research-collective">Research Collective</h1>
<p>A research collective is a network of qualified researchers who conduct experiments to test hypotheses. After that, the samples are analyzed, and the results are signed by a trusted third party. If the data is conclusive, the collective enters the knowledge market. Just moments before releasing the experiment’s data to the public The proceeds from the knowledge market are used to fund clinical research at Molecule. A token enables researchers and institutions to align incentives in order to commercialize an idea.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605775549/FwsHGvU6a.png" alt="Screen Shot 2022-10-22 at 14.26.44.png" /></p>
<ul>
<li>Telegram:  https://t.me/+hDgQ1cZ_jZQ3MDgx</li>
</ul>
<hr />
<h1 id="heading-valleydao">ValleyDAO</h1>
<p>ValleyDAO is an open, global community that is collectively financing and democratizing access to synthetic biology technologies in order to protect our planet’s future. Synthetic biology uses biological organisms to produce products such as animal-free meat, nutrients, clothing, fuels, fertilizers, and medicine in a sustainable manner. ValleyDAO believes that having access to these technologies will be critical in addressing the existential threats of climate change and food security.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605909834/YQonTjbbB.png" alt="Screen Shot 2022-10-22 at 14.28.20.png" /></p>
<ul>
<li>Announcement article: valleydao.medium.com/5bc470a58482                       </li>
<li>Discord: discord.gg/APD46yZD7E </li>
<li>Twitter: twitter.com/valley_dao</li>
<li>Youtube: https://www.youtube.com/channel/UCnKiX6SOuehOachhznRCUww</li>
</ul>
<hr />
<h1 id="heading-hairdao">HairDAO</h1>
<p>HairDAO is a decentralized autonomous organization dedicated to creating better solutions to hair loss. Their community includes researchers, engineers, content creators, and investors – all of whom contribute their own expertise towards helping us solve the problem. HairDAO operates on the Ethereum blockchain and pools capital through $HAIR, which is their native token.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666605948492/dFsDd1om1.png" alt="Screen Shot 2022-10-22 at 14.29.26.png" /></p>
<ul>
<li><a target="_blank" href="https://uploads-ssl.webflow.com/61a12cfcc8291d38310ab2a4/61fb7b4f82f61e246e1d1f10_HairDAO%20White%20Paper.pdf">Whitepaper</a></li>
<li>Website: https://www.hairdao.xyz/ </li>
<li>Discord: https://discord.com/invite/nEKD4qBPSU </li>
<li>Twitter: https://twitter.com/HairDAO_</li>
</ul>
<hr />
<h1 id="heading-curedao">CureDAO</h1>
<p>There are currently thousands of unpatentable treatments and dietary factors that would never generate enough profit to cover the $1 billion cost of research. CureDAO aims to democratize clinical research. They are currently developing an open-source platform to investigate how millions of variables, such as foods, drugs, and supplements, affect human health.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666606081784/Kq62M2_6X.png" alt="Screen Shot 2022-10-22 at 14.30.41.png" /></p>
<ul>
<li>Website: https://www.curedao.org</li>
<li>Whitepaper: https://docs.curedao.org</li>
<li>App: https://app.curedao.org</li>
<li>Studies: https://studies.curedao.org</li>
<li>GitHub: https://curedao.org/github</li>
<li>Twitter: https://twitter.com/curedao</li>
</ul>
<hr />
<h1 id="heading-denature-llc">DeNature LLC</h1>
<p>DenatureDAO is a decentralized science DAO that aims to empower STEM innovators using blockchain technology.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666606125615/RUiHmkKmE.png" alt="Screen Shot 2022-10-22 at 14.31.48.png" /></p>
<hr />
<h1 id="heading-opennmn">OpenNMN</h1>
<p>OpenNMN is Decentralized Biotech DAO formed to make the supplement NMN accessible and the means of production open-source and community owned.
Nicotinamide mononucleotide (NMN) is the subject of current research into longevity and aging. NMN can be converted to NAD+ in our bodies, NAD+ plays a role in maintaining our DNA and modifying our epigenome. Research is ongoing, if this compound extends and enhances human life it should be openly available to anyone who wishes to use it.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666606922431/CTQYifekb.png" alt="Screen Shot 2022-10-24 at 11.21.37.png" /></p>
<hr />
<h1 id="heading-antidotedao">AntidoteDAO</h1>
<p>AntidoteDAO is on a mission to democratize cancer research. They claim to be the first DAO exclusively funding Cancer Research Initiatives.</p>
<ul>
<li>Discord: https://discord.com/invite/HMxtda6fXZ</li>
<li>Instagram: https://www.instagram.com/antidotedao/</li>
<li>Twitter: https://twitter.com/antidotedao</li>
</ul>
<hr />
<h1 id="heading-reputable-dao">Reputable DAO</h1>
<p>Reputable enables the emergence of a decentralized precision wellness ecosystem by placing Truth front and center. Reputable empower everyone to optimize their health holistically, providing them with evidence-based, actionable and personalized betterment protocols that allow people to live longer, healthier, and happier lives. Users retain ownership of their data and are incentivized to monetize it, powering up a Web3 Wellness Data Economy that can revolutionize healthcare by rebalancing its incentive mechanisms and illuminate the truth in wellness at its core.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666607268404/b4ba6tJr7.png" alt="Screen Shot 2022-10-24 at 11.27.40.png" /></p>
<ul>
<li>Whitepaper: https://docs.reputable.health/product-docs/ </li>
<li>Twitter: https://twitter.com/ReputableDAO</li>
<li>Discord: https://discord.com/invite/bXaBCt4ueb</li>
<li>Telegram: https://t.me/reputable_guy</li>
<li>Linkedin: https://www.linkedin.com/company/reputable-health/</li>
</ul>
<hr />
<h1 id="heading-futurefoods-dao">FutureFoods DAO</h1>
<p>Future FoodsDAO will be a flagship community on the blockchain for the alternative protein industry that funds, develops, acquires, owns, and disseminates foundational technologies to expand the sector.  It will offer an open-source ‘marketplace’ for scientists and alternative protein advocates to trade and share tools that will be used to further R&amp;D in the sector. The combination of limited funding resources for researchers and access to research outputs locked in silos (universities, corporations, etc.) hinders development and the broader impact of key technologies and growth of the industry.  The DAO will accelerate open-source research and development while generating a self-sustaining ecosystem through an innovative revenue model.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666607047789/bh_poczWL.png" alt="Screen Shot 2022-10-22 at 14.34.57.png" /></p>
<ul>
<li>Discord: https://discord.com/invite/vCbAEKzMkJ</li>
</ul>
<hr />
<h1 id="heading-conclusion">Conclusion</h1>
<p>It wasn’t easy putting all of these together, but I did it. I’ll keep adding to the list as new information becomes available. Paying attention to Desci is essential if you work in science. The market is currently changing. Biotech has traditionally been a centralized industry, with most companies based in a few cities and staffed by in-house scientists. Decentralization is now emerging in biotech in a variety of ways: Startups are now launching outside of major metropolitan areas, sharing lab space, hiring internationally, and collaborating on research projects. Some companies are even giving up on physical lab space in favor of a “virtual biotech” model that entails outsourcing research processes. I currently part of VitaDAO and I’m amazed by how quickly they get things done. Within 10 months of its launch, VitaDAO has evaluated over 60 research proposals and financed almost two million dollars worth of research across 10 projects.</p>
]]></content:encoded></item><item><title><![CDATA[5 Benefits of Technical Writing for Developers]]></title><description><![CDATA[Introduction
Technical writing is not a career for the faint-hearted. Technical writing can be challenging, time-consuming, and, at times, even frightening. The mere thought of spending your day writing about technical subjects can feel like being lo...]]></description><link>https://blog.web3afrika.com/5-benefits-of-technical-writing-for-developers</link><guid isPermaLink="true">https://blog.web3afrika.com/5-benefits-of-technical-writing-for-developers</guid><category><![CDATA[2Articles1Week]]></category><category><![CDATA[Technical writing ]]></category><category><![CDATA[Developer]]></category><category><![CDATA[software development]]></category><dc:creator><![CDATA[Dauda Lawal]]></dc:creator><pubDate>Mon, 10 Oct 2022 08:43:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1665153711592/7v7N6FMYd.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>Technical writing is not a career for the faint-hearted. Technical writing can be challenging, time-consuming, and, at times, even frightening. The mere thought of spending your day writing about technical subjects can feel like being locked in a cage with hungry tigers. And yet technical writers are some of the most indispensable people in tech companies, and your role as a technical writer is very important in the software development industry.  </p>
<p>Your work as a technical writer is to make it easier for other professionals to understand how software products work and how they can be used to solve specific problems. Technical writers are the grease that makes the cogs of a company’s machine run smoothly. Technical writers document processes, procedures, features, specifications, and APIs so that developers don’t have to waste their time figuring out how something works or its usage.</p>
<p>If you’re also trying to find your place in tech as an engineer but with a slightly different approach than others take, there are many benefits of being a technical writer that you should know about before you make up your mind either way.</p>
<p><em>In this article, I will discuss the meaning and five benefits of technical writing for you as a developer.</em></p>
<p><strong>Let’s dive in</strong></p>
<h2 id="heading-what-is-technical-writing">What is Technical Writing?</h2>
<p>Technical writing is about communicating information clearly and in a way that will be useful to the recipient or audience. This is one of the most vital skills any technical professional can have, and it is key to promotion and advancement over the long term in your career.</p>
<p>While most people think of things like requirements documents, user manuals, and technical documentation when they think of technical writing, the reality is that software professionals use technical writing skills every day.</p>
<p>You will still have to communicate with your bosses, co-workers, and subordinates if you never write any documentation or manuals, write comments to codes, give instructions, state policies and procedures, and explain complex technical information.</p>
<h2 id="heading-what-are-the-benefits-of-technical-writing-to-developers">What are the benefits of technical writing to developers?</h2>
<p>Here are five benefits I've come across as a developer by learning technical writing with a software development career.</p>
<h3 id="heading-everything-is-in-writing">Everything is in Writing</h3>
<p>The most important thing to understand about technical writing is that it’s all about documentation. Everything you write will be read by others and by yourself sometimes when you need to refresh your memory about a particular product feature. This is why some people think technical writing is not a real job requiring skill and effort.</p>
<p>But in fact, it requires a lot of skill to write documents that are concise, accurate, and easy to read for developers who aren’t native English speakers or who don’t have a background in your product. The best way to ensure everything is written down is to use a collaborative document-management tool like <a target="_blank" href="https://docs.google.com/document/">Google Docs</a> or a wiki CMS like <a target="_blank" href="mediawiki.org">Mediawiki</a>. You can also use more robust software like Jira or Trello to plan your documentation and track progress.</p>
<h3 id="heading-ensuring-quality-and-accuracy-is-easy">Ensuring quality and accuracy is easy.</h3>
<p>Whenever you write documentation, you have to be careful to ensure that you’re not only providing the right information but that you’re also writing in a tone and style that your audience will understand. These audiences aren’t just human readers but also machines that must understand a feature and how to use it. This means you have to write in a way that computers can understand and read, like source code.</p>
<p>It can be daunting for developers to try writing documentation that encourages the right tone and contains enough information without being too verbose or difficult to understand. Fortunately, technical writing doesn’t require a developer to switch to writing. The technical writer can instead focus on making the content easy to understand and accurate so that the developer doesn’t have to worry about their writing style getting in the way of their task.</p>
<h3 id="heading-you-can-spend-more-time-developing-instead-of-writing">You can spend more time developing instead of writing</h3>
<p>The most obvious benefit of being a technical writer is that you can spend more time developing instead of figuring out how to describe what you do. You’ll be able to focus on writing documentation and explaining to your team how a feature works and how it can be used to solve a problem.</p>
<p>The most senior technical writers at a company are experts in the product or software being developed and very familiar with the development process. You can use this by asking for feedback or help to improve your documentation or write more effective code.</p>
<h3 id="heading-youll-learn-a-lot-about-your-company-and-its-products">You’ll learn a lot about your company and its products</h3>
<p>Another benefit of being a technical writer is learning a lot about your company and its products. You’ll discover the features being developed and how they work. You’ll even have time to test these features before they’re released to the public.</p>
<p>You can also ask your team questions about how things work and participate in discussions about the future of the product. You’ll be more integrated with your team and have more opportunities to contribute and become a valuable team member.</p>
<h3 id="heading-its-easier-to-find-a-job-as-a-developer">It’s easier to find a job as a developer.</h3>
<p>Being a technical writer is a great way to transition into a full-time job as a developer because most companies want to hire developers with experience with their products.  Technical writers are uniquely positioned because they spend most of their time using the product and writing about how it works. This is the same type of work that developers do. You can also write about how to use the product and publish tutorials and guides on how to use it so that other people can benefit from your work.</p>
<h2 id="heading-wrapping-up">Wrapping up</h2>
<p>If you’re struggling to find your place in tech, consider becoming a technical writer. The technical writing field is in <a target="_blank" href="https://iimskills.com/demand-for-technical-writing/">demand</a>, and the benefits include everything from learning about your company to spending more time developing. You don’t have to be a writer to succeed as a technical writer.</p>
<p>You must learn how to document different features and products and be consistent with your work. You don’t have to suffer in silence while being overwhelmed by the challenge of technical writing, you can instead thrive in the field and make a difference to your company and product by sharing your knowledge with others in a way they can understand.</p>
]]></content:encoded></item><item><title><![CDATA[Understanding solidity]]></title><description><![CDATA[Block greetings, great builders. As per person wey dey familiar with this web 3 space, you go don hear about this term "solidity". For this article, I go like explain wetin he be.

The first time wey I go search for the meaning of solidity, na the de...]]></description><link>https://blog.web3afrika.com/understanding-solidity</link><guid isPermaLink="true">https://blog.web3afrika.com/understanding-solidity</guid><category><![CDATA[Solidity]]></category><category><![CDATA[Web3]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[Blockchain development]]></category><category><![CDATA[Smart Contracts]]></category><dc:creator><![CDATA[Akintomiwa]]></dc:creator><pubDate>Thu, 06 Oct 2022 09:46:52 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1657114655564/jeFLUYi3Y.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Block greetings, great builders.</strong> As per person wey dey familiar with this web 3 space, you go don hear about this term "<strong>solidity</strong>". For this article, I go like explain wetin he be.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1657034515781/9IWDdbto9.jpeg" alt="Web3 Afrika - images" /></p>
<p>The first time wey I go search for the meaning of solidity, na the definition wey dey the <a target="_blank" href="https://docs.soliditylang.org/en/v0.8.15/index.html">documentation</a> I first see.</p>
<blockquote>
<p>Solidity is an object-oriented, high-level language for implementing smart contracts. Solidity is a curly-bracket language designed to target the Ethereum Virtual Machine (EVM). It is influenced by C++, Python and JavaScript. Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features.</p>
</blockquote>
<p>As I see am, the first ting wey commot my mouth na "<em>omoooo</em>". If na the same thing you say abi you sef no get am, no shaking, we gather dey, na why I write this article. Make we enter the matter now.</p>
<h2 id="heading-solidity-is-object-oriented">Solidity Is Object Oriented</h2>
<p>If you don dey code before, you go don hear of or dey familiar with the concept of object oriented programming but if e new to you, sit back, sip your drink and relax, I go explain.</p>
<p>Object oriented programming na concept for programming wey mean say when you dey write programs, you dey represent the important parts like an object. Make we assume now say you dey build Asphalt 9 wey be racing game, you fit represent each car as an object wey go get properties like color, model, brand and functionalities like brake, speed, turn left or right. Basically na wetin OOP mean be this. So each smart contract wey solidity dey create na object.</p>
<h2 id="heading-solidity-is-a-high-level-language">Solidity Is a High-level Language</h2>
<p>Wetin be high-level language? In the simplest of terms, high-level language na language wey dey human readable. If you dey look the syntax e go be like say you dey read normal sentence. For example;</p>
<pre><code class="lang-go"><span class="hljs-comment">// SPDX-License-Identifier: MIT</span>
pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.10</span>;


contract DemoContract 
{
    <span class="hljs-keyword">uint</span> storedData;

    function set(<span class="hljs-keyword">uint</span> x) public 
    {
        storedData = x;

         <span class="hljs-keyword">if</span> (storedData &lt; <span class="hljs-number">50</span>)
        {
            storedData = storedData*<span class="hljs-number">0</span>;          
        }
        <span class="hljs-keyword">else</span>
        {
            storedData = storedData*<span class="hljs-number">2</span>;
        }

    }

    function get() public view returns (<span class="hljs-keyword">uint</span>) 
    {
        <span class="hljs-keyword">return</span> storedData;
    }

}
</code></pre>
<p>If you never write solidity before, calm down first. Forget everything else just start by focusing on <code>storedData = x;</code> you go see say just like normal maths for secondary school wey you dey run away from that year, you understand say wetin that line mean be say we dey assign <code>x</code> to be the value of <code>storedData</code> , so <code>storedData</code> na something wey we dey call <strong>variable</strong></p>
<p>Next line talk say if anything wey dey inside <code>storedData</code> dey less than 50, the new value of <code>storedData</code> go be 0 or else if that condition i.e <code>storedData &lt; 50</code> no true, the old value of <code>storedData</code> go dey multiplied by 2.</p>
<p>You see say e dey easy to read. Na why dem dey call am high-level language. E go mean as low-level language go dey now? True. That one na the opposite of high-level language, we no fit read am, na the language wey computer fit read.</p>
<p>So when we write high-level code for computer, something wey dem dey call compiler go convert am to low-level code wey computer fit read.</p>
<p>Other examples of high-level languages na JavaScript, Python</p>
<h2 id="heading-solidity-is-influenced-by-other-languages-like-c-python-and-javascript">Solidity is Influenced by other Languages like C++, Python and JavaScript</h2>
<p>Solidity na just dialect of a language.</p>
<p>You fit see solidity as this pidgin wey I dey talk, we dey borrow normal English and Igbo even sometimes Yoruba.&gt;</p>
<p>If you don dey code for the best programming language wey be JavaScript (you no agree? We go fight our fight after the service. Meet me on my TL), you go see say solidity and JavaScript get many things in common, like the camel case naming convention of variables i.e starting the first letter of the variable with lowercase and the next word starts with uppercase e.g <code>storedData</code> also you go see say each statement dey end with semicolon.</p>
<p>So if you sabi either of these languages, learning solidity go soft for you.</p>
<h2 id="heading-solidity-is-used-to-develop-smart-contracts">Solidity is Used to Develop Smart Contracts</h2>
<p>Just as we dey used JavaScript for web development and many other things, we dey use python for backend development and AI/ML, na smart contracts we dey use solidity do.</p>
<p>Smart contracts na code wey dey run or execute when some conditions are met.</p>
<p>We fit say if stream wey peace be unto you get, make #500 dey enter Asake aza. So everytime wey person stream that song, the smart contract code go execute and Asake go get him alert as the <em>omo ope</em> wey him be.</p>
<h2 id="heading-solidity-is-statically-typed">Solidity is Statically Typed</h2>
<p>Unlike other languages wey be say if you wan define data types, you no need specify, no be so for solidity my comrade.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1657110495108/W2HxEklTM.jpeg" alt="Web3 Afrika - images" /></p>
<p>For here, we dey specify if na string, positive integer, negative integer and so on. Make I sharparly run you one example.</p>
<p>If I wan define string for JavaScript now, make we use person name</p>
<pre><code class="lang-go"><span class="hljs-keyword">const</span> name = <span class="hljs-string">'Faustina'</span>; <span class="hljs-comment">// string in Javascript</span>
</code></pre>
<blockquote>
<p>No ask me why I use woman name, focus on wetin I dey teach you comrade, drink water and mind your business.</p>
</blockquote>
<p>Now let make we write this same code in solidity.</p>
<pre><code class="lang-go">pragma solidity ^<span class="hljs-number">0.8</span><span class="hljs-number">.10</span>;

contract SolidityTest {
   <span class="hljs-keyword">string</span> name = <span class="hljs-string">"Faustina"</span>; <span class="hljs-comment">// string in solidity</span>
}
</code></pre>
<p>You see say for solidity, we need to specifically tell am say "boss, na string be this o". I Sabi say e stressful especially for us wey dey come from other languages wey we no dey specify but we go dey alright.</p>
<h2 id="heading-solidity-is-a-curly-brackets-language">Solidity is a Curly Brackets Language</h2>
<p>This one na one feature wey solidity borrow from C++</p>
<p>Wetin e mean be say the code wey we dey write for solidity, we dey always enclose am inside curly brackets <code>{ }</code></p>
<p>Make we round up now, other things we I go like mention na say you fit define your own data types, you fit import libraries, you fit do inheritance.</p>
<p>I hope say you no only learn something, you also enjoyed yourself.</p>
<p>If you read to the end, one cold origin for you, if you no dey drink, manage malt or you fit do like me and take Capri Sun.</p>
<p>Till we meet again, keep building.</p>
<p>Freshly minted with love ❤️</p>
]]></content:encoded></item><item><title><![CDATA[Array struct in solidity]]></title><description><![CDATA[In this article, I will be explaining explicitly what we call array struct in solidity and how they work in solidity coding.
Before we talk about array-struct, you should know what array is and what struct is.
What is an array?
An array is a data str...]]></description><link>https://blog.web3afrika.com/array-struct-in-solidity</link><guid isPermaLink="true">https://blog.web3afrika.com/array-struct-in-solidity</guid><category><![CDATA[array struct]]></category><category><![CDATA[array]]></category><category><![CDATA[Solidity]]></category><category><![CDATA[arrays]]></category><category><![CDATA[struct]]></category><dc:creator><![CDATA[Michael Fawole]]></dc:creator><pubDate>Thu, 06 Oct 2022 09:32:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1664832309211/A6v-ROh_0.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this article, I will be explaining explicitly what we call array struct in solidity and how they work in solidity coding.</p>
<p>Before we talk about array-struct, you should know what array is and what struct is.</p>
<h2 id="heading-what-is-an-array">What is an array?</h2>
<p>An array is a data structure which saves collections of elements of the same data type.</p>
<h2 id="heading-types-of-array-in-solidity">Types of array in solidity</h2>
<ol>
<li>Fixed array</li>
<li>Dynamic array</li>
</ol>
<p>Let take it one by one.</p>
<ol>
<li>Fixed array is an array that has a predefined size. For example<pre><code>uint[<span class="hljs-number">3</span>] public learn = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>];
</code></pre></li>
</ol>
<p>uint is the data type while the square bracket that has 3 inside is the fixed array telling us that the size of the array is 3, "public" is the visibility qualifier while learn is the name of the variable holding the array.</p>
<p>2  Dynamic array is an array whose size is unlimited. For example</p>
<pre><code> uint[] public learn = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>];
</code></pre><p>In fixed array we specified the array size but in dynamic array, you leave the bracket empty.</p>
<h2 id="heading-what-is-struct">What is Struct</h2>
<p>Structs in Solidity enables us to create more complicated data types that have multiple properties.</p>
<p>To write struct in solidity you start with struct, then you mention the name of the struct, followed by curly bracket.</p>
<p>For example</p>
<pre><code>struct web3Africa{

}
</code></pre><p>Next is to fill the struct with details like name, age and height.</p>
<pre><code>struct web3Africa{
string name;
uint age;
uint height;
}
</code></pre><p>name variable type is string while that of age and height is uint.</p>
<blockquote>
<p>Numbers are given uint while alphabet or alphanumric are string.</p>
</blockquote>
<h2 id="heading-array-struct">Array-struct</h2>
<p>Array struct is the combination of struct and array.</p>
<p>The formula for array struct is given below</p>
<pre><code>struct-name[] public name-<span class="hljs-keyword">of</span>-array;
</code></pre><p>Let now apply the struct name and give the array any name we want.</p>
<p>web3Africa[] public intel;</p>
<p>Let see the full code</p>
<pre><code>pragma solidity ^<span class="hljs-number">0.5</span><span class="hljs-number">.0</span>;

contract Michael{


    struct web3Africa{
        string name;
        uint age;
    }

web3Africa[] public intel;


}
</code></pre><p>Congratulations, you have learnt array struct in solidity.</p>
]]></content:encoded></item><item><title><![CDATA[Exploring Ethereum ERC Standards]]></title><description><![CDATA[After bitcoin, everyone knows that Ethereum is the one that follows, and it is regarded as the mother of smart contracts. 
This article is going to increase your understanding of Ethereum standards. As a developer, it is important to know that there ...]]></description><link>https://blog.web3afrika.com/exploring-ethereum-erc-standards</link><guid isPermaLink="true">https://blog.web3afrika.com/exploring-ethereum-erc-standards</guid><category><![CDATA[Ethereum]]></category><category><![CDATA[Hashnode]]></category><category><![CDATA[Developer]]></category><category><![CDATA[Developer Blogging]]></category><dc:creator><![CDATA[Victor Fawole]]></dc:creator><pubDate>Mon, 26 Sep 2022 10:04:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1663370072042/xXvWCPNvp.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After bitcoin, everyone knows that Ethereum is the one that follows, and it is regarded as the mother of smart contracts. </p>
<p>This article is going to increase your understanding of Ethereum standards. As a developer, it is important to know that there are other standards in Ethereum apart from ERC-20 and ERC-721.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1664186630156/28ngCzy3H.webp" alt="Eth.webp" /></p>
<h2 id="heading-what-is-an-erc">What is an ERC?</h2>
<p>ERC means "Ethereum Request Comment." An Ethereum Request for Comments (ERC) is a document that smart contract programmers utilizing the Ethereum blockchain platform write. </p>
<p>They explain the rules in these documents that Ethereum-based tokens must accept.</p>
<p>The Ethereum community approves some of these documents after working through the EIP processes, confirms them, and then developers implement them. This is how the document becomes an ERC.</p>
<p>ERCs originate as EIPs and could address diverse areas, e.g., tokens and registration names.</p>
<h2 id="heading-here-is-the-list-of-some-erc-standards-you-need-to-know">Here is the list of some ERC standards you need to know.</h2>
<h3 id="heading-1-erc-20-standard-the-most-popular-token-standard">1. ERC-20 standard – The Most Popular Token Standard</h3>
<p>"ERC-20" refers to a scripting principle used within the Ethereum blockchain. This technical standard authorizes several rules and actions that an Ethereum token or smart contract must follow and steps to be able to execute it.</p>
<p>It is possibly simplest to understand ERC-20 as a set of basic guidelines and functions that any new token created on the Ethereum network must follow.</p>
<p>It’s a fungible token standard. This means that two coins of any token built on it have the same value at a given point in time.</p>
<p>It’s a fungible token standard. This means that two coins of any token built on it have the same value at a given point in time. Take the example of the <a target="_blank" href="https://uniswap.org/">Uniswap</a>. Their UNI token adheres to ERC-20, and 1UNI token has the same value as another UNI token at any given time. </p>
<h3 id="heading-2-erc-721-the-standard-for-non-fungible-tokens">2. ERC 721 – The Standard for Non-Fungible Tokens</h3>
<p>ERC-721 is a token standard on Ethereum for non-fungible tokens (NFTs). Bitcoin is fungible because any Bitcoin can be replaced by any other Bitcoin.Each NFT, on the other hand, is different. One NFT cannot replace another.</p>
<p>A smart contract that will interact with ERC 721 tokens must implement a separate interface, and hence it needs to follow the ERC 165 standard.</p>
<h3 id="heading-3-erc-777-reduces-friction-in-crypto-transactions">3. ERC 777 – Reduces Friction in Crypto Transactions</h3>
<p>While invoking a smart contract, after the first transaction, the ERC 20 standard requires another transaction to verify whether the criteria are met. The smart contract is invoked only after this. This increases the number of transactions, effectively causing friction.</p>
<p>ERC 777 is a proposed standard that includes a function to identify the receipt of tokens and start a smart contract immediately after the first transaction. </p>
<p>While reducing the transaction overhead, it also allows a user to dismiss incoming tokens from a blacklisted address. The blacklisting of an address can be for various reasons, such as hacking or illegal activities. </p>
<p>The ability to decline payment from such an address improves the security position of an Ethereum DApp.</p>
<p>ERC 777 upholds all the power of ERC 20. OpenZeppelin has already implemented ERC777 to build, automate, and operate decentralized applications.</p>
<h3 id="heading-4-erc-1155-the-most-advanced-non-fungible-token">4. ERC 1155 – The Most Advanced Non-Fungible Token</h3>
<p>ERC 1155 solves all the crucial issues of ERC 20 and ERC 721—the former best token standards for non-fungible tokens. For ERC 1155, users can build multiple tokens in a single contract.</p>
<p>Also, you can use ERC-1155 for fungible and non-fungible use cases. All of these qualities make ERC1155 better at storage management, efficient, and budget-friendly.</p>
<h3 id="heading-5-erc-1155-supports-bundle-transfer">5. ERC-1155 Supports Bundle Transfer</h3>
<p>ERC-1155 directly addresses this by supporting batch transfers, which allows the bundling of multiple assets into one smart contract. In doing so, it significantly reduces the potential for a transfer to cause network congestion while lowering the transaction costs.</p>
<h3 id="heading-6-erc-809-for-renting-out-nfts">6. ERC-809: For Renting out NFTs</h3>
<p>This standard is used to rent rival non-fungible tokens. An NFT is described as a "rival" if its use or ownership by one individual prevents concurrent use or ownership by other individuals. </p>
<p>ERC-809 authorizes an owner to rent access to their rival NFTs using a standard set of rules, and users can view all past and current rental agreements from a single wallet interface.</p>
<h2 id="heading-bottomline">Bottomline</h2>
<p>The ERC standards are a great step towards the adoption of smart contract technology.</p>
<p>The Ethereum ecosystem keeps flourishing because it made room for upgrades, and through those, several ERC standards have been approved to make the Ethereum ecosystem better.</p>
<p>If there are not enough checks and balances and key ERC functionality is changed without notice, that may lead to unforeseen problems as smart contracts will lose the ability to fully interact with each other.</p>
]]></content:encoded></item><item><title><![CDATA[What Is Ethereum Merge and The Major Misconceptions?]]></title><description><![CDATA[Introduction
After the EIP-1559 upgrade last year, the entire ethereum ecosystem has been longing to see the Ethereum upgrade called "The Merge".

A lot of people are already speculating that the upgrade will make the price of ethereum soar, while so...]]></description><link>https://blog.web3afrika.com/what-is-ethereum-merge-and-the-major-misconceptions</link><guid isPermaLink="true">https://blog.web3afrika.com/what-is-ethereum-merge-and-the-major-misconceptions</guid><category><![CDATA[Ethereum]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[Web3]]></category><category><![CDATA[#ethereummerge]]></category><dc:creator><![CDATA[Victor Fawole]]></dc:creator><pubDate>Thu, 25 Aug 2022 20:42:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1661422003806/cQdtH40vZ.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>After the EIP-1559 upgrade last year, the entire ethereum ecosystem has been longing to see the Ethereum upgrade called <a target="_blank" href="https://ethereum.org/en/upgrades/merge/">"The Merge".</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1661458960652/yxwCuvFVv.webp" alt="merge.webp" /></p>
<p>A lot of people are already speculating that the upgrade will make the price of ethereum soar, while some say it will make the blockchain
faster and reduce gas fees, though all these opinions are speculation.
The merge is a vital upgrade in the history of the Ethereum blockchain.</p>
<h2 id="heading-what-is-the-merge">What is the Merge?</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1661459937545/TgdR1LV_K.jpeg" alt="R4YFSS525NHY7MSXDG4KQ45HRI.jpeg" /></p>
<p>The <a target="_blank" href="https://www.coindesk.com/tech/2022/08/24/ethereum-merge-has-an-official-kick-off-date/">merge</a> is the name given to the moving of the ethereum blockchain from the proof of work (POW) to proof of stake Beacon Chain.
The merge is the coming together of the two blockchains ;  <strong>Mainnet Ethereum and Beacon Chain</strong>.</p>
<p>When the Merge takes place, Ethereum will not depend on miners to validate transactions. Instead, the network's transactions will be validated by entities called validators.</p>
<p>Using a <a target="_blank" href="https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/">PoS consensus mechanism</a>, Ethereum validators are selected by owning 32 ether, and they are required to run three different pieces of software, which include a validator, an execution client, and a consensus client. Proof-of-stake (PoS) is the consensus mechanism that Ethereum will use after The Merge. </p>
<h2 id="heading-misconception-about-the-merge">Misconception about the Merge</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1661459382625/jQTwFmkRn.jpeg" alt="Ethereum-movie.jpeg" /></p>
<h3 id="heading-1-the-merge-will-result-in-overall-network-downtime">1. The Merge will result in overall network downtime:</h3>
<p>The developers in the Ethereum foundation team have assured people that there will not be a network downtime as the Ethereum blockchain transits from proof of work to proof of stake.</p>
<h3 id="heading-2-the-merge-will-cause-the-transaction-fee-to-be-reduced">2. The Merge will cause the transaction fee to be reduced:</h3>
<p>Against the sentiment of many crypto traders and investors, the merger will not reduce transaction fees. The merge doesn't go to expand the network, nor does it provide a more efficient transaction structure.</p>
<h3 id="heading-3-the-merge-will-make-transactions-faster">3. The Merge will make transactions faster:</h3>
<p>The merge will bring several changes to Ethereum, but faster transactions are not part of the things to expect in the upgrade. Though ethereum developers said that there would be a 10% in block production as ethereum moves to proof of stake, the increase will not amount to anything.</p>
<h3 id="heading-4-investors-will-be-able-to-withdraw-staked-ethhttpsethereumorgenstaking-after-the-merge">4. Investors will be able to withdraw <a target="_blank" href="https://ethereum.org/en/staking/">staked ETH</a> after the merge:</h3>
<p>Staked ETH (stETH), a cryptocurrency backed 1:1 by ETH, currently lies locked on the<a target="_blank" href="https://ethereum.org/en/upgrades/beacon-chain">Beacon Chain</a>. While users would love to be able to withdraw their stETH holdings, the developer community has confirmed that the upgrade does not facilitate this change.</p>
<p>Withdrawal of stETH holdings will be made available during the next major upgrade after The Merge, known as the Shanghai upgrade. As a result, the assets will remain locked and illiquid for at least 6–12 months after the merger.</p>
<h3 id="heading-5-staking-apr-is-expected-to-triple-after-the-merge">5. Staking APR is expected to triple after the Merge:</h3>
<p>That's not true. The merger is not going to cause the staking APR increase.
The developers in the ethereum foundation have not made any statement about an increase in staking APR.</p>
<h3 id="heading-6-validators-will-not-be-able-to-withdraw-eth-rewards-til-the-shanghai-upgrade">6. Validators will not be able to withdraw ETH rewards til the Shanghai upgrade:</h3>
<p>While staked ETH remains blocked for investors until withdrawals are resumed following the Shanghai upgrade, validators will have instantaneous access to the fee rewards and maximal extractable value (MEV) earned during block proposals from the execution layer or Ethereum Mainnet.
As the fee compensation will not be newly issued tokens, it will be available to the validator immediately.</p>
<h2 id="heading-what-do-i-need-to-do-as-an-ethereum-user">What do I need to do as an Ethereum user?</h2>
<p>The merge is a protocol upgrade; as an ethereum user, you don't need to do anything before or after the merge. Nothing will happen to the ether(s) that you hold in your wallet.</p>
<h2 id="heading-when-will-the-merge-happen">When will the Merge happen?</h2>
<p>The great upgrade that many developers, investors, and traders have been expecting over the years is now.
The Merge is going to happen between the 15th of September, 2022.</p>
<h2 id="heading-what-if-the-merge-goes-wrong">What if the merge goes wrong?</h2>
<p>Many people have been asking that if the merger goes wrong, it will cause some havoc on the Ethereum chain, and the general market sentiment might be bearish.
But it is unlikely for the merge to go wrong because the developers in charge can deliver <strong>ethereum to proof of stake successfully</strong>.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>This is the highly anticipated upgrade in the history of the Ethereum blockchain.
The Merge will be implemented on Ethereum's main network on or around September 15, 2022, or when the total difficulty reaches 58750000000000000000000. At that time, the network will merge with the PoS consensus mechanism that has been applied to the Beacon chain and the <a target="_blank" href="https://ropsten.etherscan.io/">testnets Ropsten</a>, <a target="_blank" href="https://www.coindesk.com/tech/2022/07/06/ethereums-sepolia-testnet-successfully-transitions-to-proof-of-stake/">Sepolia</a> and Goerli.</p>
]]></content:encoded></item><item><title><![CDATA[Smart contracts and the Ethereum blockchain]]></title><description><![CDATA[Introduction
The Ethereum blockchain is very distinct as it is the first to implement smart contracts, which changed the blockchain use cases with the invention of decentralized apps, digital agreements, token creations, and so much more. This articl...]]></description><link>https://blog.web3afrika.com/smart-contracts-and-the-ethereum-blockchain</link><guid isPermaLink="true">https://blog.web3afrika.com/smart-contracts-and-the-ethereum-blockchain</guid><category><![CDATA[Blockchain]]></category><category><![CDATA[Solidity]]></category><category><![CDATA[Smart Contracts]]></category><category><![CDATA[Web3]]></category><category><![CDATA[vyper]]></category><dc:creator><![CDATA[Oreoluwa Akinola]]></dc:creator><pubDate>Mon, 15 Aug 2022 18:46:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1659655355410/dk2pX42VF.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-introduction">Introduction</h3>
<p>The Ethereum blockchain is very distinct as it is the first to implement smart contracts, which changed the blockchain use cases with the invention of decentralized apps, digital agreements, token creations, and so much more. This article introduces you to smart contracts on the Ethereum blockchain—what they are, smart contract languages and their features, and how smart contracts work in the EVM..</p>
<h3 id="heading-history">History</h3>
<p>The term “smart contracts” was first coined by <a target="_blank" href="https://en.wikipedia.org/wiki/Nick_Szabo">Nick Szabo</a>, -a computer scientist- in 1997, when he expressed his thoughts that various contractual agreements can be embedded in software or hardware in such a way to make any possible breach of agreement expensive. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1660588486957/_rxk8QyCM.jpg" alt="nick.jpg" /></p>
<p>One cannot mention smart contracts without a tribute to the Ethereum blockchain, as it is the first to implement smart contracts. After the launch of Bitcoin in 2009, Vitalik Buterin(Ethereum co-founder) argued that Bitcoin and blockchains could have more benefits than just handling digital money. He also noted that a different, turing complete language would be needed for blockchains to handle application development.</p>
<p>In early 2014, Vitalik Buterin, alongside Gavin Wood, Charles Hoskinson, Anthony Di Iorio, and Joseph Lubin, started the development of the Ethereum blockchain. In July 2015, the Ethereum blockchain went live, and the genesis block -the first block in a blockchain- was mined. So started the blockchain that let applications be built on it. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1660588649564/nm3CVZyij.jpg" alt="gavin-wood-vitalik-coin-jazeera-1-1024x512.jpg" /></p>
<h3 id="heading-what-exactly-is-a-smart-contract">What exactly is a smart contract?</h3>
<p>Let us look at a simple definition of a smart contract;
    "A smart contract is a program that runs on the Ethereum blockchain. It's a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain."</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1660588777289/uEIQhXeGo.png" alt="What-are-Smart-Contracts_.png" /></p>
<p><strong>A smart contract is simply code deployed to the blockchain. Just like a regular contract defines the terms and conditions of a deal, a smart contract contains logic that makes up the terms of a transaction or an agreement on a blockchain, whatever that transaction may be. Smart contracts can be used for things like voting, crowdfunding, token creation(fungible and non-fungible tokens), and ownership registration. Another important use of smart contracts is building decentralised applications(Dapps).
</strong></p>
<h3 id="heading-what-exactly-is-a-decentralised-application">What exactly is a decentralised application?</h3>
<p>A decentralised application has its backend built on the blockchain with smart contracts, while its frontend looks like any website or mobile application interface. The logic governing a Dapp's behaviour is written in a smart contract language and stored on the blockchain. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1660588894430/CFISonYGL.png" alt="1_sd62aH6GGS1RoCR9t4QNyQ.png" /></p>
<p>To communicate with the blockchain and to be able to sign transactions, a dapp needs a wallet. </p>
<h3 id="heading-what-exactly-is-a-wallet">What exactly is a Wallet?</h3>
<p>A wallet is a service that stores private keys, account information and an individual's blockchain assets.<a target="_blank" href="[https://metamask.io/]">Metamask</a>, <a target="_blank" href="https://trustwallet.com/">Trustwallet</a>, and <a target="_blank" href="https://www.gemini.com/">Gemini</a> are examples of wallet services, among others. Currently, about 2970 Dapps are built on the Ethereum blockchain. Common examples of dapps built on the Ethereum blockchain are OpenSea, Sushi, StableFund, etc.</p>
<p>Given that the blockchain itself is immutable, any smart contract deployed to the blockchain is also immutable. For this reason, smart contracts are highly sensitive, and developers must take extreme care to ensure that a smart contract code is ridden of all unwanted behaviour and attacks from hackers. Before deployment to production, smart contracts are compiled and tested using tools like Remix, Hardhat, Truffle, Foundry, Ganache, Mocha, and others. </p>
<h3 id="heading-role-of-addresses-in-smart-contracts-development">Role of addresses in smart contracts development</h3>
<p>When deploying a smart contract, two accounts are usually involved</p>
<ol>
<li>an externally owned account(EOA) and</li>
<li>a contract account(CA). </li>
</ol>
<p>To deploy a smart contract initially, an externally owned account is needed. An EOA is an account already owned by a person or an organisation, controlled by private and public keys, and capable of sending transactions.</p>
<p>A contract account can hold Ether balance, just like an EOA and is only obtained when a smart contract is deployed. This address comes from hashing the EOA address and the nonce of that account. </p>
<p>A nonce is a number depicting the number of transactions an address has sent. The unique thing about a contract account is that it houses a smart contract. By knowing the address of a smart contract, you can interact with the functions of that contract, either from an EOA or another contract. Each contract account is unique and tied to a smart contract.</p>
<h3 id="heading-smart-contract-languages">Smart contract languages</h3>
<p>For smart contracts to be deployed to the Ethereum blockchain, they are written in an EVM-compatible programming language. The Ethereum virtual machine(EVM) is the runtime environment for smart contracts on the Ethereum blockchain. The EVM is completely isolated, meaning it has no access to external data, processes or systems.
The two most active and maintained smart contract languages are <strong>Solidity and Vyper</strong>. Yul/ Yul+ is also an EVM-compatible language, albeit more advanced than those mentioned earlier. <strong>Fe</strong> is another language for smart contracts development on the EVM, though still in its early development stages.
Let us check out some features of the two most active and maintained smart contract languages, <strong>Vyper and Solidity.</strong></p>
<h2 id="heading-vyper">Vyper</h2>
<p>  Vyper is a lightweight, pythonic programming language for writing smart contracts on EVM-compatible chains but with fewer features than solidity. </p>
<p><strong><em>Features</em>
</strong></p>
<ul>
<li>Statically typed - each variable data type needs to be specified whether it is an integer, a string, a boolean value, etc.</li>
<li><p>Strong typing </p>
</li>
<li><p>Small and understandable compiler code</p>
</li>
<li><p>Support for signed integers and fixed point numbers, unlike solidity, which doesn’t support fixed point numbers.</p>
</li>
<li><p>Vyper does not support inheritance, modifiers, recursive calling, binary fixed point, infinite-length loops and inline assembly.</p>
</li>
</ul>
<h2 id="heading-below-is-an-example-of-an-auction-smart-contract-written-in-vyper">Below is an example of an auction smart contract written in Vyper</h2>
<pre><code>beneficiary: <span class="hljs-keyword">public</span>(<span class="hljs-keyword">address</span>)
auctionStart: <span class="hljs-keyword">public</span>(<span class="hljs-keyword">uint256</span>)
auctionEnd: <span class="hljs-keyword">public</span>(<span class="hljs-keyword">uint256</span>)

highestBidder: <span class="hljs-keyword">public</span>(<span class="hljs-keyword">address</span>)
highestBid: <span class="hljs-keyword">public</span>(<span class="hljs-keyword">uint256</span>)
ended: <span class="hljs-keyword">public</span>(<span class="hljs-keyword">bool</span>)

pendingReturns: <span class="hljs-keyword">public</span>(HashMap[<span class="hljs-keyword">address</span>, <span class="hljs-keyword">uint256</span>])

@<span class="hljs-keyword">external</span>
def __init__(_beneficiary: <span class="hljs-keyword">address</span>, _bidding_time: <span class="hljs-keyword">uint256</span>):
    <span class="hljs-built_in">self</span>.beneficiary <span class="hljs-operator">=</span> _beneficiary
    <span class="hljs-built_in">self</span>.auctionStart <span class="hljs-operator">=</span> <span class="hljs-built_in">block</span>.<span class="hljs-built_in">timestamp</span>
    <span class="hljs-built_in">self</span>.auctionEnd <span class="hljs-operator">=</span> <span class="hljs-built_in">self</span>.auctionStart <span class="hljs-operator">+</span> _bidding_time

@<span class="hljs-keyword">external</span>
@<span class="hljs-keyword">payable</span>
def bid():
    <span class="hljs-built_in">assert</span> <span class="hljs-built_in">block</span>.<span class="hljs-built_in">timestamp</span> <span class="hljs-operator">&lt;</span> <span class="hljs-built_in">self</span>.auctionEnd

    <span class="hljs-built_in">assert</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">value</span> <span class="hljs-operator">&gt;</span> <span class="hljs-built_in">self</span>.highestBid
    <span class="hljs-built_in">self</span>.pendingReturns[<span class="hljs-built_in">self</span>.highestBidder] <span class="hljs-operator">+</span><span class="hljs-operator">=</span> <span class="hljs-built_in">self</span>.highestBid
    <span class="hljs-built_in">self</span>.highestBidder <span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>
    <span class="hljs-built_in">self</span>.highestBid <span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">value</span>
@<span class="hljs-keyword">external</span>
def withdraw():
    pending_amount: <span class="hljs-keyword">uint256</span> <span class="hljs-operator">=</span> <span class="hljs-built_in">self</span>.pendingReturns[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>]
    <span class="hljs-built_in">self</span>.pendingReturns[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>] <span class="hljs-operator">=</span> <span class="hljs-number">0</span>
    send(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, pending_amount)


@<span class="hljs-keyword">external</span>
def endAuction():

    <span class="hljs-built_in">assert</span> <span class="hljs-built_in">block</span>.<span class="hljs-built_in">timestamp</span> <span class="hljs-operator">&gt;</span><span class="hljs-operator">=</span> <span class="hljs-built_in">self</span>.auctionEnd
    <span class="hljs-built_in">assert</span> not <span class="hljs-built_in">self</span>.ended

    <span class="hljs-built_in">self</span>.ended <span class="hljs-operator">=</span> True
    send(<span class="hljs-built_in">self</span>.beneficiary, <span class="hljs-built_in">self</span>.highestBid)
</code></pre><p><em>Source: Ethereum developers documentation</em></p>
<h2 id="heading-solidity">Solidity</h2>
<p>Solidity is an object-oriented, high-level, statistically typed programming language for implementing smart contracts on the Ethereum blockchain and other EVM compatible chains. Solidity is inspired by Python, C++ and Javascript.</p>
<p><strong><em>Features</em></strong></p>
<ul>
<li>Statically typed</li>
<li>Curly-bracketed language</li>
<li>Supports inheritance - you can use other contract methods and functions.</li>
<li>Supports libraries and complex user-defined types like enums and structs.</li>
</ul>
<p>Here is a simple example of a smart contract written in Solidity;</p>
<pre><code><span class="hljs-comment">//SPDX-License-Identifier: GPL-3.0</span>
<span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> ^0.8.12;</span>

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">simpleStorage</span></span>{

    <span class="hljs-keyword">uint</span> storedata;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">set</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> x</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> </span>{
        storedata <span class="hljs-operator">=</span> x;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">get</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span>(<span class="hljs-params"><span class="hljs-keyword">uint</span></span>)</span>{
        <span class="hljs-keyword">return</span> storedata;
    }
}
</code></pre><p><em>Source - Solidity documentation
</em></p>
<h3 id="heading-evm-and-smart-contractsabi-and-bytecode">EVM and Smart contracts(ABI and bytecode)</h3>
<p>After a smart contract is compiled successfully, its bytecode and abstract binary interface (ABI) are generated. 
The bytecode of a smart contract contains all the opcodes that perform the needed logic stated in a smart contract. Bytecode is not human readable and is generated in a JSON(Javascript object notation) format. When a smart contract is deployed to the Ethereum blockchain(or other EVM compatible chains), only its bytecode gets executed in the EVM. 
Here is the bytecode of a smart contract written in Solidity</p>
<pre><code>{
    <span class="hljs-attr">"functionDebugData"</span>: {},
    <span class="hljs-attr">"generatedSources"</span>: [],
    <span class="hljs-attr">"linkReferences"</span>: {},
    <span class="hljs-attr">"object"</span>: <span class="hljs-string">"608060405234801561001057600080fd5b50610150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806360fe47b11461003b5780636d4ce63c14610057575b600080fd5b610055600480360381019061005091906100c3565b610075565b005b61005f61007f565b60405161006c91906100ff565b60405180910390f35b8060008190555050565b60008054905090565b600080fd5b6000819050919050565b6100a08161008d565b81146100ab57600080fd5b50565b6000813590506100bd81610097565b92915050565b6000602082840312156100d9576100d8610088565b5b60006100e7848285016100ae565b91505092915050565b6100f98161008d565b82525050565b600060208201905061011460008301846100f0565b9291505056fea26469706673582212204177bb08d38a8a5212b946dc78eb92765d76c48aef6ac7651bd6beb7d03b5ef164736f6c634300080d0033"</span>,
<span class="hljs-attr">"opcodes"</span>: <span class="hljs-string">"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x150 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x60FE47B1 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0x7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA0 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP2 EQ PUSH2 0xAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xBD DUP2 PUSH2 0x97 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD9 JUMPI PUSH2 0xD8 PUSH2 0x88 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP5 DUP3 DUP6 ADD PUSH2 0xAE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x114 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE PUSH24 0xBB08D38A8A5212B946DC78EB92765D76C48AEF6AC7651BD6 0xBE 0xB7 0xD0 EXTCODESIZE 0x5E CALL PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER "</span>,
<span class="hljs-attr">"sourceMap"</span>: <span class="hljs-string">"64:204:0:-:0;;;;;;;;;;;;;;;;;;;"</span>
}
</code></pre><p>The smart contract ABI is an array of objects generated and used to communicate with dapp frontends. This ABI is used for function calls from the dapp frontend to the smart contract on the blockchain. Below is the ABI generated from our simple, smart contract earlier.</p>
<pre><code>[
    {
        <span class="hljs-attr">"inputs"</span>: [
            {
                <span class="hljs-attr">"internalType"</span>: <span class="hljs-string">"uint256"</span>,
                <span class="hljs-attr">"name"</span>: <span class="hljs-string">"x"</span>,
                <span class="hljs-attr">"type"</span>: <span class="hljs-string">"uint256"</span>
            }
        ],
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">"set"</span>,
        <span class="hljs-attr">"outputs"</span>: [],
        <span class="hljs-attr">"stateMutability"</span>: <span class="hljs-string">"nonpayable"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"function"</span>
    },
    {
        <span class="hljs-attr">"inputs"</span>: [],
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">"get"</span>,
        <span class="hljs-attr">"outputs"</span>: [
            {
                <span class="hljs-attr">"internalType"</span>: <span class="hljs-string">"uint256"</span>,
                <span class="hljs-attr">"name"</span>: <span class="hljs-string">""</span>,
                <span class="hljs-attr">"type"</span>: <span class="hljs-string">"uint256"</span>
            }
        ],
        <span class="hljs-attr">"stateMutability"</span>: <span class="hljs-string">"view"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"function"</span>
    }
]
</code></pre><h3 id="heading-other-blockchains-and-smart-contracts">Other blockchains and smart contracts</h3>
<p>Many other blockchains have implemented smart contracts too, but not all use EVM-compatible languages in writing their contracts. For example, the Solana blockchain uses Rust language to write smart contracts, while the Algorand blockchain uses TEAL(Transaction execution approval language). Other EVM compatible chains allow smart contracts written in Solidity to be deployed to their blockchain. Some EVM compatible chains are Polygon, Binance Smart Chain, Cardano, and Avalanche.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>No doubt that smart contracts are very powerful and have revolutionised the way blockchains are used. Smart contracts have made possible digital ownership, immutable binding contracts, creation of tokens(apart from a blockchain’s native token), useful decentralised apps. In the future, we might see more use cases of smart contracts as I believe blockchain technology is still developing. The ride is just getting started!</p>
]]></content:encoded></item><item><title><![CDATA[The Complete Guide to Stablecoins]]></title><description><![CDATA[There are a lot of misunderstandings between Bitcoin and Stablecoin. The latter is more stable in value and less susceptible to market value fluctuations. On the other hand, Bitcoins are highly volatile in market value, which is constantly changing. ...]]></description><link>https://blog.web3afrika.com/the-complete-guide-to-stablecoins</link><guid isPermaLink="true">https://blog.web3afrika.com/the-complete-guide-to-stablecoins</guid><category><![CDATA[Stablecoins ]]></category><category><![CDATA[Web3]]></category><category><![CDATA[Blockchain]]></category><dc:creator><![CDATA[Chinonso Anyaehie]]></dc:creator><pubDate>Mon, 01 Aug 2022 15:21:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1659367044349/3Pfrz4xDQ.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are a lot of misunderstandings between Bitcoin and Stablecoin. The latter is more stable in value and less susceptible to market value fluctuations. On the other hand, Bitcoins are highly volatile in market value, which is constantly changing. If you read my <a target="_blank" href="https://decentrapress.com/what-is-defi/">DeFi article</a>, you'll know that you'll need a stablecoin to build a DeFi application, not bitcoin.</p>
<p><strong>Bitcoin is one of the most popular cryptocurrencies</strong>. Can it be a replacement for fiat currency? I doubt! Bitcoin constantly fluctuates in price, forcing traders to wait for the right moment to exchange their Bitcoins.</p>
<p>Their volatile nature makes them unsuitable for personal and business transactions. The value of a stable coin remains constant at $1.00. However, they might fluctuate in predictable ways.</p>
<p>A single entity controls stablecoins, and the price of stablecoins remains constant, making them non-volatile. They are well suited to commercial transactions. The use of stablecoins is regulated. You can use them to buy and sell things without fear that they might crash right after you get them. Stablecoins can also play an essential role in enabling quick and secure digital payments while maintaining their price value during hard times.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659364716490/ZcnVlMEcc.jpg" alt="stablecoin-overview-banner.jpg" /></p>
<p><strong>A stablecoins backed by fiat currency is centralized, meaning a single entity manages them. This requires trust in the entity, whereas Bitcoins are decentralized.</strong></p>
<p>Some stablecoins are pegged to the value of commodities such as precious metals, industrial metals, oil, or real estate. Commodity investors appreciate the option of commodity-backed stablecoins because it allows them to invest in gold without worrying about sourcing and storing it. Stablecoins, such as USDT and Tether, is backed by fiat currencies and typically require a custodian to regulate the currency and keep the fiat reserve.</p>
<p>Some stablecoins are decentralized coins, and their value is determined by supply and demand. They are usually not issued by any centralized organization, and the company has no control over their value. They use smart contracts to manage the collateral and keep things running smoothly. An excellent example of a stable coin like this is <a target="_blank" href="https://makerdao.com/en/">DAI</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659365058742/6jIGQJxoR.jpg" alt="Stablecoin-DAI.jpg" /></p>
<h1 id="heading-providing-security-for-cryptocurrency-traders">Providing security for cryptocurrency traders</h1>
<p>Stablecoins also shield traders and investors from market volatility. Traders can protect their investments during a bear market by instantly converting their Bitcoin, Ethereum, or other cryptocurrencies to stablecoin. Traders can also increase their crypto holdings by entering and exiting the market with stablecoins without having to convert them to fiat currency.</p>
<p>The emergence of stablecoins has opened the gate for governments and central banks to explore the possibilities of decentralized technology. A good example is the Central Bank Digital Currency (CBDC), which are digital tokens, similar to cryptocurrency, issued by a central bank. They are pegged to the value of that country's fiat currency. <a target="_blank" href="https://www.investopedia.com/terms/c/central-bank-digital-currency-cbdc.asp">Read more</a>. CBDCs are now being developed and implemented in many countries.</p>
<p>Recently The Bank of England has published a discussion paper to broaden the debate around new forms of digital money and solicit feedback from a wide range of stakeholders on the bank's emerging ideas. Throughout, new forms of digital money are assumed to be stable in value with a retail focus. They are just indicating their efforts towards leveraging digital payments. You can find this report <a target="_blank" href="https://www.bankofengland.co.uk/paper/2021/new-forms-of-digital-money">here</a></p>
<h1 id="heading-enaira">eNaira</h1>
<p>For example, eNaira is a Central Bank of Nigeria-issued digital currency that provides a unique form of money denominated in Naira. <a target="_blank" href="https://enaira.gov.ng/">eNaira</a> serves as both a medium of exchange and a store of value, offering better payment prospects in retail transactions when compared to cash payments.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659366204169/2tIP3qTuC.jpg" alt="E-Naira.jpg" /></p>
<h1 id="heading-e-cny">e-CNY</h1>
<p>The e-CNY, also known as the digital yuan and officially called the Digital Currency Electronic Payment (DC/EP), is a digitized version of China's legal currency, the renminbi (RMB). China's central bank issues it, the People's Bank of China (PBOC).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659366289733/--9m0KYVz.jpg" alt="e-cny.jpg" /></p>
<h1 id="heading-digital-dollar">Digital dollar</h1>
<p>A bill has been introduced in Congress that would allow the US Treasury to create a digital dollar, a virtual representation of the US dollar. This would allow people to pay with tokens on mobile phones or cards rather than cash. Given the technological trends and broader financial and political developments surrounding digital currencies, a digital USD is likely to be implemented.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659366342179/WuDaPszLP.jpg" alt="digital-dollar.jpg" /></p>
<h1 id="heading-global-payment-and-remittance">Global payment and remittance</h1>
<p>Banking giant <a target="_blank" href="https://www.wellsfargo.com/">Wells Fargo</a> uses stablecoins as a solution to settle international payments. &gt; Wells Fargo says its blockchain for internal cross-border money transfers is faster and more efficient than SWIFT, the global messaging system used by over 11,000 financial institutions.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659366677450/Cj3nSNuAk.jpg" alt="Global-remittance.jpg" /></p>
<blockquote>
<p>"When we move money across the world, and we need to exchange currencies, we have to go through third parties such as SWIFT and other banks," said Lisa Frazier, head of the Innovation Group at Wells Fargo. "That's a long process, and every time there's a connection with external parties, it takes time, energy, and effort."</p>
</blockquote>
<p>She told <a target="_blank" href="https://www.coindesk.com/markets/2019/09/20/wells-fargos-stablecoin-faster-cheaper-than-swift-says-exec/">CoinDesk</a></p>
<p>JPM Coin is a digital coin designed to make immediate payments using blockchain technology.</p>
<h1 id="heading-benefits-of-stablecoin-to-fintech">Benefits of Stablecoin to Fintech</h1>
<p>Blockchain-based: Stablecoins, like any other cryptocurrency, use blockchain technology. Security, transparency, and accountability, the core benefits of blockchain, are now available to everyone.</p>
<ul>
<li><p>Faster and less expensive remittances: Compared to current financial systems, which are plagued by a slow and costly network and transaction fees. Stablecoins provide a faster, cheaper, and more secure mode of cross-border payments or remittances.</p>
</li>
<li><p>DApps: In the DApp ecosystem, developers can integrate stablecoins with applications and services for in-app purchases and other payments.</p>
</li>
</ul>
<p>Kitco, a Canadian provider of gold and precious metals news and data, has entered the stablecoin market. According to a press release shared with <a target="_blank" href="https://www.coindesk.com/markets/2021/08/04/precious-metals-data-provider-kitco-to-issue-gold-backed-stablecoin/">CoinDesk</a>. <a target="_blank" href="https://www.kitco.com/">Kitco</a> Gold (KGLD) will be fully backed by physical gold held in Kitco's Direct Reserve vaults and will track the real-time market value of the yellow metal.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659366975824/RbZOMhgOY.jpg" alt="ezgif-1-879587abf8.jpg" /></p>
<p>Stablecoins are a very safe long-term investment. Gemini Dollar, Dai, and PAX are the safest stablecoins, according to financial experts. So, if you want to invest in Stablecoins, you can do so in these assets.</p>
<p>Stablecoins do not require a bank account and are easy to transfer worldwide, including in locations where the US dollar is challenging to obtain or unstable local currency. There are simple ways to earn interest on a stablecoin investment typically higher than what a bank would offer. It also enjoys low transaction fees and fast processing.\</p>
<h1 id="heading-lets-also-look-at-some-of-the-most-popular-stablecoins">Let's also look at some of the most popular stablecoins.</h1>
<ul>
<li><p>Dai — Dai is a well-known decentralized stablecoin created by Maker DAO, which also governs it. 1 Dai is equivalent to 1 USD. Dai coin is compatible with over 400 apps and services.</p>
</li>
<li><p>USD coin — (USDC) is an Ethereum-based stablecoin. USD coin was launched by the centre consortium, Coinbase, and Circle. Its value is pegged 1:1 with the US dollar, which means holders can redeem 1 USD coin for $1 at any time. Every USDC is backed by one dollar or an asset with an equivalent value, held in accounts with US-regulated financial institutions.</p>
</li>
<li><p>TrueUSD — TrueUSD is an Ethereum-based stablecoin that attempts to maintain a value of $1.00. Banks hold US dollars in escrow as collateral for the supply of TUSD. On the TrustToken website, you can buy and redeem tokens in US dollars. It's one of the most dependable and tested stablecoins on the market.</p>
</li>
<li><p>The Paxos Standard Token — The Paxos Standard Token (PAX) is a stablecoin running on Ethereum. It is one of the most quickly adopted stablecoin and approved by the New York State Department of Financial Services. The company behind the protocol is responsible for holding reserves that fully back each token. It is also backed in a 1:1 ratio by the US dollar. The tokens are destroyed when the coin is redeemed for USD.</p>
</li>
</ul>
<h1 id="heading-types-of-stablecoins">Types of Stablecoins</h1>
<p>Let us now examine the various types of stablecoins.</p>
<ul>
<li>Crypto-collateralized</li>
<li>Commodity-collateralize</li>
<li>Fiat-collateralized</li>
<li>Non-collateralized</li>
</ul>
<h1 id="heading-crypto-collateralized-stablecoins">Crypto-Collateralized Stablecoins</h1>
<p>Crypto-collateralized stablecoins are those that are backed by other cryptocurrencies. Through over-collateralization, these stablecoins maintain their 1:1 ratio. This structure provides a buffer against price fluctuations caused by the underlying collateral. For instance, DAI, a stablecoin backed by another cryptocurrency developed by MakerDAO. BitUSD is another well-known crypto-collateralized token supported by Bitshares.</p>
<h1 id="heading-commodity-collateralized-stablecoins">Commodity-Collateralized Stablecoins</h1>
<p>Commodity-backed stablecoins are the type of stablecoins that are collateralized using physical assets like precious metals, oil, and real estate. Gold is the most popular commodity to be collateralized; Tether Gold (XAUT) and Paxos Gold (PAXG) are two of the most liquid gold-backed stablecoins.</p>
<p>Another good example is the gold-backed Digix. This means that 1 DGX equals 1 gram of gold on the ETH network. Tiberius is another good one backed by the combination of seven precious metals commonly used in hardware technology.</p>
<h1 id="heading-non-collateralized-stablecoins">Non-Collateralized Stablecoins</h1>
<p>With this type of stable coin, algorithms instead of assets determine the value of non-collateralized stablecoins. Some good examples are CarbonUSD and kUSD. The tokens rely on a mechanically generated algorithm that can change the supply volume to maintain the token's price, which is pegged to an asset. The system also operates with the help of smart contracts, which helps to sell tokens if the price falls below a predetermined level and supply token to the market if the price rises. This automated process helps the toke remain stable and secure to its peg.</p>
<h1 id="heading-fiat-collateralized-stablecoins">Fiat-Collateralized Stablecoins</h1>
<p>Fiat-collateralized stablecoins are backed by sovereign currency such as the Pound Sterling or the US dollar. This means that to issue a certain number of tokens of a given cryptocurrency, the issuer must provide collateral in dollar reserves worth the same amount. The idea behind this is to support stablecoin with real fiat in real bank accounts. The only problem with this approach is that a centralized authority controls it. The issuing party must trust that they have the appropriate assets to pay out the token.</p>
<h1 id="heading-summary">Summary</h1>
<p>In summary, stablecoins are just like fiat currency that you can use for mainstream commerce, but with the additional benefits of cryptocurrencies. This can be useful for overseas payment since there will be no conversation about different fiat currencies. It is more like a new form of digital money controlled algorithmically and provides monetary benefits comparable to fiat currencies. Stablecoins have the potential to broaden the mainstream adoption of digital assets in everyday life.</p>
]]></content:encoded></item><item><title><![CDATA[What is Web 3.0: A Layman's Guide to the Decentralized Web]]></title><description><![CDATA[Many people still believe that Web3 is just for high-tech people, which alienates laypeople and discourages them from getting involved.
The Web3 isn't just for developers; it also needs the layperson to complete the ecosystem. Until ordinary people c...]]></description><link>https://blog.web3afrika.com/what-is-web-30-a-laymans-guide-to-the-decentralized-web</link><guid isPermaLink="true">https://blog.web3afrika.com/what-is-web-30-a-laymans-guide-to-the-decentralized-web</guid><category><![CDATA[Web3]]></category><category><![CDATA[Blockchain]]></category><category><![CDATA[Ethereum]]></category><category><![CDATA[Bitcoin]]></category><category><![CDATA[Cryptocurrency]]></category><dc:creator><![CDATA[Chinonso Anyaehie]]></dc:creator><pubDate>Fri, 29 Jul 2022 15:30:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1659107920559/qLAwPtUHB.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Many people still believe that Web3 is just for high-tech people, which alienates laypeople and discourages them from getting involved.</p>
<p>The Web3 isn't just for developers; it also needs the<strong> layperson to complete the ecosystem. </strong>Until ordinary people can freely use their wallets to connect to a blockchain network to perform a particular transaction, our job isn't complete.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659101475238/3KBURAmBX.jpeg" alt="1_giVlpK_uqwJg7gzWx5Fzig.jpeg" /></p>
<p>Web3 is a concept for a new version of the World Wide Web-based on blockchain technology, incorporating features such as <strong>decentralization and a token-based economy.</strong> Web3 is a system that uses <strong>blockchains, cryptocurrencies, and non-fungible tokens (NFTs)</strong> to give people control of their assets.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659101614267/zqocQ1RPP.jpg" alt="show-non-fungible-token.jpg" /></p>
<p><strong>Permissionless blockchains</strong> are the basis of Web3; they lack centralized authority and do not require users to trust, or even know anything about, other users to conduct business with them. You might still find confusing terms like <strong>wallets, blockchain, decentralization, NFTs, cryptocurrency, and token</strong>. But we will clarify all of them in this article.</p>
<p>What makes Web3 interesting is its decentralized nature, meaning you no longer need to access the Internet through centralized services like <strong>Google, Apple, or Facebook.</strong> When you utilize a platform like Facebook or YouTube, these BigTech companies collect, own, and monetize your data. In Web3, the keys in your wallet secure your data. You'll interact with apps and communities on Web3 using your wallet and take your data with you when you <strong>logout.</strong></p>
<p>As a layperson, getting involved isn't rocket science; I understand it is always hard at adopted new technologies; it is always like that for every new technology - but with time, it becomes second nature.</p>
<p>With Web3, <strong>data ownership </strong>is embedded into your wallet. The keys in your wallet are your identity on Web3 and are not easily connected to your real identity. While people can monitor the activities of your wallet, they can't reveal your real identity. Your personal information is private, but your actions are open to the world. Decentralized finance is a growing component of Web 3.0. It entails carrying out real-world financial transactions on the blockchain without the assistance of banks or governments.</p>
<p>Before I go any further, let's have some back story on how this transition started. The World Wide Web is the primary and sole tool that billions of people use to spread information, read and write it, and communicate with others via the Internet. The Web has changed swiftly over time, and its applications are almost unrecognizable from its early days. The Web's evolution is classified into three stages: Web 1.0, Web 2.0, and Web 3.0.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659106065634/UJhFhYCWj.png" alt="1_r6Nyzggj0Avf2EHgLgLIgw.png" /></p>
<h1 id="heading-web-10">Web 1.0</h1>
<p>Web 1.0 refers to the first version of the Internet as it evolved from its beginnings with the Defense Advanced Research Projects Agency (DARPA). Web 1.0 was primarily made up of web pages linked together by hyperlinks, without images, controls, or forms we see on today's Web. Web 1.0 was referred to by experts as the "read-only" Web – a web that wasn't interactive in any meaningful way. In Web 1.0, user input took place offline, and websites were static pages hosted on web servers run by internet service providers. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659106322561/RSE02rVcM.jpg" alt="Untitled-1.jpg" /></p>
<p>In Web 1.0, simple catalogs constituted eCommerce that allowed users to view products and services. The user may then be able to contact the company via email. Web 1.0 existed roughly from 1991 to 2004. Web 1.0 has been consigned to the annals of time. However, there are still living pages from the days of Web 1.0 that you can view.</p>
<h1 id="heading-web-20">Web 2.0</h1>
<p>Web 2.0 is a term used to describe the interactive Internet that we have today. We often compare it to Web 1.0, the previous Internet of the 1990s, and a hypothetical future Web 3.0, which includes extra sophisticated technologies to improve how we will likely utilize the web decades from now. Web 2.0 changed the Internet's read-only environment into a "read/write" one. Users were suddenly able to submit a variety of information into web forms and transmit it back to the servers, allowing them to communicate in real-time with hosting servers. Users of Web 2 can also transmit information back to the server to obtain more tailored information or other user-generated results. As providers could utilize this interaction to modify software services, a variety of web services took off.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659107623648/2u7cvWYtQ.jpg" alt="Untitleeed-1.jpg" /></p>
<p>You don't have to be a developer to participate in the Web 2.0 creative process. Many apps are open to anyone. A good example is the WordPress content management system, which empowers ordinary users to build their websites with zero coding knowledge. There are other no-code tools that non-developers can also utilize to achieve their desired goals. Shopify, for instance, is another excellent example of a no-code platform that allows users to create an eCommerce platform that helps users start, grow, and manage their business.</p>
<p>Web 2.0, the Web you are currently interacting with, has opened up a world of possibilities - from the comfort of your own home, you can create content and share it with the rest of the world, making it available to millions of people worldwide - who can interact with the content by commenting, liking, and re-sharing. YouTube, Facebook, Flickr, Instagram, Twitter, and other social media platforms are some Web 2.0 tools that can aid with this.</p>
<p>Another fascinating aspect of Web 2 is the technology it ushered in. These web technologies include <strong>CSS, HTML</strong>, and <strong>Javascript frameworks</strong> such as <strong>ReactJs </strong>and AngularJs. These technologies allow developers to bring their ideas to life as apps, websites, and web apps.</p>
<p>The exploitation and centralization of user data are fundamental to the operation of the Web as we know and use it today, and this is a big problem. Over the years, numerous lawsuits hit Facebook. It all emanates from the fact that users' data is being breached and sold. I am not surprised because a lot of funding has gone into these big tech companies, and there's a lot of pressure from investors to make a profit. When these pressures keep mounting, these companies will have no choice but to exploit users' data to serve more personalized ads or, in most cases, sell them. This lack of trust is one of the biggest problems plaguing the Web2, the centralized Web.</p>
<p>One of the most significant downsides of Web2 is the numerous security concerns. My employer's server was hit with ransomware sometime last year, and the company paid through the teeth to recover their data. I have seen many companies fall victim to social engineering tricks, where the attacker uses psychological manipulation to trick users into making security mistakes or giving away sensitive information.</p>
<p>In the true sense of things, in web3, you have zero control over your data. You might spend years building your followership on a particular platform, and the next thing you know, the platform can decide to shout you down, and you will not be able to context it. I once had this Facebook page that I spent over $5000 growing to 300k likes, and all of a sudden, Facebook decided to kill pages by reducing the reach. The same thing happened to me on Instagram. Whatever data you have with these centralized big tech companies isn't really yours, and they are free to use it as they please. These big tech companies control and wield so much power, hence the urgent need for decentralization.</p>
<p>I'm a massive advocate of decentralization because centralized technology has really dealt with me. I recall when the Nigerian government decided to outlaw cryptocurrency trading and imposed a penalty of freezing any bank accounts found to be involved. My bank account was one of the unfortunate accounts that companies froze. These centralized authorities wield so much power that they frequently stifle growth and oppress the ordinary person, which must stop. I don't care how long it takes the Web to be decentralized, but it has to be done. Enough is enough. Another sector in dire need of decentralization is the financial industry, but this is a discussion for another chapter.</p>
<h1 id="heading-what-is-web-30">What is Web 3.0?</h1>
<p>Web3 is the truly decentralized and more democratic version of the current Internet. The expression Web3 has recently become a buzzword on the Internet. Most people are still unaware of what Web3 is about, while some, particularly developers, have already made a move. Gavin Wood coined the term "Web3" in 2014 when outlining his vision for the future of the Internet. Gavin Wood is a co-creator of Ethereum and the founder of the blockchain infrastructure startup Parity Technologies. Developers in Web 2.0 design apps that run on a single central server or store data in a single database, which is often hosted and managed by a single cloud provider. However, with Web 3.0, developers can create apps operating on the blockchain, a decentralized network of many peer-to-peer node servers. Decentralized apps are programs made using Web3 technologies (DApps.) Web3 relies heavily on blockchain technology. Blockchain is also the technology that supports cryptocurrencies like Bitcoin. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659107915609/9c7pMPSPr.jpg" alt="Untisssdtled-1.jpg" /></p>
<p>The idea of decentralization started when developers saw what blockchain did for bitcoin. A single company or person does not own Bitcoin, and is not issued by a central authority like a central bank; it achieved this by leveraging blockchain technology. The trustless approach forms the foundation of Web3. For the time being, we must trust the Big-Tech companies to deliver on their promises. However, if Web3 products and services are decentralized and built on blockchains, you'd need to trust the underlying algorithm to supply the offering. </p>
<h1 id="heading-below-are-some-of-the-properties-of-web-3">Below are some of the properties of web 3</h1>
<h2 id="heading-3d-graphics">3D Graphics</h2>
<p>Web 3.0 is more likely to transform the future of the Internet from the current simple two-dimensional Web to a three-dimensional world. For instance, https://metaverse.network/ is the foundation infrastructure of the future metaverses on the Polkadot Network. In the metaverse, for example, avatars are used as virtual representations of real people; Players can use these avatars to explore the virtual ecosystem and engage with other players, non-playable characters, or other elements of the digital world.</p>
<h2 id="heading-artificial-intelligence">Artificial Intelligence</h2>
<p>In the Web 2.0 era, organizations have solicited customer feedback better to understand the quality of a product or asset. With Web 3.0, computers may grasp information on a human-like level by merging semantic skills with natural language processing, resulting in faster and more relevant outcomes. As a result, they become more competent and better able to meet the needs of consumers.</p>
<h2 id="heading-connectivity">Connectivity</h2>
<p>Thanks to semantic metadata, Web 3.0 makes information more connected. As a result, the user experience progresses to a new level of connectivity that takes advantage of all accessible data.</p>
<h2 id="heading-ubiquity">Ubiquity</h2>
<p>With Web 3.0, Internet content and services can be accessed via various devices at any time, rather than just computers and smartphones. In many ways, Web 2.0 is already omnipresent, but the rise of IoT devices will push it to new heights.</p>
<h2 id="heading-edge-computing">Edge Computing</h2>
<p>Web 3.0 is based on the advancement of edge computing, which processes apps and data at the network edge on devices such as mobile phones, computers, appliances, sensors, and even smart cars.</p>
<h1 id="heading-relationship-between-web-30-and-cryptocurrency">Relationship between Web 3.0 and cryptocurrency</h1>
<p>What is the relationship between Web 3.0 and cryptocurrency? Almost every Web 3.0 company has something to do with cryptocurrency, but what is the relationship between Web 3.0 and cryptocurrency? Cryptocurrencies are frequently used in Web 3.0 protocols because they provide a monetary incentive as tokens to those who want to help establish, contribute to, and manage any web 3.0 project of their choice. Web 3.0 tokens are digital assets linked to the goal of establishing a decentralized Internet.</p>
<h1 id="heading-core-ideas-of-web3">Core Ideas of Web3</h1>
<ul>
<li>Web 3.0 is still in the making, and we are all learning as we go, but some core principles still guide its creation.</li>
</ul>
<ul>
<li><strong>Web3 is decentralized: </strong>individuals control and govern areas of the Internet, rather than customers accessing it through services mediated by firms like Google, Apple, or Facebook.</li>
</ul>
<ul>
<li><strong>Web3 is permissionless:</strong> In Web3, everyone has the same opportunity to engage, and no one gets excluded.</li>
</ul>
<ul>
<li><strong>Web3 has native payments:</strong> Instead of relying on the outdated infrastructure of banks and other payment processors, money is spent and sent online using cryptocurrencies. Web3 is trustless: Instead of relying on trusted third parties, Web 3.0 operates through incentives and economic mechanisms.</li>
</ul>
<h1 id="heading-ownership">Ownership</h1>
<p>You may have come across games that allow you to collect gaming-related assets such as weapons, objects, and wearables by completing in-game objectives or by paying for these assets. The underlying problem with this arrangement is that these digital assets are stored on servers that belong to the firms that generated them, giving them complete ownership of the things you paid for or earned. They decide to shut down for any reason; all your earned assets get lost. With the introduction of blockchain technology, a new paradigm shift has emerged: you may now earn cryptocurrencies that you can exchange for in-game goods (weapons, objects, and wearables) or real money. You can now own these in-game assets through NFTs and sell them freely outside the platform.</p>
<h1 id="heading-censorship-resistance">Censorship Resistance</h1>
<p>Another problem that plagued Web 2.0 is censorship. Most people put a lot of time, effort, and money into building their reputation on a social media platform. Have you ever considered what would happen if that platform went offline tomorrow? Or, at the very least, the platform bans you. All the work put in over the years is gone. I once had a thriving Instagram page that I built over the years, and in those years, I paid designers, content creators, and writers and ran ads daily. Something happened, and the Instagram bot mistakenly labeled my page as an underaged account and deleted the account. I tried everything possible to recover the account to no avail; in Web3, the blockchain stores your data. You can take your reputation with you when you leave a platform, plugging it into another interface that more clearly matches your ideals.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659108485370/Gngorhj8l.jpg" alt="BK3ZMKSTPZBIZDLQITDHGDDNKQ.jpg" /></p>
<p>Another good example is the OnlyFans saga. OnlyFans announced a proposal to ban sexually explicit content from their platform in August 2021, if you've been following the news. This infuriated the content creators on the platform. Who felt cheated out of their earnings and the platform they helped to build. After some protest, they reversed the decision quickly. Although the content creator won the case, there is a lesson to be learned here. You don't have complete control and ownership of the platform and the following you've cultivated on it.</p>
<h1 id="heading-decentralized-autonomous-organizations-daos">Decentralized Autonomous Organizations (DAOs)</h1>
<p>DAOs, or Decentralized Autonomous Organizations, are self-governing organizations that allow groups of like-minded people to collaborate on a common objective. In addition to owning your data in Web3, you may also own the platform as a whole, utilizing tokens that function similarly to shares in the company. DAOs let you manage a platform's decentralized ownership and decide its future. DAOs operate using smart contracts, which are codes that automatically execute whenever a set of criteria are met. Ethereum was the first to use Smart contracts. These smart contracts establish the DAO's rules. Users who have tokens vote on how resources are allocated, and the code automatically implements the vote results.</p>
<h1 id="heading-identity">Identity</h1>
<p>This is the core of Web3 and decentralized identity. Each individual should be able to control who has access to their information. This means users may grant, amend, or cancel access at any moment and get a consolidated view of all the data they share. Web3 solves these issues by giving you control over your online identity. For example, with an Ethereum address and ENS profile, you can use a single secure, censorship-resistant, and anonymous login across platforms.</p>
<h1 id="heading-native-payments">Native Payments</h1>
<p>People without bank accounts or those who happen to live within the borders of some countries are excluded from Web2's payment infrastructure, which is based on banks and payment processors. Web3 uses tokens to send money straight from the browser, eliminating the requirement for a trusted third party.</p>
<h1 id="heading-web3-limitations">Web3 limitations</h1>
<h2 id="heading-accessibility">Accessibility</h2>
<p>User experience One of the biggest problems facing Web3 is User Experience. It's almost beginning to look like technology for a selected high-tech induvial. Almost everyone I have interacted with complained about the unintuitive user interface. Again, since your data solely belongs to you - it's virtually impossible to recover it if you lose your login details. There's no central authority to help you with this. The user experience is mediocre, but hopefully, things will improve soon. The Web 3.0 technology is very much ready, but higher levels of adoption on layer 2 are needed to make Web3 accessible to everyone.</p>
<h2 id="heading-user-experience">User Experience</h2>
<p>One of the most significant issues plaguing the adoption of Web 3.0 is user experience. 80% of the people I have interacted with complained about how unintuitive the user experience is. Again, security concerns are still a big issue. It is not like Web 3.0 is not secured. It is way more secure. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659108421545/fJU75QZt7.jpg" alt="improve-user-experience-7.jpg" /></p>
<p>The problem is that, since a centralized server does not manage your identity, losing all your data is easy if you ever forget your login details. If you lose your wallet's private key, you lose the funds in it. All these and more cause a substantial technical barrier to entry; users must first comprehend security concerns and navigate the unintuitive user interface. All these things and more discourage adoption. A lot needs to be done about this before web3 becomes widely adopted.</p>
<p> </p>
<h2 id="heading-education">Education</h2>
<p>Education is also a huge problem right now. Enough attention is not being paid to this yet. The space is more developer-focused, with little or no education. Even the platforms that claim to onboard people to the space are all focused on onboarding developers, not laypeople. Web3 introduced a new paradigm shift that requires different learning mental models. This problem is what I intend to solve; Web 3.0 isn't just a technology for the high-tech people in tech; we are also building for the end-users, which are the daily internet users. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1659108374205/kkGwP9Xm7.jpg" alt="getty_180843224_20001260200092802_126854.jpg" /></p>
<p>I have decided to publish a book on the layman's guide to the decentralized Web, and this article you just read is a chapter from it. You can also visit my book blog at https://decentrapress.com .</p>
<p>We are only at the beginning of developing a better Web with Web3, but the future of the Web is bright as we continue to improve the infrastructure that will support it. </p>
]]></content:encoded></item><item><title><![CDATA[Wetin be Web3 ?]]></title><description><![CDATA[If you dey this tech space, you go don dey hear about "web 3" upandown but you fit no sabi wetin he mean abi you fit dey confused about wetin e be.
For here, I go try explain wetin Web 3 be in pidgin and I hope say you go sabi am better when you fini...]]></description><link>https://blog.web3afrika.com/wetin-be-web3</link><guid isPermaLink="true">https://blog.web3afrika.com/wetin-be-web3</guid><category><![CDATA[Web3]]></category><category><![CDATA[Blockchain]]></category><dc:creator><![CDATA[Akintomiwa]]></dc:creator><pubDate>Mon, 20 Jun 2022 16:04:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1655740524732/PKhOt5VO3.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you dey this tech space, you go don dey hear about "web 3" upandown but you fit no sabi wetin he mean abi you fit dey confused about wetin e be.</p>
<p>For here, I go try explain wetin Web 3 be in pidgin and I hope say you go sabi am better when you finish.</p>
<p>First thing wey go click for your mind na say if them dey call am web 3, e gats mean say other versions don dey before abi. People no fit just wake up call the first version of something 3 abi.</p>
<p>So, the truth for this matter be say before web 3 show for we dommot ehn, we don get web 1 and web 2. Depending on when them born you, you go don use at least one of these versions before. Me now, I no use web 1 (I no go say my age sha but you don get idea). Now make we talk about web 1 and web 2 so that we go fit understand wetin be this web 3 sef.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655741009895/mepTkbvH7.png" alt="Difference-between-Web-2-and-Web-3.png" /></p>
<h2 id="heading-web-1">Web 1</h2>
<p>Web 1 na the first born of this thing wey all of us dey call internet. Na around the 1980s to early 2000s hin exist.</p>
<p>For Web 1, na only reading people fit do. I mean say you go go internet and the only thing wey you fit do na to read any content wey dem developers upload. Na why Dem dey call am "Read only".</p>
<h2 id="heading-web-2">Web 2</h2>
<p>For Web 2, things moved further, people come fit interact with the contents wey dey internet. People come fit like, comment, even post their own content, like this one wey you dey read now, like how Kelly fit post her own videos and everybody fit comment and like. So basically, na web 2 all of us dey use now. Na why them dey call web 2 "Read ad Write"</p>
<p>If you come notice wella, this web 2 era dey controlled by some people and dem be Apple, Google, Amazon and Facebook. You fit say "ehn, wetin come happen?" The wahala be say these people, na Dem dey control this internet wey we dey use.</p>
<p>If oga Jeff of Amazon wake up today now and yarn say make AWS go offline for one hour, shey you sabi the amount of yawa e go cause. Ok, him no fit talk am sha as per fear of SAPA but let us say Dem suffer one kind attack, na trenches dey call many companies like that because na Dem dey control 33% of the hosting market for this web.</p>
<p>Similarly, you go remember say this our bird app wey many of we people dey use rant and talk their mind commot oga Trump and them get the power to ban, delete and suspend any account wey them like, I fit go own but sha you don get my gist.</p>
<p>The wahala around this web2 na wetin oyinbo people dey call "centralization" meaning say too much power dey the hands of one person or a group of people.</p>
<p>Na wetin Web 3 come here come face be that.</p>
<h2 id="heading-web-3">Web 3</h2>
<p>Web 3 dey focused on putting power in the hands of users by making this internet wey we dey use decentralized, distributed, open, trustless and permissionless.</p>
<h1 id="heading-calm-down-i-go-explain-all-the-grammar-wey-i-just-yarn-now">Calm down, I go explain all the grammar wey I just yarn now.</h1>
<h2 id="heading-decentralized">Decentralized</h2>
<p>Decentralized na say no central authority go dey control am like how CBN dey control the money dey we dey print for we country. E mean say na all of us get am.</p>
<h2 id="heading-open">Open</h2>
<p>Open mean say na everybody dey see how this internet dey work. You no fit see the code wey Dem use develop Facebook, Twitter and co but for web 3, na everybody dey see wetin anybody dey build.</p>
<h2 id="heading-trustless">Trustless</h2>
<p><strong>Trustless</strong> na say we no need intermediary between users, everybody fit do wetin Dem one do without the help of another person.</p>
<h2 id="heading-permissionless">Permissionless</h2>
<p><strong>Permissionless</strong> na say no be anybody fit tell you wetin you go do.</p>
<p>You fit come say if Web 1 na "Read only", Web 2 na "Read and Write", wetin come be Web 3?</p>
<p>Web 3 na "Read, Write and Own"</p>
<p>I hope say you don understand am better now.</p>
]]></content:encoded></item><item><title><![CDATA[How To Create Your Own ERC20 Token In 30 Mins + Contract Verification]]></title><description><![CDATA[Introduction
Have you ever heard of tokens like Shiba Inu, Dai, and Usdt listed on popular exchanges and wondered how they were created? Or probably just getting started with smart contract development. In this guide, we are going to use a step-by-st...]]></description><link>https://blog.web3afrika.com/how-to-create-your-own-erc20-token-in-30-mins-contract-verification</link><guid isPermaLink="true">https://blog.web3afrika.com/how-to-create-your-own-erc20-token-in-30-mins-contract-verification</guid><category><![CDATA[Web3]]></category><category><![CDATA[Blockchain]]></category><dc:creator><![CDATA[Pamilerin]]></dc:creator><pubDate>Mon, 20 Jun 2022 15:55:12 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1655400986248/BshCtRdUE.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>Have you ever heard of tokens like Shiba Inu, Dai, and Usdt listed on popular exchanges and wondered how they were created? Or probably just getting started with smart contract development. In this guide, we are going to use a step-by-step approach to create and deploy our token to Polygon. </p>
<p>We will first write the smart contract using <a target="_blank" href="https://remix.ethereum.org">Remix IDE</a>, an online IDE made for smart contract development, and then deploy it. Here is a more detailed summary of what we gonna do:</p>
<ul>
<li><p>What is ERC20?</p>
</li>
<li><p>Getting familiar with OpenZeppelin Wizard.</p>
</li>
<li><p>Write our Token contract in solidity with Remix IDE.</p>
</li>
<li><p>Deploy our smart contract to Polygon</p>
</li>
<li><p>Interact with our deployed smart contract from Remix</p>
</li>
<li><p>Add our custom token to Metamask Wallet</p>
</li>
<li><p>Verify our Contract on Polygonscan</p>
</li>
<li><p>Conclusion</p>
</li>
</ul>
<h2 id="heading-what-is-erc20">What is ERC20?</h2>
<p>ERC-20 is quite famous these days. Many Defi protocols, Nft projects and DAOs are launching tokens following that standard as they play a major role in most of these platforms. Tokens have real-world uses. You can literally use them for several different purposes, which may vary from on-chain voting, payment of services within specific ecosystems, a unit of account and exchange of goods and services, etc.</p>
<p>ERC-20 represents fungible tokens which means they have the properties of uniformity and divisibility. Every fungible token is interchangeable as each unit of token possesses the same value. Just like every dollar bill has the same value as one dollar.</p>
<p><strong>Overview of ERC20 Token Standard Functions</strong></p>
<p>ERC20 standard defines a set of functions to be implemented by all ERC20 tokens so as to allow integration with other contracts, wallets, or marketplaces. This set of functions defines two events and 9 methods (including 3 optional methods) as highlighted below:</p>
<pre><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">name</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">string</span></span>) <span class="hljs-comment">// optional</span>
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">symbol</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">string</span></span>) <span class="hljs-comment">// optional</span>
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">decimals</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint8</span></span>) <span class="hljs-comment">// optional</span>
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">totalSupply</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span></span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">balanceOf</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _owner</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span> balance</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _to, <span class="hljs-keyword">uint256</span> _value</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span> success</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">transferFrom</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _from, <span class="hljs-keyword">address</span> _to, <span class="hljs-keyword">uint256</span> _value</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span> success</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">approve</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _spender, <span class="hljs-keyword">uint256</span> _value</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span> success</span>)
<span class="hljs-title"><span class="hljs-keyword">function</span></span> <span class="hljs-title">allowance</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> _owner, <span class="hljs-keyword">address</span> _spender</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span> remaining</span>)

<span class="hljs-title"><span class="hljs-keyword">event</span></span> <span class="hljs-title">Transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _from, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _to, <span class="hljs-keyword">uint256</span> _value</span>)
<span class="hljs-title"><span class="hljs-keyword">event</span></span> <span class="hljs-title">Approval</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _owner, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> _spender, <span class="hljs-keyword">uint256</span> _value</span>)</span>
</code></pre><p>Given the following interface above, developers may customize tokens by adding new features and logic and deploy on the Polygon Mumbai network.</p>
<h2 id="heading-getting-familiar-with-openzeppelin-wizard">Getting familiar with Openzeppelin Wizard</h2>
<blockquote>
<p><a target="_blank" href="https://wizard.openzeppelin.com/">OZ Wizard</a> is an interactive generator that helps bootstrap your smart contract and learn about OpenZeppelin Contracts. With OZ Wizard, you can build your smart contract for free in minutes.</p>
</blockquote>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655375609918/yL4z0KdY_.png" alt="OWizard.png" /></p>
<p>So that's what OZ Wizard looks like? Yes, that's what it looks like.</p>
<p>As seen in the picture above. There are different tabs for respective token standards so you can customize them to your taste. In this guide, we would be focusing more on ERC20 of course. </p>
<p>In the settings tab, there are quite a number of configurations to make. From the token name, symbol, decimal and pre-mint. All these are meant to be filled. The features tab helps us to configure some of the functionality of the token. </p>
<p>Let's customize our token!</p>
<p>So that means, we are  customizing:</p>
<ul>
<li><p>The token name</p>
</li>
<li><p>The token symbol (I'd go no more than 4 characters here)</p>
</li>
<li><p>The token decimal places</p>
</li>
<li><p>The pre-mint (amount of tokens to be minted to yourself) </p>
</li>
<li><p>The mintable feature</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655376870671/dApv-kF5K.png" alt="newOz.png" /></p>
<p>The image above shows our newly customized ERC20 token contract. You can always customize it to your taste but for the sake of this guide, we will not be considering other features except the mintable feature.</p>
<p><strong>Some things to keep in mind:</strong></p>
<p>The amount you're minting to yourself should correlate to the amount of decimal places that you set.
For example, if you want a token that has 0 decimal places to have 50 tokens, then the supply would be 50.</p>
<p>But if you have a token with 18 decimal places and you want 50 of them, then the supply would be 50000000000000000000 (18 zeros added to the amount).</p>
<p>The pre-mint enables you to receive the amount set as the creator of the contract.
That’s what this line of code is:</p>
<p>  <code>_mint(msg.sender, 10000000000 * 10 ** decimals());</code></p>
<p>Whatever you set here will be sent to the wallet of wherever you deployed the contract. While the mint function enables new tokens to be created and sent to the address provided. Note this is only callable by the creator of the contract.</p>
<p>Once we are done customizing, we can use that in our IDE.</p>
<h2 id="heading-write-our-token-contract-in-solidity-with-remix-ide">Write our Token contract in solidity with Remix IDE</h2>
<p>Let's navigate to <a target="_blank" href="https://remix.ethereum.org">Remix</a>, open the contacts folder, and create a new file called “Gemini.sol”.  Copy&amp;Paste your already customized token contract like the one below.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655385836404/rJ2s2DrXO.png" alt="token.png" /></p>
<p>Note we changed our pragma solidity to ^0.8.0.  We had to because it would be important while verifying our contract which we would get to in a few minutes.</p>
<h2 id="heading-deploy-our-smart-contract-to-polygon">Deploy our smart contract to Polygon</h2>
<p>For this guide, we would be deploying our smart contract to a test network.</p>
<p>There are what we call Testnets (Test networks). Polygon mumbai is Polygon's mainnet test network. A testnet is an environment that is pretty much like Mainnet, despite the fact that it’s here to act as a sandbox.</p>
<p>It’s a testing environment, that can be used to run your smart contract in almost real conditions, without involving real assets (we will see in a bit that we will still use MATIC, but fake MATIC).</p>
<p>Note that the steps to deploy to Polygon Mainnet are exactly the same as the ones that we follow here.</p>
<p><strong>Install Metamask</strong></p>
<p>We would need Metamask to sign and send transactions, so make sure it is installed. Don't know how to go about it, you can read this guide <a target="_blank" href="https://academy.moralis.io/blog/the-beginners-guide-to-metamask-what-is-metamask">here</a> and learn how to add polygon network <a target="_blank" href="https://docs.polygon.technology/docs/develop/metamask/config-polygon-on-metamask/">here</a>.</p>
<p><strong>Select the Polygon Mumbai network</strong></p>
<p>Metamask allows us to change the environment in one click. By default, it is connected to Ethereum Mainnet, let’s switch it to Polygon Mumbai.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655382058114/bgk03VK8V.png" alt="metamask.png" /></p>
<p>Where to get MATIC to deploy our smart contract</p>
<p>As we now know, Polygon Mumbai works as Polygon Mainnet. Meaning that we still need to pay gas to deploy our contract. And to pay for the gas, we need MATIC… “Test MATIC”.</p>
<p>We can get some MATIC to play with from different faucets.</p>
<p>Here is a <a target="_blank" href="https://faucet.polygon.technology/">faucet</a> to get some Test MATIC in your wallet.</p>
<p><strong>Let’s deploy our smart contract</strong></p>
<p>Head back to Remix, and go to the Deploy and Run Transactions page. Let's quickly change the execution environment to injected web3 as seen below</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655382754592/NsV8VkXNM.png" alt="iweb3.png" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655382766811/JyVaTpcRm.png" alt="connectedIweb3.png" /></p>
<p>Head over to the contract section and select your contract as seen below</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655383014776/NseVKBf2M.png" alt="contractSec.png" /></p>
<p>Note you should notice the <strong>network</strong>, <strong>compiler version</strong> and <strong>compiler configuration</strong> when you deployed the contract as they would be needed for contract verification.</p>
<p><strong>Finally, let's deploy our smart contract!!</strong></p>
<p>Click on deploy!!</p>
<p>After a few seconds, there is a metamask pop-up notification for transaction confirmation and your terminal displays a success message as seen below</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655383319849/s7ypn0xX6.png" alt="metamaskNot.png" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655383509977/5mJgGp0Fu.png" alt="contractCreation.png" /></p>
<p>To view the transaction on <a target="_blank" href="https://mumbai.polygonscan.com/">polygonscan</a>, copy the address of the already deployed contract and paste it into the block explorer in my case <strong>0xB8b18A839F1968D5fcA9d37d38074E29Fd171725</strong>, then click on the transaction hash.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655391954043/PUeLvRaee.png" alt="gemVeri.png" /></p>
<p>Congratulations 🎉🎉, we’ve just created our first ERC20 token contract on Polygon Mumbai. Check it <a target="_blank" href="https://mumbai.polygonscan.com/address/0xB8b18A839F1968D5fcA9d37d38074E29Fd171725#code">here</a>!</p>
<h2 id="heading-interact-with-our-deployed-token-contract-from-remix">Interact with our deployed token contract from Remix</h2>
<p>Let's head back to our IDE. There should now be a deployed contracts panel in the Deploy &amp; Run Transactions tab:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655393031821/BAqayML-I.png" alt="geminiDep.png" /></p>
<p>Awesome! Let's examine two functions that we created in our token contract: transfer, balanceOf</p>
<p><strong>Transfer and BalanceOf Function</strong></p>
<p>To transfer tokens, we need to fill in the address of the recipient of the token and the amount to be deposited as done below. Note: the address transferring must have sufficient tokens. In our case, the address transferring has 5000000 pre-minted tokens.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655393694588/4KYRNJoM1.png" alt="transferGem2.png" /></p>
<p>What this does is send some tokens(100,000) out of the sender's to the recipient's address. We can see the state changes below:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655393745887/gnSzyeQB1.png" alt="gemBalB4.png" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655393771318/R97nVn_jZ.png" alt="gemBalAf.png" /></p>
<p>And the balance of the recipient increased from 0  to its current balance as seen below:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655393896792/c0di9SXKV.png" alt="receipientGemBal.png" /></p>
<h2 id="heading-add-your-custom-token-to-metamask-wallet">Add your custom token to Metamask Wallet</h2>
<p>In other to add your tokens to your wallet, you need to readily have your token contract address. In this case, I'll be using the address of Gemini Token (<strong>0xB8b18A839F1968D5fcA9d37d38074E29Fd171725</strong>) </p>
<p>Now let's head back to Metamask in order to import our tokens as seen below</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655394458951/o2cqdiFl6.png" alt="metamaskAdd.png" /></p>
<p>The next step is to add our contract address in the fields provided as seen below</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655394576379/yLnLcRmyr.png" alt="importGem.png" /></p>
<p>Then finally click on import to view your token in the list of your assets as seen below
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655394697508/Ib0K2X-Xw.png" alt="addedGemToken.png" /></p>
<h2 id="heading-verify-our-contract-on-polygonscan">Verify our contract on Polygonscan</h2>
<p>We’re going to be validating our token source code, which is going to be important for various reasons, mainly verifying the validity of your token is to let the public know you’re not doing anything shady.</p>
<p>Okay, next let us go through it step by step</p>
<ul>
<li><strong>Flatten your contract</strong></li>
</ul>
<p>We'll use the Remix Flattener plugin to flatten all our contracts into a single file. Click the Plugin Manager on the left, find the Flattener plugin, and click Activate to use it. I already have it activated as seen below</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655388809775/X6c3Fc9oP.png" alt="flatenner.png" /></p>
<p>Then the plugin FLATTENER will show on the left side of the page, click it and you will find the blue button Flatten contracts/Gemini.sol, click it, and then click the bottom button Save Gemini_flat.sol to save the flattened file, as seen below:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655389028087/Q2J_FOSEG.png" alt="stepsFlatten.png" /></p>
<p>It will ask your permission to save the file. After you accept, it will show that the file was saved. This means you can find the flattened file at the bottom of the list of files, so click to open it. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655389286713/SRKinGbxo.png" alt="flattensol.png" /></p>
<p>Now we are done flattening our file, all we have to do now is to add the SPDX license manually as seen below:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655389620044/VpcXiH3NW.png" alt="spdx.png" /></p>
<ul>
<li><strong>Verify on the Polygonscan</strong></li>
</ul>
<p>Nice! we are only one step away from success. Goto the token contract you have deployed on polygonscan, click the option Contract and then click Verify and Publish, as seen below:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655390288018/TMdNyhr0l.png" alt="verify&amp;Publish.png" /></p>
<p>Next is to do the following: </p>
<p>Choose the right Compiler Type : Solidity(Single file)</p>
<p>Choose the right Compiler Version : YOUR_DEPLOYED_VERSION</p>
<p>Choose a right License Type.</p>
<p>Note: The contract address field is automatically filled.</p>
<p>Fill these fields  accordingly as seen below:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655390567453/b_GdnmXI_.png" alt="veriNext.png" /></p>
<p>To get to the last phase, click the button Continue to enter the next page, click the Optimization if you use it when you deploy, and then paste the flattened source code we generated in step 1. </p>
<p>Note we did not fill in the constructor argument because we did not pass it in at deployment because it was hardcoded in our code. It is important to note that generally, Polygonscan will upload constructor arguments automatically, but sometimes it will upload the wrong constructor arguments due to the complexity of constructor arguments, so in this case, you can encode arguments by this <a target="_blank" href="https://abi.hashex.org">tool</a>: </p>
<p> Finally, complete the captcha and click the button Verify and Publish as seen below:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655391176141/GanwA9pHs.jpg" alt="nextveri1.jpg" /></p>
<p>It takes us to this page </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655391780465/zoxvhTAcx.png" alt="verification.png" /></p>
<p>Note it now has a verified icon</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655399503654/_x_jBhdi1.png" alt="verfiedTicker.png" /></p>
<p>Congratulations 💃💃 you have just successfully verified your token contract.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>What a ride! Big ups for making it until the end and for writing, deploying and verifying your token contract on Polygon Mumbai with Remix IDE, OZ wizard and Polygonscan.</p>
<p>I hope this guide to creating and deploying your token smart contract was an eye-opener. If you have successfully created your token and verified it, you can send me the polygonscan link here. Also if you have any issues while verifying your contract, you can check out this <a target="_blank" href="https://forum.openzeppelin.com/t/verify-erc20-token-on-etherscan-that-was-deployed-through-remix-step-by-step-guide/9051">guide</a></p>
<p>If you have any questions, suggestions or want some Gem Tokens you can drop your address in the comment section below, or reach out to me on <a target="_blank" href="https://twitter.com/Oxpam_pam">Twitter</a>!</p>
<p>Stay Buidling 💪💪</p>
]]></content:encoded></item></channel></rss>