<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blockchain Archives - Urban Geo Analytics</title>
	<atom:link href="https://urbangeoanalytics.com/category/blockchain/feed/" rel="self" type="application/rss+xml" />
	<link>https://urbangeoanalytics.com/category/blockchain/</link>
	<description>Spatial Analysis, GeoAI &#38; Machine Learning</description>
	<lastBuildDate>Thu, 27 Nov 2025 16:17:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://urbangeoanalytics.com/wp-content/uploads/2025/11/cropped-logo-urban-geo_512-32x32.png</url>
	<title>Blockchain Archives - Urban Geo Analytics</title>
	<link>https://urbangeoanalytics.com/category/blockchain/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Deploy a Guest Book on an EVM Blockchain Using Remix</title>
		<link>https://urbangeoanalytics.com/deploy-a-guest-book-on-an-evm-blockchain-using-remix/</link>
					<comments>https://urbangeoanalytics.com/deploy-a-guest-book-on-an-evm-blockchain-using-remix/#respond</comments>
		
		<dc:creator><![CDATA[Joan Perez]]></dc:creator>
		<pubDate>Thu, 27 Nov 2025 16:17:04 +0000</pubDate>
				<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Intermediate]]></category>
		<category><![CDATA[Ethereum]]></category>
		<category><![CDATA[Metamask]]></category>
		<category><![CDATA[Remix]]></category>
		<category><![CDATA[Smart Contract]]></category>
		<category><![CDATA[Solidity]]></category>
		<guid isPermaLink="false">https://urbangeoanalytics.com/?p=1792</guid>

					<description><![CDATA[<p>Learn how to deploy your first smart contract on an Ethereum-compatible blockchain using Remix and the Sepolia testnet. In this beginner-friendly guide, we build a simple on-chain guestbook, connect MetaMask, verify the contract on Etherscan, and interact with it directly through the blockchain. A perfect starting point for anyone curious about smart contracts, Solidity, and decentralized applications.</p>
<p>The post <a href="https://urbangeoanalytics.com/deploy-a-guest-book-on-an-evm-blockchain-using-remix/">Deploy a Guest Book on an EVM Blockchain Using Remix</a> appeared first on <a href="https://urbangeoanalytics.com">Urban Geo Analytics</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" id="contenu" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_3_4 3_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:75%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.56%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.56%;--awb-width-medium:75%;--awb-order-medium:0;--awb-spacing-right-medium:2.56%;--awb-spacing-left-medium:2.56%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" id="contenu" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-1" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-1 hover-type-none"><img fetchpriority="high" decoding="async" width="1536" height="1024" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/guestbook.png" alt class="img-responsive wp-image-2231" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/guestbook-300x200.png 300w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/guestbook-1024x683.png 1024w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/guestbook.png 1536w" sizes="(max-width: 1536px) 100vw, 1536px" /></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"></div></div></div><div class="fusion-text fusion-text-1"><h5><strong>Highlights</strong></h5>
</div><div class="fusion-text fusion-text-2" style="--awb-margin-top:-30px;"><ul>
<li><strong data-start="123" data-end="160">Deploy Your First Smart Contract:</strong> Learn how to publish a simple on-chain guestbook to an Ethereum testnet using Remix, the browser-based IDE for Solidity.</li>
<li><strong data-start="284" data-end="316">Connect MetaMask to Sepolia:</strong> Add the Sepolia test network to MetaMask, get free test ETH, and prepare your wallet for deployment.</li>
<li><strong data-start="420" data-end="456">Interact On-Chain via Etherscan:</strong> Write messages to the blockchain, read stored data, and understand how smart contracts expose transparent read/write functions.</li>
</ul>
</div><div class="fusion-text fusion-text-3 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="155" data-end="458">Have you ever wanted to experiment with blockchain development but didn’t know where to start? In this beginner-friendly tutorial, we’ll guide you through deploying your very first <strong data-start="336" data-end="354">smart contract</strong> on a <strong data-start="360" data-end="382">blockchain testnet</strong> using <strong data-start="389" data-end="398">Remix</strong>, an in-browser IDE designed for Ethereum-compatible chains. Whether you&#8217;re curious about decentralized applications (dApps), NFTs, or simply want to see how code becomes blockchain logic, this guide will get you started — no prior blockchain experience required.</p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">1.Introduction</h2></div><div class="fusion-text fusion-text-4 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p><strong>What is a Smart Contract?<br />
</strong></p>
<p>A <strong data-start="705" data-end="723">smart contract</strong> is a self-executing program that runs on a blockchain. It stores logic and rules in code — such as sending tokens or recording data — and once deployed, it executes automatically when conditions are met. Smart contracts are immutable (can’t be changed once deployed) and transparent, making them ideal for decentralized finance (DeFi), supply chains, governance, and more. Solidity is the main programming language used to write smart contracts for Ethereum. It is a statically typed, contract-oriented language designed specifically for blockchain logic and storage. Because Solidity compiles to EVM bytecode, the same contract can run on <strong data-start="348" data-end="381">any EVM-compatible blockchain</strong> — including Ethereum, Polygon, Arbitrum, Optimism, Avalanche, BNB Chain, and many others.</p>
<p data-start="104" data-end="137"><strong>What is Remix and Why Use It?</strong></p>
<p><a class="decorated-link keychainify-checked" href="https://remix.ethereum.org" target="_new" rel="noopener" data-start="139" data-end="174">Remix</a> is a web-based Integrated Development Environment (IDE) designed specifically for writing, testing, and deploying smart contracts in the Solidity programming language. One of its biggest advantages is that it requires no installation or setup — everything runs directly in your browser. Remix integrates seamlessly with MetaMask and supports deployment to Ethereum-compatible testnets like Goerli and Polygon Amoy. It also offers a powerful set of tools for compiling, debugging, and interacting with your contracts, making it an ideal choice for both beginners and experienced developers.</p>
<p><strong> </strong></p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">2. Connect to Sepolia Testnet</h2></div><div class="fusion-text fusion-text-5 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="282" data-end="435">Before deploying a smart contract, you need a wallet connected to an Ethereum test network. If you’re new to MetaMask, start with our beginner guide here:</p>
<p data-start="437" data-end="586"><a class="keychainify-checked" href="https://urbangeoanalytics.com/getting-started-with-metamask-and-the-polygon-amoy-testnet/">👉 <strong data-start="440" data-end="504"><em data-start="442" data-end="502">Getting Started with MetaMask and the Polygon Amoy Testnet</em></strong></a><br data-start="504" data-end="507" />(Use the same installation steps — MetaMask works the same for all EVM chains.)</p>
<p data-start="588" data-end="848">Once MetaMask is installed and your wallet is set up, you can add the <strong data-start="658" data-end="686">Ethereum Sepolia Testnet</strong>. Sepolia is Ethereum’s primary development and testing network. It behaves like mainnet, but uses test ETH (fake ETH) that you can request for free from faucets. Sepolia is ideal for learning and testing smart contracts because it behaves almost exactly like Ethereum mainnet. It mirrors the same architecture, gas mechanics, and transaction flow, which means everything you deploy or test on Sepolia works the same way on Ethereum. Developer tools such as Remix connect to it directly, and because Sepolia is widely supported, stable, and fast, it has become the standard environment for Ethereum development and education. Since Solidity compiles to EVM bytecode, contracts you deploy on Sepolia behave exactly like they will on Ethereum mainnet.</p>
<p data-start="1305" data-end="1329">To add Sepolia manually:</p>
<ol data-start="1331" data-end="1506">
<li data-start="1331" data-end="1349">
<p data-start="1334" data-end="1349">Open MetaMask</p>
</li>
<li data-start="1414" data-end="1465">
<p data-start="1417" data-end="1465">Click <strong data-start="1423" data-end="1463">Add network → Add a network manually</strong></p>
</li>
<li data-start="1466" data-end="1506">
<p data-start="1469" data-end="1506">Enter the following Sepolia settings:</p>
</li>
</ol>
<p data-start="1508" data-end="1694"><strong data-start="1508" data-end="1525">Network Name:</strong> Ethereum Sepolia<br data-start="1542" data-end="1545" /><strong data-start="1545" data-end="1561">New RPC URL:</strong> <a class="decorated-link cursor-pointer" target="_new" rel="noopener" data-start="1562" data-end="1585">https://rpc.sepolia.org</a><br data-start="1585" data-end="1588" /><strong data-start="1588" data-end="1601">Chain ID:</strong> 11155111<br data-start="1610" data-end="1613" /><strong data-start="1613" data-end="1633">Currency Symbol:</strong> ETH<br data-start="1637" data-end="1640" /><strong data-start="1640" data-end="1663">Block Explorer URL:</strong> <a class="decorated-link keychainify-checked" href="https://sepolia.etherscan.io" target="_new" rel="noopener" data-start="1664" data-end="1692">https://sepolia.etherscan.io</a></p>
<p data-start="1696" data-end="1941">Your MetaMask screen should now show the Sepolia network, ready to use. Once saved, you’ll be connected to the Ethereum Sepolia Testnet and can interact with dApps, deploy contracts from Remix, and send test transactions with no real-world cost. Just like Polygon’s Amoy testnet requires test POL tokens, Ethereum Sepolia requires <strong data-start="2067" data-end="2079">test ETH</strong> to pay for transactions. You can get free Sepolia ETH from multiple faucets. I recommend using this one <a class="keychainify-checked" href="https://sepolia-faucet.pk910.de/">https://sepolia-faucet.pk910.de/</a></p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">3. Prepare your Smart Contract</h2></div><div class="fusion-text fusion-text-6 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="282" data-end="435">Now that MetaMask is connected to Sepolia, we can look at the smart contract we’ll deploy. Below is a minimal “GoldenBook” contract written in Solidity. It’s a simple on-chain guestbook: anyone can write a message, and the contract stores it permanently on the blockchain. Messages are saved along with the sender’s address and the time they were submitted, and the contract provides a function to retrieve everything that has been written so far.</p>
</div><div style="background:#1e1e1e;padding:20px;border-radius:6px;overflow-x:auto;font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.4;color:#d4d4d4;">
<pre style="margin:0;white-space:pre;"> 
<span style="color:#6A9955;">// SPDX-License-Identifier: MIT</span>
<span style="color:#569CD6;">pragma</span> <span style="color:#569CD6;">solidity</span> ^0.8.20;

<span style="color:#6A9955;">/// @title GoldenBook - A minimal on-chain guestbook (livre d'or)</span>
<span style="color:#569CD6;">contract</span> <span style="color:#4EC9B0;">GoldenBook</span> {

    <span style="color:#6A9955;">// Simple structure to store a message</span>
    <span style="color:#569CD6;">struct</span> <span style="color:#4EC9B0;">Message</span> {
        <span style="color:#4EC9B0;">address</span> author;        <span style="color:#6A9955;">// who sent it</span>
        <span style="color:#4EC9B0;">string</span> content;        <span style="color:#6A9955;">// the message text</span>
        <span style="color:#4EC9B0;">uint256</span> timestamp;    <span style="color:#6A9955;">// when it was written</span>
    }

    <span style="color:#6A9955;">// All messages stored on-chain</span>
    <span style="color:#4EC9B0;">Message</span>[] <span style="color:#569CD6;">private</span> messages;

    <span style="color:#6A9955;">/// @notice Add a new message to the guestbook</span>
    <span style="color:#6A9955;">/// @param content The text to save permanently on-chain</span>
    <span style="color:#569CD6;">function</span> <span style="color:#DCDCAA;">postMessage</span>(<span style="color:#4EC9B0;">string</span> <span style="color:#569CD6;">calldata</span> content) <span style="color:#569CD6;">external</span> {
        <span style="color:#C586C0;">require</span>(<span style="color:#D16969;">bytes</span>(content).length <span style="color:#DCDCAA;">></span> 0, <span style="color:#CE9178;">"Message cannot be empty"</span>);

        messages.push(<span style="color:#4EC9B0;">Message</span>({
            author: msg.sender,
            content: content,
            timestamp: <span style="color:#4EC9B0;">block</span>.timestamp
        }));
    }

    <span style="color:#6A9955;">/// @notice Retrieve all messages in the guestbook</span>
    <span style="color:#6A9955;">/// @return An array of Message structs</span>
    <span style="color:#569CD6;">function</span> <span style="color:#DCDCAA;">getAllMessages</span>() <span style="color:#569CD6;">external view</span> <span style="color:#569CD6;">returns</span> (<span style="color:#4EC9B0;">Message</span>[] <span style="color:#569CD6;">memory</span>) {
        <span style="color:#569CD6;">return</span> messages;
    }
}
</pre>
</div>
<div class="fusion-text fusion-text-7 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="282" data-end="435">This contract begins with a simple data structure called <code data-start="1739" data-end="1748">Message</code>, which stores who wrote the message, what they wrote, and when they wrote it. All messages are kept in an array called <code data-start="1868" data-end="1878">messages</code>, which is stored permanently on-chain. The <code data-start="1922" data-end="1935">postMessage</code> function allows anyone to add a new entry; it checks that the message isn’t empty, then records the sender’s address, the text, and the current timestamp. The <code data-start="2095" data-end="2111">getAllMessages</code> function returns the full list of stored messages and is marked as a view function, meaning it doesn’t change blockchain state and costs no gas to call. Altogether, this small contract demonstrates the core ideas of Solidity: defining data, writing functions that change state, and exposing read-only views for external applications.</p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">4. Deploy using Remix</h2></div><div class="fusion-text fusion-text-8 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="157" data-end="508">With your contract ready and MetaMask connected to the Sepolia testnet, the next step is to deploy it on-chain. The easiest way to do this is with <strong data-start="304" data-end="313">Remix</strong>, Ethereum’s browser-based development environment. Remix allows you to compile your Solidity code, connect directly to MetaMask, and publish your contract to the blockchain in just a few clicks.</p>
<p data-start="510" data-end="928">Start by opening Remix at <strong data-start="536" data-end="566"><a class="decorated-link keychainify-checked" href="https://remix.ethereum.org" target="_new" rel="noopener" data-start="538" data-end="564">https://remix.ethereum.org</a></strong> and creating a new file called <code data-start="598" data-end="614">GoldenBook.sol</code>, then paste the contract code from the previous section. Once the file is ready, open the <strong data-start="705" data-end="726">Solidity Compiler</strong> tab and select the matching compiler version (in this case, <code data-start="787" data-end="795">0.8.20</code>). Press <strong data-start="804" data-end="815">Compile</strong> to generate the contract bytecode. Remix will instantly show whether the code is valid and ready for deployment.</p>
<p data-start="930" data-end="1592">After the contract compiles successfully, switch to the <strong data-start="986" data-end="1015">Deploy &amp; Run Transactions</strong> panel. In the “Environment” dropdown, select <strong data-start="1061" data-end="1093">Injected Provider (MetaMask)</strong>—this tells Remix to use the Sepolia network already configured in your MetaMask wallet. Your MetaMask extension will prompt you to connect Remix if it’s the first time. Once connected, ensure that the selected account has Sepolia ETH and that &#8220;GoldenBook&#8221; appears in the contract selector. Click <strong data-start="1390" data-end="1400">Deploy</strong>, confirm the transaction in MetaMask, and wait for it to be included in a block. You’ll see the deployed contract appear in Remix under “Deployed Contracts,” along with your transaction hash.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-2" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-2 hover-type-none"><a href="https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix.png" class="fusion-lightbox" data-rel="iLightbox[040caaaee51ac9744fa]" data-title="remix" title="remix"><img decoding="async" width="400" height="232" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix-400x232.png" alt class="img-responsive wp-image-2216" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix-200x116.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix-400x232.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix-600x348.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix-800x464.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix-1200x696.png 1200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/remix.png 1431w" sizes="(max-width: 640px) 100vw, 1200px" /></a></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">Your contract on Remix, already compiled and about to get deployed</div></div></div></div><div class="fusion-text fusion-text-9 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="1594" data-end="2257">At this point, your contract is live on the Sepolia blockchain, but there’s one last step that is highly recommended: verifying your contract on <strong data-start="1739" data-end="1752">Etherscan</strong>. Verification publishes your Solidity source code alongside the deployed bytecode, allowing anyone to inspect, review, or interact with your contract directly from the explorer. This matters because a blockchain contract is transparent by nature—verification proves the code you shared publicly is the same code deployed on-chain, which builds trust and makes your guestbook readable from tools like Etherscan’s contract tab. It also helps with debugging, audits, and integrating with frontends later on.</p>
<p data-start="1594" data-end="2257">Once the contract is compiled and deployed through Remix, you can click <strong data-start="161" data-end="184">“View on Etherscan”</strong> in the Remix console to inspect the transaction. On the Etherscan page, click the <strong data-start="267" data-end="275">“To”</strong> field of the transaction to open your newly deployed contract address. This brings you to the contract’s dedicated page, where you can verify the source code. Verification requires selecting the correct compiler version, license identifier, and pasting your Solidity source code exactly as deployed. For simple contracts like our GoldenBook, you can paste the code directly since it lives in a single file. For more advanced projects—especially those using imports, libraries, or frameworks—you often need to <strong data-start="785" data-end="796">flatten</strong> the contract so all the dependent files are merged into one before verification.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-3" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-3 hover-type-none"><a href="https://urbangeoanalytics.com/wp-content/uploads/2025/11/contract.png" class="fusion-lightbox" data-rel="iLightbox[183245b11341ca07701]" data-title="contract" title="contract"><img decoding="async" width="400" height="314" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/contract-400x314.png" alt class="img-responsive wp-image-2220" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/contract-200x157.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/contract-400x314.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/contract-600x471.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/contract-800x628.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/contract.png 1096w" sizes="(max-width: 640px) 100vw, 400px" /></a></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">The contract page on etherscan once deployed and verified</div></div></div></div><div class="fusion-text fusion-text-10 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="1594" data-end="2257">Once submitted, Etherscan will match the compiled bytecode with your source code. A successful verification makes your contract’s code readable on-chain and unlocks the “Read” and “Write” tabs, allowing anyone to interact with it directly from the explorer. You can also view the contract deployed in this tutorial at <strong data-start="1149" data-end="1232"><a class="decorated-link keychainify-checked" href="https://sepolia.etherscan.io/address/0x56f245CB65615A482A8Db6086710A49f93869fb6" target="_new" rel="noopener" data-start="1151" data-end="1230">https://sepolia.etherscan.io/address/0x56f245CB65615A482A8Db6086710A49f93869fb6</a></strong>, although testnets sometimes reset, so the contract may no longer exist by the time you read this.</p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">5. Write and Read the Guest Book (Interact with the Smart Contract)</h2></div><div class="fusion-text fusion-text-11 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="211" data-end="514">Now that the contract is verified on Etherscan, you can interact with it directly from your browser. When you open the contract page, you’ll see several tabs, including <strong data-start="380" data-end="397">Read Contract</strong> and <strong data-start="402" data-end="420">Write Contract</strong>. These act as a simple interface for calling the functions you created in your Solidity code.</p>
<p data-start="516" data-end="1085">To add a new entry to the guestbook, go to the <strong data-start="563" data-end="581">Write Contract</strong> tab, as shown in the figure below. Before sending a message, click <strong data-start="649" data-end="670">“Connect to Web3”</strong> so Etherscan can link to your MetaMask wallet on the Sepolia network. Once connected, open the <code data-start="766" data-end="779">postMessage</code> section, type your message, and submit the transaction. MetaMask will ask you to confirm—it needs to do this because writing a message modifies the blockchain and therefore requires gas. After confirming, wait a few seconds for the transaction to be mined. Your message is now permanently stored on-chain.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-4" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-4 hover-type-none"><a href="https://urbangeoanalytics.com/wp-content/uploads/2025/11/w.png" class="fusion-lightbox" data-rel="iLightbox[9b1eac2986b04978838]" data-title="w" title="w"><img decoding="async" width="1103" height="278" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/w.png" alt class="img-responsive wp-image-2224" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/w-200x50.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/w-400x101.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/w-600x151.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/w-800x202.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/w.png 1103w" sizes="(max-width: 640px) 100vw, 1103px" /></a></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">The “Write Contract” tab on Etherscan, showing the postMessage function.</div></div></div></div><div class="fusion-text fusion-text-12 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="211" data-end="514">To view what has been written so far, switch to the <strong data-start="1228" data-end="1245">Read Contract</strong> tab. This interface lets you call read-only functions such as <code data-start="1308" data-end="1324">getAllMessages</code> without paying any gas, as shown in the next figure. Because read calls do not modify the blockchain, they can be executed instantly and for free. When you click <code data-start="1487" data-end="1503">getAllMessages</code>, Etherscan will return the full list of stored messages, including the sender address and timestamp for each entry.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-5" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-5 hover-type-none"><a href="https://urbangeoanalytics.com/wp-content/uploads/2025/11/reading.png" class="fusion-lightbox" data-rel="iLightbox[77dfaf5d2e92c22a11e]" data-title="reading" title="reading"><img decoding="async" width="1111" height="365" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/reading.png" alt class="img-responsive wp-image-2226" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/reading-200x66.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/reading-400x131.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/reading-600x197.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/reading-800x263.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/reading.png 1111w" sizes="(max-width: 640px) 100vw, 1111px" /></a></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">The “Read Contract” tab displaying the getAllMessages function.</div></div></div></div><div class="fusion-text fusion-text-13 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="211" data-end="514">Using these two tabs together allows you to write new guestbook entries and read the entire message history directly through Etherscan, without needing any custom frontend or development tools. This is one of the simplest and most transparent ways to interact with smart contracts on any EVM-compatible blockchain.</p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">6. To go Further</h2></div><div class="fusion-text fusion-text-14 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="150" data-end="829">At this point, you’ve deployed a smart contract, verified it on Etherscan, and interacted with it directly through the blockchain. This already demonstrates the core mechanics of decentralized applications: public functions, permanent data storage, and transparent state. But the real power of smart contracts comes when you connect them to a user interface. In the next post, we’ll build a simple UI using <strong data-start="557" data-end="563">V0</strong>, complete with <strong data-start="579" data-end="601">wallet integration</strong>, allowing users to write messages, read the guestbook, and interact with the blockchain through a clean, modern web interface instead of the Etherscan panels. This is where your guestbook begins to feel like a real application.</p>
<p data-start="831" data-end="1422">There are also many ways you can expand the GoldenBook contract itself. You could transform messages into <strong data-start="937" data-end="971">Proof-of-Attendance (POA) NFTs</strong> for events or conferences, turning each signature in the guestbook into a collectible token. You could add optional <strong data-start="1088" data-end="1096">tips</strong>, allowing users to attach small amounts of ETH to messages. Or you might include moderation features, message reactions, or event-based unlocks. Solidity gives you full control over on-chain logic, and because the contract is deployed on an EVM-compatible chain, these features will work across the entire Ethereum ecosystem.</p>
<p data-start="1424" data-end="2127">It’s worth noting that blockchain and smart contracts also open compelling possibilities for IoT-driven city systems. Sensors can submit environmental data, mobility information, or infrastructure events directly to a secure, tamper-resistant ledger—similar to how our guestbook stores messages. Combined with decentralized identity, multi-sensor validation, or token-based incentives, this approach could support transparent reporting, urban monitoring, or community-driven data collection. Today’s simple guestbook is just a first step, but it illustrates the fundamental mechanism behind many emerging decentralized IoT and smart-city applications.</p>
<p data-start="2129" data-end="2299" data-is-last-node="" data-is-only-node="">In the next article, we’ll bring this project to life with a user-friendly interface and wallet connection so anyone can write their message on-chain with a single click.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-1 awb-sticky awb-sticky-medium awb-sticky-large fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:20px;--awb-padding-left:20px;--awb-bg-size:cover;--awb-border-color:var(--awb-color6);--awb-border-style:solid;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;--awb-sticky-offset:150px;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-15"><p><span style="color: #143c4e;"><strong>Table of contents</strong></span></p>
</div><div class="awb-toc-el awb-toc-el--1" data-awb-toc-id="1" data-awb-toc-options="{&quot;allowed_heading_tags&quot;:{&quot;h2&quot;:0},&quot;ignore_headings&quot;:&quot;&quot;,&quot;ignore_headings_words&quot;:&quot;&quot;,&quot;enable_cache&quot;:&quot;no&quot;,&quot;highlight_current_heading&quot;:&quot;yes&quot;,&quot;hide_hidden_titles&quot;:&quot;no&quot;,&quot;limit_container&quot;:&quot;page_content&quot;,&quot;select_custom_headings&quot;:&quot;.contenu H2, .contenu H3&quot;,&quot;icon&quot;:&quot;fa-flag fas&quot;,&quot;counter_type&quot;:&quot;none&quot;}" style="--awb-item-padding-right:5px;--awb-item-padding-left:5px;"><div class="awb-toc-el__content"></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:20px;margin-bottom:20px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-image-element " style="--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:saturate(100%);--awb-filter-transition:filter 0.3s ease;--awb-filter-hover:saturate(0%);"><span class=" fusion-imageframe imageframe-none imageframe-6 hover-type-zoomout"><img decoding="async" width="1536" height="1024" title="blog lvl2" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/ChatGPT-Image-7-nov.-2025-09_10_15.png" alt class="img-responsive wp-image-1687" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/ChatGPT-Image-7-nov.-2025-09_10_15-200x133.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/ChatGPT-Image-7-nov.-2025-09_10_15-400x267.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/ChatGPT-Image-7-nov.-2025-09_10_15-600x400.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/ChatGPT-Image-7-nov.-2025-09_10_15-800x533.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/ChatGPT-Image-7-nov.-2025-09_10_15-1200x800.png 1200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/ChatGPT-Image-7-nov.-2025-09_10_15.png 1536w" sizes="(max-width: 640px) 100vw, 400px" /></span></div></div></div></div></div>
<p>The post <a href="https://urbangeoanalytics.com/deploy-a-guest-book-on-an-evm-blockchain-using-remix/">Deploy a Guest Book on an EVM Blockchain Using Remix</a> appeared first on <a href="https://urbangeoanalytics.com">Urban Geo Analytics</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://urbangeoanalytics.com/deploy-a-guest-book-on-an-evm-blockchain-using-remix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Getting Started with MetaMask and the Polygon Amoy Testnet</title>
		<link>https://urbangeoanalytics.com/getting-started-with-metamask-and-the-polygon-amoy-testnet/</link>
					<comments>https://urbangeoanalytics.com/getting-started-with-metamask-and-the-polygon-amoy-testnet/#respond</comments>
		
		<dc:creator><![CDATA[Joan Perez]]></dc:creator>
		<pubDate>Sat, 08 Nov 2025 00:01:00 +0000</pubDate>
				<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Getting Started]]></category>
		<category><![CDATA[Metamask]]></category>
		<category><![CDATA[Polygon]]></category>
		<category><![CDATA[Testnet]]></category>
		<guid isPermaLink="false">https://urbangeoanalytics.com/?p=1796</guid>

					<description><![CDATA[<p>Learn how to configure MetaMask for the Polygon Amoy testnet, claim free POL tokens and verify your transactions. Beginner‑friendly guide.</p>
<p>The post <a href="https://urbangeoanalytics.com/getting-started-with-metamask-and-the-polygon-amoy-testnet/">Getting Started with MetaMask and the Polygon Amoy Testnet</a> appeared first on <a href="https://urbangeoanalytics.com">Urban Geo Analytics</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" id="contenu" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_3_4 3_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:75%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.56%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.56%;--awb-width-medium:75%;--awb-order-medium:0;--awb-spacing-right-medium:2.56%;--awb-spacing-left-medium:2.56%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" id="contenu" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-16"><h5><strong>Highlights</strong></h5>
</div><div class="fusion-text fusion-text-17" style="--awb-margin-top:-30px;"><ul>
<li><strong>Set Up MetaMask</strong> for Blockchain Development</li>
<li><strong>Get Free POL Tokens</strong> on the Amoy Testnet</li>
<li><strong>Verify Wallet Activity</strong> on the Amoy Explorer</li>
</ul>
</div><div class="fusion-text fusion-text-18 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p>Before you can deploy smart contracts or explore decentralized applications, you need a crypto wallet and access to a test network. This guide will walk you through setting up <a class="decorated-link keychainify-checked" href="https://metamask.io/" target="_new" rel="noopener" data-start="399" data-end="431">MetaMask</a> and obtaining free <strong data-start="451" data-end="458">POL</strong> tokens on <strong data-start="469" data-end="495">Polygon’s Amoy testnet.</strong></p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">1. What Is Polygon and What’s a Testnet?</h2></div><div class="fusion-text fusion-text-19 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="313" data-end="640"><strong data-start="313" data-end="324">Polygon</strong> is a <strong data-start="330" data-end="360">Layer 2 blockchain network</strong> built on top of <strong data-start="377" data-end="389">Ethereum</strong>. It&#8217;s fully compatible with Ethereum’s Virtual Machine (EVM), which means developers can use the same tools (like Solidity and MetaMask) and deploy smart contracts on Polygon just as they would on Ethereum — but with <strong data-start="607" data-end="639">lower fees and faster speeds</strong>. Just like a developer might test an app on a “staging” version before going live, <strong data-start="748" data-end="786">blockchain developers use testnets</strong> to try out smart contracts and decentralized applications (dApps) <strong data-start="853" data-end="883">without risking real funds</strong>.</p>
<p data-start="886" data-end="998">Testnets behave like real blockchains but use <strong data-start="932" data-end="947">fake tokens</strong> and <strong data-start="952" data-end="986">simulate real-world conditions</strong>, including:</p>
<ul data-start="1000" data-end="1087">
<li data-start="1000" data-end="1027">
<p data-start="1002" data-end="1027">Smart contract deployment</p>
</li>
<li data-start="1028" data-end="1048">
<p data-start="1030" data-end="1048">Gas usage and fees</p>
</li>
<li data-start="1049" data-end="1087">
<p data-start="1051" data-end="1087">Wallet interactions and transactions</p>
</li>
</ul>
<p data-start="1338" data-end="1481">On the <strong>Amoy Polygon testnet</strong>, you use <strong data-start="1363" data-end="1382">test POL tokens</strong>, which <strong data-start="1390" data-end="1418">have no real-world value</strong>. They’re distributed for free via <strong data-start="1453" data-end="1464">faucets</strong> and are used to Simulate transaction costs, test smart contracts and interact with dApps before going to mainnet. Since testnets are for <strong data-start="1628" data-end="1656">development and learning</strong>, the tokens don’t come from real exchanges. Instead, developers request tokens from <strong data-start="1741" data-end="1752">faucets</strong> — special services that send small amounts of testnet tokens (like POL on Amoy) to your wallet.</p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">2. Set Up MetaMask</h2></div><div class="fusion-text fusion-text-20 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="121" data-end="363">MetaMask is one of the most widely used browser-based wallets for Ethereum and EVM-compatible chains like Polygon. It&#8217;s beginner-friendly, well-supported, integrates directly with Remix, and is available as a browser extension and mobile app.</p>
<p data-start="365" data-end="673">Other wallets like <a class="decorated-link keychainify-checked" href="https://rabby.io/" target="_new" rel="noopener" data-start="384" data-end="410">Rabbi</a>, or <a class="decorated-link keychainify-checked" href="https://trustwallet.com/" target="_new" rel="noopener" data-start="412" data-end="452">Trust Wallet</a> are excellent alternatives — especially for more advanced users or specific use cases — but MetaMask remains the simplest and most universal option for getting started with smart contracts. To get started, <a class="decorated-link keychainify-checked" href="https://metamask.io/" target="_new" rel="noopener" data-start="16" data-end="56">install MetaMask</a> and follow the steps shown in the figure below to create your wallet safely.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-7" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-7 hover-type-none"><img decoding="async" width="1909" height="720" title="metamask" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/metamask.png" alt class="img-responsive wp-image-1803" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/metamask-200x75.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/metamask-400x151.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/metamask-600x226.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/metamask-800x302.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/metamask-1200x453.png 1200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/metamask.png 1909w" sizes="(max-width: 640px) 100vw, 1200px" /></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">Step-by-step installation of Metamask</div></div></div></div><div class="fusion-text fusion-text-21 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="675" data-end="724"><strong data-start="675" data-end="724">Understand Password vs Secret Recovery Phrase</strong></p>
<p data-start="726" data-end="917">The password you create in MetaMask <strong data-start="762" data-end="813">only unlocks the extension on your local device</strong>. If you lose it, you can still recover your wallet on any device using your <strong data-start="890" data-end="916">Secret Recovery Phrase</strong>. That phrase is everything. It’s a master key to your wallet — <strong data-start="981" data-end="1021">anyone with it can access your funds</strong>, and if you lose it, your wallet is gone forever. That’s why you should <strong data-start="1094" data-end="1114">store it offline</strong>, ideally on paper or a hardware password manager, and never on your computer or cloud storage.</p>
</div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">3. Add the Polygon Amoy Testnet to Metamask</h2></div><div class="fusion-text fusion-text-22 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="2433" data-end="2531">The <strong data-start="2437" data-end="2453">Amoy testnet</strong> is the official test network for Polygon. To add Amoy to MetaMask open MetaMask and click the <strong data-start="2590" data-end="2610">network dropdown</strong>, then click <strong data-start="2621" data-end="2636">Add network</strong> &gt; <strong data-start="2639" data-end="2665">Add a network manually </strong>and enter the information below.</p>
</div><div class="fusion-text fusion-text-23 fusion-text-no-margin" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="minimal" data-enlighter-linenumbers="false">Network Name: Polygon Amoy
New RPC URL: https://rpc-amoy.polygon.technology
Chain ID: 80002
Currency Symbol: POL
Block Explorer URL: https://www.oklink.com/amoy
</pre>
</div><div class="fusion-text fusion-text-24 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="2433" data-end="2531">This figure below shows how it shall look when you add Amoy on Metamask. After saving, you’ll be ready to interact with dApps and smart contracts on the Polygon Amoy testnet.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-8" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-8 hover-type-none"><img decoding="async" width="1301" height="575" title="testnetco" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco.png" alt class="img-responsive wp-image-1811" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco-200x88.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco-400x177.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco-600x265.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco-800x354.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco-1200x530.png 1200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco.png 1301w" sizes="(max-width: 640px) 100vw, 1200px" /></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">Connecting Metamask to the Polygon testnet Amoy</div></div></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;margin-bottom:25px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-title title fusion-title-10 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-top:25px;--awb-margin-bottom:25px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);">4. Get Free POL Test Tokens</h2></div><div class="fusion-text fusion-text-25 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="62" data-end="161">To interact with the Polygon Amoy testnet, you’ll need test <strong data-start="122" data-end="129">POL</strong> tokens to pay for transactions.</p>
<p data-start="163" data-end="460">Visit the <a class="decorated-link keychainify-checked" href="https://faucet.polygon.technology/" target="_new" rel="noopener" data-start="173" data-end="225">Polygon Faucet</a>, <strong data-start="227" data-end="256">paste your wallet address</strong>, and select <strong data-start="269" data-end="277">Amoy</strong> as the network. To prevent spam, the faucet requires you to verify your request by connecting a <strong data-start="374" data-end="384">GitHub</strong> or <strong data-start="388" data-end="403">X (Twitter)</strong> account — your wallet does <strong data-start="431" data-end="438">not</strong> need to be connected. You can also request test tokens from third-party faucets if you don&#8217;t use GitHub or X.</p>
<p data-start="462" data-end="608" data-is-last-node="" data-is-only-node="">Once verified, request the POL tokens. They should arrive in your wallet within seconds and appear under the Amoy network, as shown in the figure below.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-9" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-9 hover-type-none"><img decoding="async" width="393" height="327" title="testnetco1" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco1.png" alt class="img-responsive wp-image-1814" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco1-200x166.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testnetco1.png 393w" sizes="(max-width: 640px) 100vw, 393px" /></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">0.1 POL received from the faucet on Amoy</div></div></div></div><div class="fusion-text fusion-text-26 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="62" data-end="161">You can now view your wallet activity directly on the <a class="decorated-link cursor-pointer keychainify-checked" href="https://www.oklink.com/fr" target="_new" rel="noopener" data-start="115" data-end="176">Polygon Amoy Testnet Explorer</a>. Just paste your wallet address into the search bar, and you’ll see your balance, transactions, and history—like the receipt of your test POL tokens. From here, your wallet is ready to use: you can send and receive tokens, monitor activity, and begin connecting to decentralized applications (dApps) built for testnets.</p>
</div><div class="fusion-image-element awb-imageframe-style awb-imageframe-style-below awb-imageframe-style-10" style="text-align:center;--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--body_typography-font-family);--awb-caption-title-font-weight:var(--body_typography-font-weight);--awb-caption-title-font-style:var(--body_typography-font-style);--awb-caption-title-size:var(--body_typography-font-size);--awb-caption-title-transform:var(--body_typography-text-transform);--awb-caption-title-line-height:var(--body_typography-line-height);--awb-caption-title-letter-spacing:var(--body_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-10 hover-type-none"><img decoding="async" width="1261" height="745" title="testn" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/testn.png" alt class="img-responsive wp-image-1816" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/testn-200x118.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testn-400x236.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testn-600x354.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testn-800x473.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testn-1200x709.png 1200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/testn.png 1261w" sizes="(max-width: 640px) 100vw, 1200px" /></span><div class="awb-imageframe-caption-container" style="text-align:center;"><div class="awb-imageframe-caption"><div class="awb-imageframe-caption-title">Wallet activity on the testnet explorer</div></div></div></div><div class="fusion-text fusion-text-27 fusion-text-no-margin" style="--awb-content-alignment:justify;--awb-margin-top:25px;--awb-margin-bottom:25px;"><p data-start="62" data-end="161">Stay tuned — this post is the first in a series. In the next entry, we’ll deploy a simple smart contract to the Amoy testnet and connect our wallet to it, and simulate sending environmental data (like temperature) as if from an IoT sensor. You’ll learn to interact with contracts on-chain, and begin experimenting with decentralized logic in practice.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-3 awb-sticky awb-sticky-medium awb-sticky-large fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:20px;--awb-padding-left:20px;--awb-bg-size:cover;--awb-border-color:var(--awb-color6);--awb-border-style:solid;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;--awb-sticky-offset:150px;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-28"><p><span style="color: #143c4e;"><strong>Table of contents</strong></span></p>
</div><div class="awb-toc-el awb-toc-el--2" data-awb-toc-id="2" data-awb-toc-options="{&quot;allowed_heading_tags&quot;:{&quot;h2&quot;:0},&quot;ignore_headings&quot;:&quot;&quot;,&quot;ignore_headings_words&quot;:&quot;&quot;,&quot;enable_cache&quot;:&quot;no&quot;,&quot;highlight_current_heading&quot;:&quot;yes&quot;,&quot;hide_hidden_titles&quot;:&quot;no&quot;,&quot;limit_container&quot;:&quot;page_content&quot;,&quot;select_custom_headings&quot;:&quot;.contenu H2, .contenu H3&quot;,&quot;icon&quot;:&quot;fa-flag fas&quot;,&quot;counter_type&quot;:&quot;none&quot;}" style="--awb-item-padding-right:5px;--awb-item-padding-left:5px;"><div class="awb-toc-el__content"></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:20px;margin-bottom:20px;width:100%;"><div class="fusion-separator-border sep-single sep-solid" style="--awb-height:20px;--awb-amount:20px;--awb-sep-color:var(--awb-color6);border-color:var(--awb-color6);border-top-width:1px;"></div></div><div class="fusion-image-element " style="--awb-margin-top:25px;--awb-margin-bottom:25px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:saturate(100%);--awb-filter-transition:filter 0.3s ease;--awb-filter-hover:saturate(0%);"><span class=" fusion-imageframe imageframe-none imageframe-11 hover-type-zoomout"><img decoding="async" width="1536" height="1024" title="blog lvl1" src="https://urbangeoanalytics.com/wp-content/uploads/2025/11/blog-lvl1.png" alt class="img-responsive wp-image-1685" srcset="https://urbangeoanalytics.com/wp-content/uploads/2025/11/blog-lvl1-200x133.png 200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/blog-lvl1-400x267.png 400w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/blog-lvl1-600x400.png 600w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/blog-lvl1-800x533.png 800w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/blog-lvl1-1200x800.png 1200w, https://urbangeoanalytics.com/wp-content/uploads/2025/11/blog-lvl1.png 1536w" sizes="(max-width: 640px) 100vw, 400px" /></span></div></div></div></div></div>
<p>The post <a href="https://urbangeoanalytics.com/getting-started-with-metamask-and-the-polygon-amoy-testnet/">Getting Started with MetaMask and the Polygon Amoy Testnet</a> appeared first on <a href="https://urbangeoanalytics.com">Urban Geo Analytics</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://urbangeoanalytics.com/getting-started-with-metamask-and-the-polygon-amoy-testnet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
