{"id":3616,"date":"2018-01-04T17:38:08","date_gmt":"2018-01-04T23:38:08","guid":{"rendered":"http:\/\/benincosa.com\/?p=3616"},"modified":"2018-01-05T12:02:24","modified_gmt":"2018-01-05T18:02:24","slug":"5-tools-to-get-started-developing-smart-contracts-on-ethereum","status":"publish","type":"post","link":"https:\/\/benincosa.com\/?p=3616","title":{"rendered":"5 tools to get started developing smart contracts on Ethereum"},"content":{"rendered":"<p>Ethereum changes pretty quickly in terms of developing environments.\u00a0 When I first started I just created my own private ethereum cluster and worked on that.\u00a0 Things have gotten a lot easier.\u00a0 Here&#8217;s how you get started:<\/p>\n<ol>\n<li>\u00a0<a href=\"https:\/\/remix.ethereum.org\">Remix <\/a>&#8211; This is your IDE or development environment.\u00a0 I&#8217;ve been using VIM and got a <a href=\"https:\/\/github.com\/tomlion\/vim-solidity\">solidity VIM plugin <\/a>as well.\u00a0 Remix is great because you can compile and troubleshoot some issues before deploying.\u00a0 There is a default ballot application to get you started.<br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3617\" src=\"http:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.16.06-PM-300x170.png\" alt=\"\" width=\"300\" height=\"170\" srcset=\"https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.16.06-PM-300x170.png 300w, https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.16.06-PM-768x435.png 768w, https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.16.06-PM.png 843w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/li>\n<li><a href=\"https:\/\/metamask.io\/\">Metamask<\/a> &#8211; This is a browser plugin that runs in Firefox or Chrome.\u00a0 It&#8217;s nice in that you can send and unlock ether and even buy from Coinbase or other places.\u00a0 It also protects you from going to malicious phishing sites which I may have gone to.\u00a0 Plus who doesn&#8217;t like the fox following you around while you do it.<\/li>\n<li><a href=\"https:\/\/github.com\/paritytech\/parity\">Parity<\/a> &#8211; This can be used in addition or instead of Metamask.\u00a0 It&#8217;s where you can keep a simple Ethereum test wallet for deploying contracts.\u00a0 This runs on your development machine (my Macbook Pro).\u00a0 It runs on Linux and Windows as well.\u00a0 To start out with you want to deploy it on the testnet.\u00a0 Start it as follows:\n<pre class=\"lang:sh decode:true \">parity --chain testnet<\/pre>\n<p>It&#8217;s pretty easy to get going with that.\u00a0 The snapshot looks as follows:<br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3618\" src=\"http:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.20.12-PM-300x66.png\" alt=\"\" width=\"300\" height=\"66\" srcset=\"https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.20.12-PM-300x66.png 300w, https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.20.12-PM-768x170.png 768w, https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.20.12-PM-1024x227.png 1024w, https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.20.12-PM.png 1519w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><br \/>\nThe current testnet is the Kovan testnet.\u00a0 If you&#8217;re on this network then to deploy contracts you&#8217;ll want test ether.\u00a0 How does one go about getting test ether?\u00a0 That is number&#8230;<\/li>\n<li>Get Test Ether (KETH) &#8211; While this may change in the future, currently you do it through gitter.im.\u00a0 Go to <a href=\"https:\/\/gitter.im\/kovan-testnet\/faucet\">https:\/\/gitter.im\/kovan-testnet\/faucet<\/a> and enter your public address and they&#8217;ll send you 5 KETH.\u00a0 You&#8217;ll have to login (with Github ID or something) to get going.<br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-medium wp-image-3619\" src=\"http:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.23.15-PM-300x74.png\" alt=\"\" width=\"300\" height=\"74\" srcset=\"https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.23.15-PM-300x74.png 300w, https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.23.15-PM-768x191.png 768w, https:\/\/benincosa.com\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-04-at-3.23.15-PM.png 903w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>Now you can get your stuff going.\u00a0 Nice.<\/li>\n<li><a href=\"https:\/\/www.myetherwallet.com\">MyEtherWallet<\/a> &#8211; Let&#8217;s suppose you write a contract.\u00a0 Then you want to interact with it and call functions, how can you do this?\u00a0 One easy approach is to go to <a href=\"https:\/\/www.myetherwallet.com\">https:\/\/www.myetherwallet.com<\/a> and select the test network or network you have deployed the contract to.\u00a0 From there you can select &#8216;Contracts&#8217;, put in your contract ID.\u00a0 From there you need to put in the ABI and then you can start calling the functions of the code.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>Bonus: <a href=\"http:\/\/solidity.readthedocs.io\/en\/develop\/\">The Docs<\/a>.\u00a0 You now have all the tools you need to get started.\u00a0 Now you need to know how to develop.\u00a0 Try creating your own contract by following and modifying some of the examples on the <a href=\"http:\/\/solidity.readthedocs.io\/en\/develop\/\">solidity documentation pages<\/a>.\u00a0 There are some nice <a href=\"https:\/\/www.youtube.com\/watch?v=v_hU0jPtLto\">YouTube videos<\/a> as well that help you learn solidity and help you become a solid programmer!<\/p>\n<p>Hopefully armed with these tools you can go forth and create all kinds of smart contracts for 2018.\u00a0 Wishing everyone a happy new year!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ethereum changes pretty quickly in terms of developing environments.\u00a0 When I first started I just created my own private ethereum cluster and worked on that.\u00a0 Things have gotten a lot easier.\u00a0 Here&#8217;s how you get started: \u00a0Remix &#8211; This is your IDE or development environment.\u00a0 I&#8217;ve been using VIM and got a solidity VIM plugin&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[826,853],"tags":[821,832,854],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3616"}],"collection":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3616"}],"version-history":[{"count":4,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3616\/revisions"}],"predecessor-version":[{"id":3623,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3616\/revisions\/3623"}],"wp:attachment":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}