{"id":4766,"date":"2018-01-08T13:52:18","date_gmt":"2018-01-08T21:52:18","guid":{"rendered":"https:\/\/coincentral.com\/?p=4766"},"modified":"2018-04-03T14:19:00","modified_gmt":"2018-04-03T21:19:00","slug":"understanding-erc20","status":"publish","type":"post","link":"https:\/\/coincentral.com\/understanding-erc20\/","title":{"rendered":"Understanding ERC20"},"content":{"rendered":"<h1><span style=\"font-weight: 400;\">Understanding ERC20<\/span><\/h1>\n<p><i><span style=\"font-weight: 400;\">This article assumes the reader is already familiar with at the very least, the following concepts: the Ethereum blockchain, dapps, ether, smart contracts &amp; ICOs.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">To quickly re-cap, the Ethereum blockchain is a distributed, open-source blockchain-based computing platform. This computing platform, the Ethereum network, hosts decentralized applications (dapps) that are executed with chunks of codes named smart contracts; all transactions on the Ethereum network, as well as the computing costs of executing smart contracts, are paid for in the Ethereum cryptocurrency ether. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Some, but not all, of these dapps (decentralized apps) require an additional in-dapp currency \u2014 these dapps introduce their new currency, named token, and raise funds through an initial coin offering (ICO).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Ethereum blockchain platform is built in such a way that it encourages dapps of all kind \u2014 including those that require the creation, maintenance &amp; transferring of digital assets. These dapp-specific Ethereum tokens can be are implemented in order to create a network of dapps with meaningful use cases such as<\/span><a href=\"https:\/\/etherscan.io\/token\/0xd4fa1460f537bb9085d22c7bccb5dd450ef28e3a\"> <span style=\"font-weight: 400;\">invoice factoring<\/span><\/a><span style=\"font-weight: 400;\">,<\/span><a href=\"https:\/\/etherscan.io\/token\/BAT\"> <span style=\"font-weight: 400;\">browser-wide payments<\/span><\/a><span style=\"font-weight: 400;\">, &amp;<\/span><a href=\"https:\/\/etherscan.io\/token\/TenXPay\"> <span style=\"font-weight: 400;\">a cryptocurrency debit card.<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">All previously mentioned ideas are currently-live Ethereum based dapp-tokens that follow a very common token programming standard; in fact, 99% of all deployed Ethereum tokens follow this standard, the ERC20 standard. <\/span><\/p>\n<p><b>The ERC20 token standard, which stands for Ethereum Requests for Comment, is a standard set of programming \u201crules\u201d that all Ethereum-based token are expected to follow.<\/b><span style=\"font-weight: 400;\"> Developers agreed on these six functions &amp; two events as the minimal viable token in order to normalize expected behaviors while communicating across the Ethereum network \u2014 by establishing this protocol, Ethereum developers are able to work with external smart contracts easily.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Introducing Solidity<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">While the most popular Ethereum <\/span><i><span style=\"font-weight: 400;\">client<\/span><\/i><span style=\"font-weight: 400;\"> is currently written in<\/span><a href=\"https:\/\/golang.org\/\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">Google\u2019s GO<\/span><\/a><span style=\"font-weight: 400;\">, the choices for a developer-friendly smart contract language are plentiful. Developers can choose from languages such as<\/span><a href=\"https:\/\/github.com\/ethereum\/vyper\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">Vyper<\/span><\/a><span style=\"font-weight: 400;\">,<\/span><a href=\"https:\/\/github.com\/pirapira\/bamboo\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">Bamboo<\/span><\/a><span style=\"font-weight: 400;\">,<\/span><a href=\"https:\/\/github.com\/ethereum\/serpent\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">Serpent<\/span><\/a><span style=\"font-weight: 400;\"> &amp;<\/span><a href=\"https:\/\/solidity.readthedocs.io\/en\/develop\/#\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">Solidity<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><b><i>For the remainder of this article we\u2019ll highlight &amp; walkthrough Solidity syntax.<\/i><\/b><\/p>\n<p><span style=\"font-weight: 400;\">Solidity is a high-level contract-oriented programming language used for implementing smart contracts. The Solidity syntax, to those familiar with programming, is a mishmash of Javascript, Python, &amp; C concepts; it\u2019s statically-typed, supports inheritance &amp; has a host of libraries right from the get-go. For further information on Solidity you should head over to the documentation found here:<\/span><a href=\"https:\/\/solidity.readthedocs.io\/en\/develop\/#\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">https:\/\/solidity.readthedocs.io\/en\/develop\/#<\/span><\/a><\/p>\n<h2><a href=\"https:\/\/theethereum.wiki\/w\/index.php\/ERC20_Token_Standard\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">ERC20 Interface Walkthrough<\/span><\/a><\/h2>\n<p><span style=\"font-weight: 400;\">We\u2019re going to start digging a little deeper into exactly what &amp; how this standard is implemented across the Ethereum network \u2014 as previously mentioned, we\u2019ll cover this specifically in Solidity syntax.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In Ethereum-land, it all starts &amp; ends with <\/span><i><span style=\"font-weight: 400;\">contracts. <\/span><\/i><span style=\"font-weight: 400;\">Solidity documentation defines contracts as \u201ca collection of code (its <\/span><i><span style=\"font-weight: 400;\">functions<\/span><\/i><span style=\"font-weight: 400;\">) &amp; data (its <\/span><i><span style=\"font-weight: 400;\">state<\/span><\/i><span style=\"font-weight: 400;\">) that reside at a specific address on the Ethereum blockchain.\u201d Ethereum contracts support inheritance \u2014 so a contract can be an instance of another contract. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Following this logic, an abstract contract, one that\u2019s used strictly for inheritance, can also be used as failsafe by defining what a new contract <\/span><i><span style=\"font-weight: 400;\">must <\/span><\/i><span style=\"font-weight: 400;\">contain in order to compile. These abstract contracts, are also known as <\/span><b><i>interface contracts. <\/i><\/b><\/p>\n<p><span style=\"font-weight: 400;\">This means that any token contract that\u2019s an ERC20 instance does not compile without the following; in contrast, this means Ethereum developers now know what functions &amp; behaviors they can expect when interacting with any ERC20 token. <\/span><\/p>\n<p><a href=\"https:\/\/theethereum.wiki\/w\/index.php\/ERC20_Token_Standard\" target=\"_blank\" rel=\"noopener\"><b><i>The ERC20 standard is an interface contract that contains a grand total of six executable functions &amp; two logging events.<\/i><\/b><\/a><\/p>\n<h3><b>Allowance<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The Allowance function allows for two address to create repeated unidirectional transfer; a wallet address <\/span><i><span style=\"font-weight: 400;\">tokenOwner<\/span><\/i><span style=\"font-weight: 400;\"> &amp; a second <\/span><i><span style=\"font-weight: 400;\">wallet spender<\/span><\/i><span style=\"font-weight: 400;\"> are the defined as the two wallets that will engage in repeated transactions. Specifically, the wallet spender will withdraw <\/span><i><span style=\"font-weight: 400;\">some<\/span><\/i><span style=\"font-weight: 400;\"> amount from the wallet tokenOwner at <\/span><i><span style=\"font-weight: 400;\">some <\/span><\/i><span style=\"font-weight: 400;\">interval &#8211; both of these are variables that\u2019ll be determined later on.<\/span><\/p>\n<h3><b>Approve<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">For the Approve function, refer back to our Allowance function: the function allows for two addresses to repeatedly withdraw unidirectionally. The Approve function, aptly named, is a simple standard function that calls for the wallet owner to \u201capprove\u201d a transaction that\u2019s about to made on his\/her behalf in context of an Allowance. This function requires two inputs, the address of the spender &amp; the amount of tokens being sent. The output returns a public boolean that dictates whether approval was provided or rejected. <\/span><\/p>\n<h3><b>BalanceOf<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">BalanceOf is an intuitive function that accepts a single address input parameter (address tokenOwner) &amp; returns a single public constant (uint balance). The returned uint constant, balance, represents the amount of tokens the queried address holds \u2014 remember, transactions on a blockchain are usually public, Ethereum is no different. <\/span><\/p>\n<h3><b>TotalSupply<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The totalSupply function, as you can probably guess from the name, is an anonymous constructor function that\u2019s ran only once in the very first moment of deployment to the live Ethereum network. The function returns a public constant totalSupply unassigned integer (uint) that acts as that tokens total supply for the remainder of the contracts life. This totalSupply constant is usually defined one of two ways: hardcoding a variable or funding from an origin wallet.<\/span><\/p>\n<h3><b>Transfer<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The Transfer function is the core function of any ERC20 token; it defines &amp; implements direct <\/span><i><span style=\"font-weight: 400;\">wallet-owner-to-peer<\/span><\/i><span style=\"font-weight: 400;\"> token transferring. Since wallet owners make this call, only two parameters are required: the receiver address &amp; the amount of tokens being sent. These two parameters are usually initialized as (address to) &amp; (uint tokens). The Transfer return value is simply a boolean that confirms whether the receiver (the \u201cto\u201d address) received the tokens sent. <\/span><\/p>\n<h3><b>TransferFrom<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The TransferFrom function allows for <\/span><i><span style=\"font-weight: 400;\">a smart contract<\/span><\/i><span style=\"font-weight: 400;\"> to execute a transfer with the parameters passed <\/span><i><span style=\"font-weight: 400;\">on behalf of the wallet owner. <\/span><\/i><span style=\"font-weight: 400;\">Carefully make the distinction with the previous <\/span><b>Transfe<\/b><span style=\"font-weight: 400;\">r function. The previous function allowed for the <\/span><i><span style=\"font-weight: 400;\">wallet owner <\/span><\/i><span style=\"font-weight: 400;\">to directly send tokens to an address; this <\/span><b>TransferFrom <\/b><span style=\"font-weight: 400;\">allows for a <\/span><i><span style=\"font-weight: 400;\">smart contract <\/span><\/i><span style=\"font-weight: 400;\">to send tokens on the wallet owners\u2019 behalf, such as filling an order on an exchange, releasing funds in a timely manner, or paying our winnings in an game of luck. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">The <\/span><b>TransferFrom <\/b><span style=\"font-weight: 400;\">function has three input parameters, the address of the wallet owner, the address of the receiver wallet, &amp; the amount of tokens sent. They\u2019re often initialized in in the following syntax: (address from, address to, uint tokens). The function output is exactly the same as the Transfer output: a single public boolean that details the success or failure of the transaction.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Summary<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The six functions detailed above are the six core functions found in 99% of all currently live ERC20 tokens. With a few exceptions (looking at you Golem), Ethereum developers can feel safe knowing they can fully expect these core functions while developing internal contracts or when interacting with external public contracts out in the wild.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The ERC20 token standard, which stands for Ethereum Requests for Comment, is a set of programming \u201crules\u201d that all Ethereum-based token is expected to follow.<\/p>\n","protected":false},"author":20,"featured_media":4792,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"iawp_total_views":31,"footnotes":""},"categories":[5714],"tags":[5785],"class_list":{"0":"post-4766","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-articles","8":"tag-fundamentals"},"wppr_data":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Understanding ERC20 - CoinCentral<\/title>\n<meta name=\"description\" content=\"The ERC20 token standard, which stands for Ethereum Requests for Comment, is a set of programming \u201crules\u201d that all Ethereum-based token is expected to follow.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/coincentral.com\/understanding-erc20\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding ERC20\" \/>\n<meta property=\"og:description\" content=\"Learn about the set of programming \u201crules\u201d that all Ethereum-based tokens are expected to follow\" \/>\n<meta property=\"og:url\" content=\"https:\/\/coincentral.com\/understanding-erc20\/\" \/>\n<meta property=\"og:site_name\" content=\"CoinCentral\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-08T21:52:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-04-03T21:19:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jesus Najera\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Learn about the set of programming \u201crules\u201d that all Ethereum-based tokens are expected to follow\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jesus Najera\" \/>\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\":\"WebPage\",\"@id\":\"https:\/\/coincentral.com\/understanding-erc20\/\",\"url\":\"https:\/\/coincentral.com\/understanding-erc20\/\",\"name\":\"Understanding ERC20 - CoinCentral\",\"isPartOf\":{\"@id\":\"https:\/\/coincentral.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/coincentral.com\/understanding-erc20\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/coincentral.com\/understanding-erc20\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png\",\"datePublished\":\"2018-01-08T21:52:18+00:00\",\"dateModified\":\"2018-04-03T21:19:00+00:00\",\"author\":{\"@id\":\"https:\/\/coincentral.com\/#\/schema\/person\/4ec71e65ab0ee755dfcd27fc72f6ea8c\"},\"description\":\"The ERC20 token standard, which stands for Ethereum Requests for Comment, is a set of programming \u201crules\u201d that all Ethereum-based token is expected to follow.\",\"breadcrumb\":{\"@id\":\"https:\/\/coincentral.com\/understanding-erc20\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/coincentral.com\/understanding-erc20\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/coincentral.com\/understanding-erc20\/#primaryimage\",\"url\":\"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png\",\"contentUrl\":\"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png\",\"width\":2000,\"height\":1000,\"caption\":\"understanding erc20\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/coincentral.com\/understanding-erc20\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/coincentral.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding ERC20\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/coincentral.com\/#website\",\"url\":\"https:\/\/coincentral.com\/\",\"name\":\"CoinCentral\",\"description\":\"Your Bitcoin, Ethereum, and other Cryptocurrency HQ\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/coincentral.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/coincentral.com\/#\/schema\/person\/4ec71e65ab0ee755dfcd27fc72f6ea8c\",\"name\":\"Jesus Najera\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/coincentral.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5424de5689856aefcefdc1d1dfa7c246719ad277350c5e031c7954b04db57c70?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5424de5689856aefcefdc1d1dfa7c246719ad277350c5e031c7954b04db57c70?s=96&r=g\",\"caption\":\"Jesus Najera\"},\"description\":\"Jesus Najera is the CEO &amp; Founder of SetOcean, a Fort Lauderdale-based agency-incubator focused on blockchain, cryptocurrency, and machine learning technologies. He\u2019s a contributing author at PERC360, Coincentral, &amp; an editor of the SetOcean medium blog. You can find him in the \u201cAll Things Cryptocurrency\u201d Facebook group or hacking away at Setcoins, their latest product release \u2013 a powerful cryptocurrency research platform.\",\"url\":\"https:\/\/coincentral.com\/author\/jesus-najera\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding ERC20 - CoinCentral","description":"The ERC20 token standard, which stands for Ethereum Requests for Comment, is a set of programming \u201crules\u201d that all Ethereum-based token is expected to follow.","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:\/\/coincentral.com\/understanding-erc20\/","og_locale":"en_US","og_type":"article","og_title":"Understanding ERC20","og_description":"Learn about the set of programming \u201crules\u201d that all Ethereum-based tokens are expected to follow","og_url":"https:\/\/coincentral.com\/understanding-erc20\/","og_site_name":"CoinCentral","article_published_time":"2018-01-08T21:52:18+00:00","article_modified_time":"2018-04-03T21:19:00+00:00","og_image":[{"width":2000,"height":1000,"url":"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png","type":"image\/png"}],"author":"Jesus Najera","twitter_card":"summary_large_image","twitter_description":"Learn about the set of programming \u201crules\u201d that all Ethereum-based tokens are expected to follow","twitter_misc":{"Written by":"Jesus Najera","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/coincentral.com\/understanding-erc20\/","url":"https:\/\/coincentral.com\/understanding-erc20\/","name":"Understanding ERC20 - CoinCentral","isPartOf":{"@id":"https:\/\/coincentral.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/coincentral.com\/understanding-erc20\/#primaryimage"},"image":{"@id":"https:\/\/coincentral.com\/understanding-erc20\/#primaryimage"},"thumbnailUrl":"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png","datePublished":"2018-01-08T21:52:18+00:00","dateModified":"2018-04-03T21:19:00+00:00","author":{"@id":"https:\/\/coincentral.com\/#\/schema\/person\/4ec71e65ab0ee755dfcd27fc72f6ea8c"},"description":"The ERC20 token standard, which stands for Ethereum Requests for Comment, is a set of programming \u201crules\u201d that all Ethereum-based token is expected to follow.","breadcrumb":{"@id":"https:\/\/coincentral.com\/understanding-erc20\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/coincentral.com\/understanding-erc20\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/coincentral.com\/understanding-erc20\/#primaryimage","url":"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png","contentUrl":"https:\/\/coincentral.com\/wp-content\/uploads\/2018\/01\/understanding-erc20.png","width":2000,"height":1000,"caption":"understanding erc20"},{"@type":"BreadcrumbList","@id":"https:\/\/coincentral.com\/understanding-erc20\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/coincentral.com\/"},{"@type":"ListItem","position":2,"name":"Understanding ERC20"}]},{"@type":"WebSite","@id":"https:\/\/coincentral.com\/#website","url":"https:\/\/coincentral.com\/","name":"CoinCentral","description":"Your Bitcoin, Ethereum, and other Cryptocurrency HQ","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/coincentral.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/coincentral.com\/#\/schema\/person\/4ec71e65ab0ee755dfcd27fc72f6ea8c","name":"Jesus Najera","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/coincentral.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5424de5689856aefcefdc1d1dfa7c246719ad277350c5e031c7954b04db57c70?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5424de5689856aefcefdc1d1dfa7c246719ad277350c5e031c7954b04db57c70?s=96&r=g","caption":"Jesus Najera"},"description":"Jesus Najera is the CEO &amp; Founder of SetOcean, a Fort Lauderdale-based agency-incubator focused on blockchain, cryptocurrency, and machine learning technologies. He\u2019s a contributing author at PERC360, Coincentral, &amp; an editor of the SetOcean medium blog. You can find him in the \u201cAll Things Cryptocurrency\u201d Facebook group or hacking away at Setcoins, their latest product release \u2013 a powerful cryptocurrency research platform.","url":"https:\/\/coincentral.com\/author\/jesus-najera\/"}]}},"_links":{"self":[{"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/posts\/4766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/comments?post=4766"}],"version-history":[{"count":0,"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/posts\/4766\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/media\/4792"}],"wp:attachment":[{"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/media?parent=4766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/categories?post=4766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coincentral.com\/wp-json\/wp\/v2\/tags?post=4766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}