{"id":10018,"date":"2024-11-08T11:55:48","date_gmt":"2024-11-08T11:55:48","guid":{"rendered":"https:\/\/metaschool.so\/articles\/?p=10018"},"modified":"2024-11-08T11:55:52","modified_gmt":"2024-11-08T11:55:52","slug":"gnosis-hackathon","status":"publish","type":"post","link":"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/","title":{"rendered":"Gnosis Hackathon Essentials #2 &#8211; Free Guide 2024"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_56_1 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Key_Points_to_consider_before_building\" title=\"Key Points to consider before building \">Key Points to consider before building <\/a><ul class='ez-toc-list-level-3'><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Fees\" title=\"Fees\">Fees<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Network\" title=\"Network \">Network <\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Token\" title=\"Token \">Token <\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Pre-requisites\" title=\"Pre-requisites \">Pre-requisites <\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Steps_for_Development\" title=\"Steps for Development \">Steps for Development <\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Ideas_to_build_on_Gnosis\" title=\"Ideas to build on Gnosis \">Ideas to build on Gnosis <\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/metaschool.so\/articles\/gnosis-hackathon\/#Conclusion\" title=\"Conclusion\">Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>EthGlobal Bangkok is one of the largest hackathons by EthGlobal, With $775k in prizes, 69 partners are on board giving developers a wide variety of choices on which protocol to build. We at Metaschool have shortlisted 7 protocols to write about everything that would help you developers prepare for the Hackathon. The second one in the series is Gnosis. <\/p>\n\n\n\n<p>It has a lot to offer in the web3 ecosystem, it just doesn&#8217;t stop at Gnosis Chain but also offers Gnosis Studio, Gnosis Chain, Gnosis VC, and Gnosis DAO from building to funding they are a one-stop solution. It is a community-owned EVM-based network operated by a diverse set of validators around the world. Creating dApps and integrating with Gnosis Chain products is similar to any other EVM-based blockchain.<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Key_Points_to_consider_before_building\"><\/span><strong>Key Points to consider before building <\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fees\"><\/span>Fees<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Each transaction on the chain is associated with the fee in xDai stablecoin. This approach reduces the volatility risks and simplifies the development experience. It is one of the main differences from other EVM chains where users pay in a native token of that network.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Network\"><\/span>Network <span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>We have two networks &#8211; chiado(testnet) and Gnosis(mainnet) <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Network Name<\/th><th><a href=\"https:\/\/docs.gnosischain.com\/about\/networks\/mainnet\" target=\"_blank\" rel=\"noopener\">Gnosis (mainnet)<\/a><\/th><th><a href=\"https:\/\/docs.gnosischain.com\/about\/networks\/chiado\" target=\"_blank\" rel=\"noopener\">Chiado (testnet)<\/a><\/th><\/tr><\/thead><tbody><tr><td>Native (fee) token<\/td><td>xDAI<\/td><td>Chiado xDAI<\/td><\/tr><tr><td>Chain ID<\/td><td>100<\/td><td>10200<\/td><\/tr><tr><td>EL RPC<\/td><td><a href=\"https:\/\/rpc.gnosischain.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/rpc.gnosischain.com<\/a><\/td><td><a href=\"https:\/\/rpc.chiadochain.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/rpc.chiadochain.net<\/a><\/td><\/tr><tr><td>EL Explorer<\/td><td><a href=\"https:\/\/gnosisscan.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/gnosisscan.io<\/a><\/td><td><a href=\"https:\/\/blockscout.com\/gnosis\/chiado\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blockscout.com\/gnosis\/chiado<\/a><\/td><\/tr><tr><td>CL Explorer<\/td><td><a href=\"https:\/\/gnosischa.in\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/gnosischa.in\/<\/a><\/td><td><a href=\"https:\/\/beacon.chiadochain.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/beacon.chiadochain.net<\/a><\/td><\/tr><tr><td>Fork monitor<\/td><td><a href=\"https:\/\/forkmon.gnosischain.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/forkmon.gnosischain.com<\/a><\/td><td><a href=\"https:\/\/forkmon.chiadochain.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/forkmon.chiadochain.net<\/a><\/td><\/tr><tr><td>EthStats<\/td><td><a href=\"https:\/\/ethstats.gnosischain.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ethstats.gnosischain.com<\/a><\/td><td><a href=\"https:\/\/ethstats.chiadochain.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ethstats.chiadochain.net<\/a><\/td><\/tr><tr><td>Faucet<\/td><td><a href=\"https:\/\/faucet.gnosischain.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/faucet.gnosischain.com\/<\/a><\/td><td><a href=\"https:\/\/faucet.chiadochain.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/faucet.chiadochain.net\/<\/a><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Developers building during hackathons should use Chiado(testnet)<br><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Token\"><\/span>Token <span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The chain uses a unique dual-token model <strong>xDai<\/strong> and <strong>GNO<\/strong>. \u00a0xDai\u00a0is a stable token used for any transactions, payments, and fees done on the chain to reduce volatility, unlike any other EVM-compatible chains where the transaction fees are in the native token whereas staking &amp; protocol protection, and community governance are provided by\u00a0GNO\u00a0within the consensus-layer of Gnosis Chain.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pre-requisites\"><\/span>Pre-requisites <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Solidity <\/li>\n\n\n\n<li>Wallet \u2013 Metamask or choose one <a href=\"https:\/\/docs.gnosischain.com\/tools\/wallets\/\" data-type=\"link\" data-id=\"https:\/\/docs.gnosischain.com\/tools\/wallets\/\" target=\"_blank\" rel=\"noopener\">here.<\/a> <\/li>\n\n\n\n<li>Install Hardhat or Foundry<\/li>\n\n\n\n<li>Install Node Package Manager: npm\/yarn<\/li>\n\n\n\n<li>Install Waffle<\/li>\n\n\n\n<li>Install Ether.js<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Steps_for_Development\"><\/span>Steps for Development <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Initialize the project<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"mkdir gnosis-full-stack-dapp\ncd gnosis-full-stack-dapp\nnpm init -y\nnpm install --save-dev hardhat@2.9.9\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">mkdir<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">gnosis<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">full<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">stack<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">dapp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">cd<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">gnosis<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">full<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">stack<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">dapp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">npm<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">init<\/span><span style=\"color: #D4D4D4\"> -<\/span><span style=\"color: #9CDCFE\">y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">npm<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">install<\/span><span style=\"color: #D4D4D4\"> --<\/span><span style=\"color: #9CDCFE\">save<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">dev<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">hardhat<\/span><span style=\"color: #D4D4D4\">@<\/span><span style=\"color: #B5CEA8\">2.9<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #B5CEA8\">9<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Run hardhat<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"npx hardhat\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">npx<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">hardhat<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is what you should see:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"888    888                      888 888               888\n888    888                      888 888               888\n888    888                      888 888               888\n8888888888  8888b.  888d888 .d88888 88888b.   8888b.  888888\n888    888     &quot;88b 888P&quot;  d88&quot; 888 888 &quot;88b     &quot;88b 888\n888    888 .d888888 888    888  888 888  888 .d888888 888\n888    888 888  888 888    Y88b 888 888  888 888  888 Y88b.\n888    888 &quot;Y888888 888     &quot;Y88888 888  888 &quot;Y888888  &quot;Y888\nWelcome to Hardhat v2.9.9\n\n? What do you want to do? \u2026\n\u25b8 Create a basic sample project\n  Create an advanced sample project\n  Create an advanced sample project that uses TypeScript\n  Create an empty hardhat.config.js\n  Quit\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">                      <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">               <\/span><span style=\"color: #B5CEA8\">888<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">                      <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">               <\/span><span style=\"color: #B5CEA8\">888<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">                      <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">               <\/span><span style=\"color: #B5CEA8\">888<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B5CEA8\">8888888888<\/span><span style=\"color: #D4D4D4\">  8888<\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">.  888<\/span><span style=\"color: #9CDCFE\">d888<\/span><span style=\"color: #D4D4D4\"> .<\/span><span style=\"color: #9CDCFE\">d88888<\/span><span style=\"color: #D4D4D4\"> 88888<\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">.   8888<\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">.  <\/span><span style=\"color: #B5CEA8\">888888<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">     <\/span><span style=\"color: #CE9178\">&quot;88b 888P&quot;<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">d88<\/span><span style=\"color: #CE9178\">&quot; 888 888 &quot;<\/span><span style=\"color: #D4D4D4\">88<\/span><span style=\"color: #9CDCFE\">b<\/span><span style=\"color: #D4D4D4\">     <\/span><span style=\"color: #CE9178\">&quot;88b 88<\/span><span style=\"color: #F44747\">8<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> .<\/span><span style=\"color: #9CDCFE\">d888888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> .<\/span><span style=\"color: #9CDCFE\">d888888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">Y88b<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">Y88b<\/span><span style=\"color: #D4D4D4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&quot;Y888888 888     &quot;<\/span><span style=\"color: #4FC1FF\">Y88888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #B5CEA8\">888<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&quot;Y888888  &quot;<\/span><span style=\"color: #4FC1FF\">Y888<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">Welcome<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">to<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">Hardhat<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">v2<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #B5CEA8\">9.9<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">? <\/span><span style=\"color: #9CDCFE\">What<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">do<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">you<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">want<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">to<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">do<\/span><span style=\"color: #D4D4D4\">? \u2026<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u25b8 <\/span><span style=\"color: #9CDCFE\">Create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">a<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">basic<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">sample<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">project<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">Create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">an<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">advanced<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">sample<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">project<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">Create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">an<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">advanced<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">sample<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">project<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">that<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">uses<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">TypeScript<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">Create<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">an<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">empty<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">hardhat<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">config<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">js<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">Quit<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>We will create a basic sample project. It will further ask you for a option &#8211; select yes as the option. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>Do you want to install this sample project's dependencies with npm (@nomiclabs\/hardhat-waffle ethereum-waffle chai @nomiclabs\/hardhat-ethers ethers)? (Y\/n) \u2023 y<\/code><\/pre>\n\n\n\n<p>We will be using Waffle and Ethers.js while writing and testing smart contarcts as well as interacting with EVM respectively.<\/p>\n<\/blockquote>\n\n\n\n<p>To ensure hardhat is running fine, run these commands:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"npx hardhat compile\nnpx hardhat test\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">npx<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">hardhat<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">compile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">npx<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">hardhat<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">test<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>If it is installed correctly, you should see an output like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Deploying a Greeter with greeting: Hello, world!\nChanging greeting from 'Hello, world!' to 'Hola, mundo!'   \n\u2714 Should return the new greeting once it's changed (1612ms)\n 1 passing (2s)\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">Deploying<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">a<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">Greeter<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">with<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C8C8C8\">greeting<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #9CDCFE\">Hello<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">world<\/span><span style=\"color: #D4D4D4\">!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">Changing<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">greeting<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">from<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&#39;Hello, world!&#39;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">to<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&#39;Hola, mundo!&#39;<\/span><span style=\"color: #D4D4D4\">   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2714 <\/span><span style=\"color: #9CDCFE\">Should<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">the<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">greeting<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">once<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">it<\/span><span style=\"color: #CE9178\">&#39;s changed (1612ms<\/span><span style=\"color: #F44747\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">passing<\/span><span style=\"color: #D4D4D4\"> (2<\/span><span style=\"color: #9CDCFE\">s<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Writing your smart contract<\/strong><br>This section shall include your smart contract implementation, implementing the logic of your dApp. <a href=\"https:\/\/docs.gnosischain.com\/developers\/Build%20contracts%20on%20gnosis\/full-stack-dapp#writing-a-contract\" target=\"_blank\" rel=\"noopener\">\u200b<\/a><\/p>\n\n\n\n<p><strong>Deploying your Contract<\/strong><a href=\"https:\/\/docs.gnosischain.com\/developers\/Build%20contracts%20on%20gnosis\/full-stack-dapp#deploying-your-contract\" target=\"_blank\" rel=\"noopener\">\u200b<\/a><\/p>\n\n\n\n<p>To deploy your contract to Gnosis, let&#8217;s update your config file at\u00a0<code>hardhat.config.js<\/code>. For a complete configuration check\u00a0the <a href=\"https:\/\/docs.gnosischain.com\/developers\/dev-environment\/hardhat#config-hardhat-for-gnosis\" target=\"_blank\" rel=\"noopener\">hardhat config guide<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"require(&quot;@nomiclabs\/hardhat-waffle&quot;);\nrequire('dotenv').config();\n\n\/\/ This is a sample Hardhat task. To learn how to create your own go to\n\/\/ https:\/\/hardhat.org\/guides\/create-task.html\ntask(&quot;accounts&quot;, &quot;Prints the list of accounts&quot;, async (taskArgs, hre) =&gt; {\n  const accounts = await hre.ethers.getSigners();\n\n  for (const account of accounts) {\n    console.log(account.address);\n  }\n});\n\n\/\/ You need to export an object to set up your config\n\/\/ Go to https:\/\/hardhat.org\/config\/ to learn more\n\n\/**\n * @type import('hardhat\/config').HardhatUserConfig\n *\/\nmodule.exports = {\n  solidity: &quot;0.8.4&quot;,\n  defaultNetwork : 'chiado',\n  networks: {\n    \n    gnosis: {\n      url: 'https:\/\/rpc.chiadochain.net',\n      gasPrice: 1000000000,\n      accounts: [process.env.PRIVATE_KEY],\n      \n    },\n  },\n};\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #DCDCAA\">require<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;@nomiclabs\/hardhat-waffle&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">require<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;dotenv&#39;<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #DCDCAA\">config<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/\/ This is a sample Hardhat task. To learn how to create your own go to<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/\/ https:\/\/hardhat.org\/guides\/create-task.html<\/span><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">task<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;accounts&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;Prints the list of accounts&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">async<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #9CDCFE\">taskArgs<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">hre<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #569CD6\">=&gt;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">accounts<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #C586C0\">await<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">hre<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">ethers<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">getSigners<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">account<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">of<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">accounts<\/span><span style=\"color: #D4D4D4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">log<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">account<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">address<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">});<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/\/ You need to export an object to set up your config<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/\/ Go to https:\/\/hardhat.org\/config\/ to learn more<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/**<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@type<\/span><span style=\"color: #6A9955\"> import(&#39;hardhat\/config&#39;).HardhatUserConfig<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">module<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">exports<\/span><span style=\"color: #D4D4D4\"> = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">solidity:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&quot;0.8.4&quot;<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">defaultNetwork :<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&#39;chiado&#39;<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">networks:<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">gnosis:<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">      <\/span><span style=\"color: #9CDCFE\">url:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&#39;https:\/\/rpc.chiadochain.net&#39;<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">      <\/span><span style=\"color: #9CDCFE\">gasPrice:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">1000000000<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">      <\/span><span style=\"color: #9CDCFE\">accounts:<\/span><span style=\"color: #D4D4D4\"> [<\/span><span style=\"color: #9CDCFE\">process<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">env<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4FC1FF\">PRIVATE_KEY<\/span><span style=\"color: #D4D4D4\">],<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    },<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  },<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">};<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>These are pretty simple, right? Let&#8217;s look into the steps if you want to build something related to Account Abstraction. Gnosis offers a wide range of account abstraction (AA) providers so that users can do on-chain activities and transactions cheaply and leverage the power of the AA stack with different provider solutions for non-web3 users. <br>Three providers to let a developer build a AA focussed dApp on Gnosis are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Safe <\/strong>&#8211; It provides a variety of Account Abstraction stacks for developers to integrate and build Account Abstraction on top of Safe. Under Safe Core we have three possible options available:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.safe.global\/learn\/safe-core\/safe-core-account-abstraction-sdk\" target=\"_blank\" rel=\"noreferrer noopener\">Safe Core Account Abstraction SDK<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.safe.global\/learn\/safe-core\/safe-core-api\" target=\"_blank\" rel=\"noreferrer noopener\">Safe Core API<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.safe.global\/learn\/safe-core\/safe-core-protocol\" target=\"_blank\" rel=\"noreferrer noopener\">Safe Core Protocol<\/a>  <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1676\" height=\"972\" src=\"https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-2.png\" alt=\"Safe Core AA SDK\" class=\"wp-image-10049\" srcset=\"https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-2.png 1676w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-2-300x174.png 300w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-2-1024x594.png 1024w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-2-768x445.png 768w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-2-1536x891.png 1536w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-2-1320x766.png 1320w\" sizes=\"auto, (max-width: 1676px) 100vw, 1676px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Particle Network<\/strong> &#8211; It provides a Smart Wallet-as-a-Service, leveraging modular and customizable wallet components. It also supports native ERC-4337 AA capabilities, streamlining user onboarding and transaction processes. It provides integration with Gnosis Mainnet and Testnet, simplifying the user onboarding via Web2 accounts while also providing native support for ERC-4337 AA.<\/li>\n\n\n\n<li><strong>ZeroDev <\/strong>&#8211; It is a smart, white-labeled, and modular embedded wallet for building user-friendly Web3 experiences, particularly for DeFi applications. For building account abstraction powered dApps check the detailed guide <a href=\"https:\/\/docs.gnosischain.com\/technicalguides\/account-abstraction\/zerodev-guide\" data-type=\"link\" data-id=\"https:\/\/docs.gnosischain.com\/technicalguides\/account-abstraction\/zerodev-guide\" target=\"_blank\" rel=\"noopener\">here.<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ideas_to_build_on_Gnosis\"><\/span>Ideas to build on Gnosis <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Here are a few ideas to potentially build during the hackathon:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1714\" height=\"1482\" src=\"https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-1.png\" alt=\"Gnosis dApps\n\" class=\"wp-image-10035\" srcset=\"https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-1.png 1714w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-1-300x259.png 300w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-1-1024x885.png 1024w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-1-768x664.png 768w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-1-1536x1328.png 1536w, https:\/\/metaschool.so\/articles\/wp-content\/uploads\/2024\/11\/image-1-1320x1141.png 1320w\" sizes=\"auto, (max-width: 1714px) 100vw, 1714px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stable Payment Gateway<\/strong> &#8211; A business-focused payment processor that leverages the stable fee value for predictable transaction fees and instant settlements.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cross-Border Payroll System<\/strong> &#8211; An automated payroll platform enabling companies to pay international employees instantly.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Recurring Payment Platform<\/strong> &#8211; Subscription management system utilizing Gnosis Chain&#8217;s low fees to handle high-volume micro-transactions efficiently.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Supply Chain Finance Platform<\/strong> &#8211; A DeFi platform connecting suppliers with financing options using invoices as collateral on the chain.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stable-Asset Yield Aggregator<\/strong> &#8211; A yield optimization platform that automatically routes stable assets across DeFi protocols for maximum returns.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stable Token Streaming Service<\/strong> &#8211; Real-time payment streaming platform for contractors and service providers.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cross-Chain Liquidity Aggregator<\/strong> &#8211; DeFi tool that finds and executes the best stable-token trades across multiple chains via bridges.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Vendor Payment Automation<\/strong> &#8211; Smart contract system automating vendor payments with built-in approval workflows and accounting integration.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Impact Finance Platform<\/strong> &#8211; Platform connecting impact investors with social projects using transparent fund tracking and impact metrics.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>This article is a part of the Hackathon series for developers participating at EthGlobal Bangkok and interested in building on Gnosis. Feel free to add idea suggestions and let us know what are you planning to build. But if you are starting to learn how to build in web3 start with our&nbsp;<a href=\"https:\/\/metaschool.so\/courses?blockchain=Ethereum\">Ethereum Track<\/a>. WAGMI!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":24,"featured_media":10037,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[14],"tags":[],"class_list":["post-10018","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web3"],"_links":{"self":[{"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/posts\/10018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/comments?post=10018"}],"version-history":[{"count":9,"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/posts\/10018\/revisions"}],"predecessor-version":[{"id":10054,"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/posts\/10018\/revisions\/10054"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/media\/10037"}],"wp:attachment":[{"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/media?parent=10018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/categories?post=10018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/metaschool.so\/articles\/wp-json\/wp\/v2\/tags?post=10018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}