{"id":1963,"date":"2019-12-06T16:32:16","date_gmt":"2019-12-06T15:32:16","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/uncategorized\/what-is-an-erc-20-token-an-overview\/"},"modified":"2021-12-23T14:16:04","modified_gmt":"2021-12-23T13:16:04","slug":"what-is-an-erc-20-token-an-overview","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/","title":{"rendered":"ERC-20 tokens: an overview"},"content":{"rendered":"\n<p class=\"eplus-I3wVRy\">This article is the first in a series (<a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/blockchain-dev\/solidity-hello-world-blockchain\/\">part two<\/a>, <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/blockchain-dev\/simple-contract-solidity-blockchain\/\">part three<\/a>, <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/blockchain-dev\/smart-contract-create-interface-token-blockchain\/\" class=\"ek-link\">part four<\/a> and <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/blockchain-dev\/web3-js-ethereum-blockchain-javascript-api\/\" class=\"ek-link\">part five<\/a>) that will teach you how to develop a simple <strong>smart contract<\/strong> on the <strong>Ethereum Blockchain<\/strong>. Before delving into more technical information, we need to be sure that everyone is on the same page.<\/p>\n\n\n\n<p class=\"eplus-ZI33lU\">This first chapter provides a basic understanding of Blockchain technology and the dynamics of an interactive blockchain such as Ethereum.<\/p>\n\n\n\n<h2 class=\"eplus-hGrPkl wp-block-heading\" id=\"8muii\"><strong>What is a Blockchain<\/strong><\/h2>\n\n\n\n<p class=\"eplus-rshiYF\">A Blockchain is a <strong>peer to peer decentralized payment system<\/strong>, first conceived by its creator <span id=\"urn:enhancement-8cd8eb01\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/satoshi_nakamoto\">Satoshi Nakamoto<\/span>. A Blockchain is a software technology that enables users to send and receive money and\/or goods by writing the <strong>transactions<\/strong> on a <strong>distributed ledger<\/strong> that is accessible to anyone at any time.<\/p>\n\n\n\n<p class=\"eplus-hzFsGc\">In a Blockchain system, consensus on a transaction is reached using a specific <strong>protocol<\/strong>. <strong>Bitcoin<\/strong> (and later Ethereum) was designed using the Byzantine Fault Tolerance consensus protocol, which resolves agreements in distributed <span id=\"urn:enhancement-6e90dc01\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/computing\">computing<\/span> and <span id=\"urn:enhancement-db9a1e2e\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/multi-agent_system\">multi-agent systems<\/span> based on the Byzantine Generals Problem, an extension of the Two Generals Problem.<\/p>\n\n\n\n<p class=\"eplus-zIM51g\">Goods and assets on a Blockchain are identified through <strong>addresses<\/strong> &#8211; strings of characters associated with an amount of <span id=\"urn:enhancement-d45db28e\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/cryptocurrency\">cryptocurrency<\/span> (<strong>token<\/strong>).<\/p>\n\n\n\n<h2 class=\"eplus-SN99Pe wp-block-heading\" id=\"8vafb\"><strong>What is Ethereum<\/strong><\/h2>\n\n\n\n<p class=\"eplus-Jbe8FR\">Ethereum is defined as <strong>Blockchain 2.0<\/strong> &#8211; it&#8217;s a Blockchain that lets developers enrich the metadata contained in a transaction in order to build smart applications on the distributed ledger.<\/p>\n\n\n\n<p class=\"eplus-p6HSO2\">Like Bitcoin, <strong>Ethereum is a distributed public Blockchain network<\/strong>. Ether (ETH) is the <span id=\"urn:enhancement-259f1c5a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/cryptocurrency\">cryptocurrency<\/span> earned as a reward for the process of &#8216;mining&#8217;, and is used as \u2018fuel\u2019 by application developers and users to pay the processing fees of decentralized applications. This fee, called <em>gas<\/em>, is usually so low that is measured in <strong>Gwei<\/strong>. A Gwei is equivalent to 1 x 10^9 ETH.<\/p>\n\n\n\n<p class=\"eplus-uyJWK4\">It\u2019s important to understand the value of a single Gwei: gas is very like the instruction clock of a CPU. Ethereum is defined as the world\u2019s global <span id=\"urn:enhancement-ac1b131d\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/operating_system\">operating system<\/span>, and that definition is not only metaphorical, but also practical. When coding a smart contract, every instruction is translated into a lower-level language, the <strong>Ethereum <span id=\"urn:enhancement-fcb6e463\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/virtual_machine\">Virtual Machine<\/span><\/strong> (<strong>EVM<\/strong>). The EVM is the equivalent of the <span id=\"urn:enhancement-d26f5915\" class=\"textannotation disambiguated wl-creative-work\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/java_programming_language\">Java<\/span> <span id=\"urn:enhancement-90f7568a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/virtual_machine\">Virtual Machine<\/span>: it translates the abstract instructions into instruction that can be processed by the machine. In the case of Ethereum, the machine is not a single computer, but a network of computers that validates each instruction and <span id=\"urn:enhancement-858a1b50\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/process_computing\">processes<\/span> the whole <span id=\"urn:enhancement-bb3cea7a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/computer_program\">program<\/span>, updating the state of the function, i.e. the data associated with the smart contract.<\/p>\n\n\n\n<h2 class=\"eplus-ccaRYK wp-block-heading\" id=\"c408o\"><strong>What is a token<\/strong><\/h2>\n\n\n\n<p class=\"eplus-MqDW8o\">As per the universal definition, a token is the representation of a real asset or entity in a digital system. In a decentralized <span id=\"urn:enhancement-1282abe\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/peer-to-peer\">peer to peer<\/span> distributed system such as the Blockchain, <strong>a token is the digital representation of either <span id=\"urn:enhancement-455cd55f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/virtual_currency\">virtual currency<\/span> or a digital asset in the distributed ledger that can be owned, transferred and modified by <span id=\"urn:enhancement-cd3f8d32\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">users<\/span><\/strong> who access the platform associated with the token. Such platforms are called <em>DApp<\/em> (Decentralized <span id=\"urn:enhancement-7c56de26\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">Application<\/span>), and can be seen as decentralized versions of a web <span id=\"urn:enhancement-ae49682\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">application<\/span>. Examples of Decentralized Applications include games like <em>cryptokitties.co<\/em> or <em>cheezewizards.com<\/em>, and other platform types, such as <em>compound.finance<\/em> or <em>ethlend.io<\/em>.<\/p>\n\n\n\n<p class=\"eplus-8aJfIo\">Let\u2019s take the example of Cryptokitties: the <span id=\"urn:enhancement-62140871\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">application<\/span> runs on Ethereum and lets <span id=\"urn:enhancement-3ad75c3f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">users<\/span> trade Crypto Collectibles (like trading cards) for Ether. Every token represents a cryptokitty. Users can trade a collectible and own the exclusive right to that token, held in their own wallet. This type of token is called <em>non-fungible<\/em>; each token is unique but every token has the same characteristics &#8211; every kitty has two eyes, a tail, a body in a specific color, but each kitty has these in a different combination. One token may be more expensive than another, and this dynamic creates a specific market for every token. Non-fungible tokens are not in the <span id=\"urn:enhancement-a1a4bb24\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scope_computer_science\">scope<\/span> of this series, but this brief overview is necessary to illustrate the following.<\/p>\n\n\n\n<p class=\"eplus-qCBvXM\"><em>Fungible <\/em>tokens, in contrast, are \u2018simple\u2019 tokens that can be seen as money: every token is equal to every other other, and the only difference between those held by two users lies in the amount of tokens held by each individual. Ether (ETH) is a fungible token: every <span id=\"urn:enhancement-882f16ea\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> can trade Ether, and all Ether tokens have the same value, i.e., the value of Ether. In this series, we will discover how to create a token like ETH on the <span id=\"urn:enhancement-afa6b9e\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/ethereum\">Ethereum<\/span> blockchain.<\/p>\n\n\n\n<h2 class=\"eplus-PeeULO wp-block-heading\" id=\"drlin\"><strong>What is a smart contract<\/strong><\/h2>\n\n\n\n<p class=\"eplus-oCz59F\">Put simply, a smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow credible transactions to be performed without involving third parties.<\/p>\n\n\n\n<p class=\"eplus-tprGBr\">As of today, <span id=\"urn:enhancement-e2175bd8\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/ethereum\">Ethereum<\/span> is the most popular Blockchain used to run smart contracts.<\/p>\n\n\n\n<p class=\"eplus-a4Mdpf\">The following is a \u2018<span id=\"urn:enhancement-e69c1cd6\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/hello__world_program\">Hello World<\/span>\u2019 smart contract:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted eplus-nYYEoS\"><strong>pragma solidity<\/strong> &gt;=0.4.0 &lt;0.7.0;\n\n<strong>contract<\/strong> SimpleStorage {\n uint storedData;\n\n <strong>function<\/strong> set(uint x) <strong>public<\/strong> {\n  storedData = x;\n }\n\n <strong>function<\/strong> get() <strong>public<\/strong> <strong>view<\/strong> <strong>returns<\/strong> (uint) {\n  <strong>return<\/strong> storedData;\n }\n}<\/pre>\n\n\n\n<p class=\"eplus-TbTdG0\">As is clear from the first line, the first big thing potential users should know about <span id=\"urn:enhancement-5bd8468f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/ethereum\">Ethereum<\/span> smart contracts is that they are written in a whole new language &#8211; <strong>Solidity<\/strong>.<\/p>\n\n\n\n<p class=\"eplus-vaaLfV\">Solidity is an object-oriented, <strong><span id=\"urn:enhancement-c241844e\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/high-level_programming_language\">high-level language<\/span><\/strong> influenced by <span id=\"urn:enhancement-d42c0f41\" class=\"textannotation disambiguated wl-creative-work\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/c__\">C++<\/span>, <span id=\"urn:enhancement-cb927a82\" class=\"textannotation disambiguated wl-creative-work\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/python_programming_language\">Python<\/span> and <span id=\"urn:enhancement-794b5c26\" class=\"textannotation disambiguated wl-creative-work\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/javascript\">Javascript<\/span>. It is designed to target the <span id=\"urn:enhancement-7c67f30f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/ethereum\">Ethereum<\/span> <span id=\"urn:enhancement-f0bc894b\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/virtual_machine\">Virtual Machine<\/span>.<\/p>\n\n\n\n<p class=\"eplus-CxKEj4\">Statically typed, Solidity supports inheritance, libraries and complex <span id=\"urn:enhancement-b997046d\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span>-defined types among other features.<\/p>\n\n\n\n<p class=\"eplus-YDOpsU\">This basic smart contract is designed to simply return a <span id=\"urn:enhancement-b06afd97\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/variable_computer_science\">variable<\/span> stored in the <span id=\"urn:enhancement-db54a6a2\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/entry_point\">main<\/span> function, but it\u2019s already a prime example of how a smart contract works in its entirety: there are <strong>functions <\/strong>and there is <strong>state<\/strong>.<\/p>\n\n\n\n<ul class=\"eplus-1RvY7j wp-block-list\"><li><strong>Functions <\/strong>work exactly as a function would in any other object-oriented language.  These are the operations that a contract can perform, getting data as input and producing an output to return.<\/li><li><strong>State <\/strong>is the state of the contract in the Ethereum network, with a specific address on the blockchain.<\/li><\/ul>\n\n\n\n<p class=\"eplus-K20gph\"><em>storedData <\/em>is the <span id=\"urn:enhancement-35104bea\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/entry_point\">main<\/span> (and only) <span id=\"urn:enhancement-1b23a4fc\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/variable_computer_science\">variable<\/span> of the contract of type <em>uint<\/em>, and <em>set(uint x) public <\/em>is the <span id=\"urn:enhancement-38d2bb4e\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/entry_point\">main<\/span> <span id=\"urn:enhancement-c2e20b61\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/method_computer_programming\">method<\/span> that sets the <span id=\"urn:enhancement-d92fc465\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/variable_computer_science\">variable<\/span> in the state of the contract. The <em>get() <\/em>function returns the <span id=\"urn:enhancement-5f4cc0b1\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/variable_computer_science\">variable<\/span> as the output of the whole contract.<\/p>\n\n\n\n<p class=\"eplus-fiYh0d\"><strong>We can think of this basic smart contract as a simple <span id=\"urn:enhancement-a0bd3c68\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/class_computer_programming\">class<\/span> with get and set functions<\/strong>.  One subtle difference that should be noted is the absence of the prefix <em>this. <\/em>in the <em>set <\/em>function, as it is not needed in Solidity.<\/p>\n\n\n\n<p class=\"eplus-cVCPbC\">This smart contract can store and show a simple number for general viewing on the public Blockchain; any <span id=\"urn:enhancement-6cd21edf\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> could use this contract to set another number that will then overwrite the previous number, but the contract will always store its state in the blockchain, so it\u2019s possible to see every previous state (i.e. number set) by looking for previous transactions associated with the address of the contract.<\/p>\n\n\n\n<p class=\"eplus-uttmSd\">With all the necessary elements outlined, we can dive into how to write a smart contract, as well as how to design a smart contract that is functional within the context of a decentralized infrastructure.<\/p>\n\n\n\n<p class=\"eplus-DfvFFz\">Stay up to date and follow us to learn more about Blockchain!<\/p>\n\n\n\n<p class=\"eplus-ELzvQs\"><!-- strchf script --><script>        if(window.strchfSettings === undefined) window.strchfSettings = {};    window.strchfSettings.stats = {url: \"https:\/\/codemotion.storychief.io\/what-is-an-erc-20-token-an-overview?id=1816989741&type=2\",title: \"What is an ERC-20 token: an overview\",id: \"66543c6c-96d5-4792-a44b-49339654b7a1\"};            (function(d, s, id) {      var js, sjs = d.getElementsByTagName(s)[0];      if (d.getElementById(id)) {window.strchf.update(); return;}      js = d.createElement(s); js.id = id;      js.src = \"https:\/\/d37oebn0w9ir6a.cloudfront.net\/scripts\/v0\/strchf.js\";      js.async = true;      sjs.parentNode.insertBefore(js, sjs);    }(document, 'script', 'storychief-jssdk'))    <\/script><!-- End strchf script --><\/p>\n\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article you will learn the basics to develop a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.<\/p>\n","protected":false},"author":86,"featured_media":1964,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":4,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[13],"tags":[4240,4244],"collections":[],"class_list":{"0":"post-1963","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-blockchain","8":"tag-ethereum","9":"tag-smart-contract","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Blockchain and ERC-20 tokens: an overview - Codemotion<\/title>\n<meta name=\"description\" content=\"Learn the basics of developing a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ERC-20 tokens: an overview\" \/>\n<meta property=\"og:description\" content=\"Learn the basics of developing a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:author\" content=\"https:\/\/facebook.com\/ijaack94\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-06T15:32:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-23T13:16:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"964\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Giacomo Barbieri\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ijaack94\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Giacomo Barbieri\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/\"},\"author\":{\"name\":\"Giacomo Barbieri\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/ace6a459089546835d3262bb7aef87bf\"},\"headline\":\"ERC-20 tokens: an overview\",\"datePublished\":\"2019-12-06T15:32:16+00:00\",\"dateModified\":\"2021-12-23T13:16:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/\"},\"wordCount\":1154,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg\",\"keywords\":[\"Ethereum\",\"Smart Contracts\"],\"articleSection\":[\"Blockchain\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/\",\"name\":\"Blockchain and ERC-20 tokens: an overview - Codemotion\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg\",\"datePublished\":\"2019-12-06T15:32:16+00:00\",\"dateModified\":\"2021-12-23T13:16:04+00:00\",\"description\":\"Learn the basics of developing a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg\",\"width\":964,\"height\":675,\"caption\":\"What is an ERC-20 token: an overview\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/what-is-an-erc-20-token-an-overview\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backend\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Blockchain\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/backend\\\/blockchain\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"ERC-20 tokens: an overview\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/ace6a459089546835d3262bb7aef87bf\",\"name\":\"Giacomo Barbieri\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8381a47a5414b1154179659f56400e3eb72c3a592355c40b184a4f8a6a991c87?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8381a47a5414b1154179659f56400e3eb72c3a592355c40b184a4f8a6a991c87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8381a47a5414b1154179659f56400e3eb72c3a592355c40b184a4f8a6a991c87?s=96&d=mm&r=g\",\"caption\":\"Giacomo Barbieri\"},\"description\":\"Blogger with over 6 years of experience in blogs and newspapers, passionate about AI, 5G and blockchain. Never-ending learner of new technologies and approaches, I believe in the decentralized government and in the Internet of Money.\",\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/ijaack94\",\"https:\\\/\\\/instagram.com\\\/ijaack94\\\/\",\"https:\\\/\\\/linkedin.com\\\/in\\\/giacomobarbieri94\",\"https:\\\/\\\/x.com\\\/ijaack94\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/giacomo-barbieri\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Blockchain and ERC-20 tokens: an overview - Codemotion","description":"Learn the basics of developing a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/","og_locale":"en_US","og_type":"article","og_title":"ERC-20 tokens: an overview","og_description":"Learn the basics of developing a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.","og_url":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_author":"https:\/\/facebook.com\/ijaack94","article_published_time":"2019-12-06T15:32:16+00:00","article_modified_time":"2021-12-23T13:16:04+00:00","og_image":[{"width":964,"height":675,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg","type":"image\/jpeg"}],"author":"Giacomo Barbieri","twitter_card":"summary_large_image","twitter_creator":"@ijaack94","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Giacomo Barbieri","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/"},"author":{"name":"Giacomo Barbieri","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/ace6a459089546835d3262bb7aef87bf"},"headline":"ERC-20 tokens: an overview","datePublished":"2019-12-06T15:32:16+00:00","dateModified":"2021-12-23T13:16:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/"},"wordCount":1154,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg","keywords":["Ethereum","Smart Contracts"],"articleSection":["Blockchain"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/","url":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/","name":"Blockchain and ERC-20 tokens: an overview - Codemotion","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg","datePublished":"2019-12-06T15:32:16+00:00","dateModified":"2021-12-23T13:16:04+00:00","description":"Learn the basics of developing a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg","width":964,"height":675,"caption":"What is an ERC-20 token: an overview"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/what-is-an-erc-20-token-an-overview\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Backend","item":"https:\/\/www.codemotion.com\/magazine\/backend\/"},{"@type":"ListItem","position":3,"name":"Blockchain","item":"https:\/\/www.codemotion.com\/magazine\/backend\/blockchain\/"},{"@type":"ListItem","position":4,"name":"ERC-20 tokens: an overview"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/ace6a459089546835d3262bb7aef87bf","name":"Giacomo Barbieri","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8381a47a5414b1154179659f56400e3eb72c3a592355c40b184a4f8a6a991c87?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8381a47a5414b1154179659f56400e3eb72c3a592355c40b184a4f8a6a991c87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8381a47a5414b1154179659f56400e3eb72c3a592355c40b184a4f8a6a991c87?s=96&d=mm&r=g","caption":"Giacomo Barbieri"},"description":"Blogger with over 6 years of experience in blogs and newspapers, passionate about AI, 5G and blockchain. Never-ending learner of new technologies and approaches, I believe in the decentralized government and in the Internet of Money.","sameAs":["https:\/\/facebook.com\/ijaack94","https:\/\/instagram.com\/ijaack94\/","https:\/\/linkedin.com\/in\/giacomobarbieri94","https:\/\/x.com\/ijaack94"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/giacomo-barbieri\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-600x600.jpg","author_info":{"display_name":"Giacomo Barbieri","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/giacomo-barbieri\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg",964,675,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-300x210.jpg",300,210,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-768x538.jpg",768,538,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg",964,675,false],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg",964,675,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg",964,675,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000.jpg",100,70,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/network-3589858_1920_766888c9e4f923447dd9c69b5b30d540_2000-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Giacomo Barbieri","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/giacomo-barbieri\/"},"uagb_comment_info":0,"uagb_excerpt":"In this article you will learn the basics to develop a simple smart contract on Ethereum, including what Blockchain, tokens and smart contracts are.","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/1963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=1963"}],"version-history":[{"count":8,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/1963\/revisions"}],"predecessor-version":[{"id":15521,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/1963\/revisions\/15521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/1964"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=1963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=1963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=1963"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=1963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}