<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: marlowl</title>
    <description>The latest articles on Forem by marlowl (@marlowl).</description>
    <link>https://forem.com/marlowl</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F125377%2Fc88d8e3f-50eb-442d-8b25-2ccf90b23c7a.png</url>
      <title>Forem: marlowl</title>
      <link>https://forem.com/marlowl</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/marlowl"/>
    <language>en</language>
    <item>
      <title>Basic Ethereum Oracle example, including Oraclize, Truffle and Vue </title>
      <dc:creator>marlowl</dc:creator>
      <pubDate>Sun, 13 Jan 2019 12:13:03 +0000</pubDate>
      <link>https://forem.com/marlowl/basic-ethereum-oracle-example-including-oraclize-truffle-and-vue--9ha</link>
      <guid>https://forem.com/marlowl/basic-ethereum-oracle-example-including-oraclize-truffle-and-vue--9ha</guid>
      <description>&lt;h2&gt;
  
  
  What are Oracles
&lt;/h2&gt;

&lt;p&gt;An Oracle is, simply put, a smart contract that is able to interact with the outside world, in the world of Ethereum that is known as off-chain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;

&lt;p&gt;I didn't find a lot of examples on how to combine a front-end to a Ethereum oracle. So as a little side project I build a little starter pack. Hoping that it can serve as a starting point or example for other developers who want to play around with oracles!&lt;/p&gt;

&lt;p&gt;It gets the current ETH/USD price from the Coinbase API and pulls it into the smart contract&lt;/p&gt;

&lt;p&gt;The example includes the following technologies&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vue-cli 3.2.1&lt;/li&gt;
&lt;li&gt;TypeScript (class style components)&lt;/li&gt;
&lt;li&gt;Smart contract example &lt;/li&gt;
&lt;li&gt;Oraclize&lt;/li&gt;
&lt;li&gt;Truffle&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/marlowl"&gt;
        marlowl
      &lt;/a&gt; / &lt;a href="https://github.com/marlowl/ethereum-oraclize-starter"&gt;
        ethereum-oraclize-starter
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Basic Ethereum Oracle example, using Oraclize, Truffle, Vue and Web3 
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Ethereum Oraclize starter&lt;/h1&gt;
&lt;p&gt;Front-end is generated with &lt;a href="https://github.com/vuejs/vue-cli"&gt;vue-cli&lt;/a&gt; version 3.2.1&lt;/p&gt;
&lt;p&gt;Basic Ethereum Oracle example including Oraclize, Truffle, Coinbase API, Web3&lt;/p&gt;
&lt;h1&gt;
Demo&lt;/h1&gt;
&lt;p&gt;Get the current ETH/USD price from the Coinbase API through an Ethereum Oracle&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/marlowl/ethereum-oraclize-starter/master/demo.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TcWpx2fk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/marlowl/ethereum-oraclize-starter/master/demo.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
Project setup&lt;/h1&gt;
&lt;h3&gt;
Install dependencies&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Install Truffle (Works on the truffle version below, newer versions might get a compile error later on)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm install -g truffle@4.1.15
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Run Truffle develop (spawns a development blockchain)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;truffle develop
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Open a seperate terminal and run the ethereum-bridge (see package.json for what it does)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm run bridge
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wait till it is fully loaded and you see the following message&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Please add this line to your contract constructor
OAR = OraclizeAddrResolverI(address)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Compile the contract inside the Truffle develop console&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;truffle(develop)&amp;gt; compile
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Migrate the contract also inside the Truffle develop console&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;truffle(develop)&amp;gt; migrate --development --reset
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Get the contract address from the ethereum-bridge terminal&lt;/h3&gt;
&lt;p&gt;Output should be something like this&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    "contract_myid": "0x9fa87c542cab950bd129f3d2d13cba6199741bd1984351c04e83c54620dfee1b"
    "contract_address":&lt;/code&gt;&lt;/pre&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/marlowl/ethereum-oraclize-starter"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Enjoy!&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>vue</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Basic Vue dApp examples with Ethereum, Tron and Qtum</title>
      <dc:creator>marlowl</dc:creator>
      <pubDate>Wed, 02 Jan 2019 08:35:26 +0000</pubDate>
      <link>https://forem.com/marlowl/basic-vue-dapp-examples-with-ethereum-tron-and-qtum-16l7</link>
      <guid>https://forem.com/marlowl/basic-vue-dapp-examples-with-ethereum-tron-and-qtum-16l7</guid>
      <description>

&lt;h2&gt;
  
  
  So, What is a dApp?
&lt;/h2&gt;

&lt;p&gt;Typically associated with the Ethereum project, a decentralized application, or dApp, is an application that runs on a peer-to-peer network of computers, as opposed to a single computer. The key benefit of this is, users of the network do not depend on a central computer in-order to send and receive information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;I didn’t find a lot of Vue dApp examples, so as a little side project I build some starter packages with the hope that they can serve as examples, starting points or inspiration for other developers!&lt;/p&gt;

&lt;p&gt;All projects include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vue-cli 3.2.1&lt;/li&gt;
&lt;li&gt;TypeScript (class style components)&lt;/li&gt;
&lt;li&gt;End-to-end testing&lt;/li&gt;
&lt;li&gt;Unit testing&lt;/li&gt;
&lt;li&gt;Smart contract examples writtin in Solidity&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Ethereum
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg"&gt;&lt;a href="https://github.com/marlowl"&gt;marlowl&lt;/a&gt; / &lt;a href="https://github.com/marlowl/vue-truffle-starter-dapp"&gt;vue-truffle-starter-dapp&lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;Vue CLI Starter Dapp; Including TypeScript, Truffle 5 and Web3&lt;/h3&gt;
  &lt;/div&gt;
&lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
Vue Truffle Starter dApp&lt;/h1&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="logo.PNG"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NZraSPbm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/marlowl/vue-truffle-starter-dapp/master/logo.PNG"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This project was generated with &lt;a href="https://github.com/vuejs/vue-cli"&gt;vue-cli&lt;/a&gt; version 3.2.1&lt;/p&gt;

&lt;p&gt;An Vue &lt;a href="https://github.com/trufflesuite/truffle"&gt;truffle&lt;/a&gt; starter dApp. Write, compile &amp;amp; deploy smart contracts for Ethereum.&lt;/p&gt;

&lt;p&gt;Sample contract is deployed on the Ropsten testnetwork&lt;/p&gt;

&lt;h1&gt;
Demo&lt;/h1&gt;

&lt;p&gt;Update a value of a smart contract with your Ethereum wallet address&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="screenshot.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ald4zpCC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/marlowl/vue-truffle-starter-dapp/master/screenshot.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
Project setup&lt;/h1&gt;

&lt;p&gt;MetaMask and Infura account are both required for this project to work!&lt;/p&gt;

&lt;h3&gt;
MetaMask&lt;/h3&gt;
&lt;p&gt;I would like to refer to this &lt;a href="https://blog.bankex.org/how-to-buy-ethereum-using-metamask-ccea0703daec" rel="nofollow"&gt;article&lt;/a&gt; for a simple tutorial on how to setup MetaMask and get some free test Ether on your Ropsten account! After that you have your ETH address you need for the .env file&lt;/p&gt;
&lt;h3&gt;
Infura&lt;/h3&gt;
&lt;p&gt;Infura is a hosted Ethereum node cluster that lets you run your application without requiring them to set up their own Ethereum node or wallet. Register an account &lt;a href="https://infura.io/register" rel="nofollow"&gt;here&lt;/a&gt; and require your API key you need for the .env file!&lt;/p&gt;
&lt;h3&gt;
Get ganache-cli and truffle running on your environment&lt;/h3&gt;…&lt;/div&gt;
  &lt;/div&gt;
&lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/marlowl/vue-truffle-starter-dapp"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg"&gt;&lt;a href="https://github.com/marlowl"&gt;marlowl&lt;/a&gt; / &lt;a href="https://github.com/marlowl/vue-voting-dapp"&gt;vue-voting-dapp&lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;Simple voting dApp, using Vue CLI, Truffle and Web3&lt;/h3&gt;
  &lt;/div&gt;
&lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
Vue Voting dApp&lt;/h1&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/marlowl/vue-truffle-starter-dapp/blob/master/logo.PNG"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DTp3oGAu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/marlowl/vue-truffle-starter-dapp/raw/master/logo.PNG"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;This project was generated with &lt;a href="https://github.com/vuejs/vue-cli"&gt;vue-cli&lt;/a&gt; version 3.2.1&lt;/p&gt;
&lt;p&gt;An Vue &lt;a href="https://github.com/trufflesuite/truffle"&gt;truffle&lt;/a&gt; voting mechanism dApp.&lt;/p&gt;
&lt;p&gt;Sample contract is deployed on the Kovan testnetwork&lt;/p&gt;
&lt;h1&gt;
Demo&lt;/h1&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="screenshot.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nh2n9J1z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/marlowl/vue-voting-dapp/master/screenshot.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
Project setup&lt;/h1&gt;
&lt;p&gt;MetaMask and Infura account are both required for this project to work!&lt;/p&gt;
&lt;h3&gt;
MetaMask&lt;/h3&gt;
&lt;p&gt;I would like to refer to this &lt;a href="https://medium.com/singapore-blockchain-dapps/how-to-get-testcoin-from-ethereum-kovan-testnetwork-85c466d5b869" rel="nofollow"&gt;article&lt;/a&gt; for a simple tutorial on how to setup MetaMask and get some free test Ether on your Kovan account! After that you have your ETH address you need for the .env file&lt;/p&gt;
&lt;h3&gt;
Infura&lt;/h3&gt;
&lt;p&gt;Infura is a hosted Ethereum node cluster that lets you run your application without requiring them to set up their own Ethereum node or wallet. Register an account &lt;a href="https://infura.io/register" rel="nofollow"&gt;here&lt;/a&gt; and require your API key you need for the .env file!&lt;/p&gt;
&lt;h3&gt;
Get ganache-cli and truffle running on your environment&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm install -g truffle ganache-cli
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Start ganache-cli&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;ganache-cli
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After running this command you should be able to find your MNEMONIC…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/marlowl/vue-voting-dapp"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg"&gt;&lt;a href="https://github.com/marlowl"&gt;marlowl&lt;/a&gt; / &lt;a href="https://github.com/marlowl/vue-web3-wallet"&gt;vue-web3-wallet&lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;An Vue ganache starter wallet.  Send transactions between addresses on a local blockchain RPC server.&lt;/h3&gt;
  &lt;/div&gt;
&lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
Vue web3 wallet&lt;/h1&gt;
&lt;p&gt;      
  &lt;a rel="noopener noreferrer" href="https://github.com/marlowl/vue-truffle-starter-dapp/blob/master/logo.PNG"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DTp3oGAu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/marlowl/vue-truffle-starter-dapp/raw/master/logo.PNG"&gt;&lt;/a&gt;      
 &lt;/p&gt;
&lt;p&gt;This project was generated with &lt;a href="https://github.com/vuejs/vue-cli"&gt;vue-cli&lt;/a&gt; version 3.2.1&lt;/p&gt;
&lt;p&gt;An Vue &lt;a href="https://github.com/trufflesuite/ganache-cli"&gt;ganache&lt;/a&gt; starter wallet. Send transactions between addresses on a local blockchain RPC server.&lt;/p&gt;
&lt;h1&gt;
Demo&lt;/h1&gt;
&lt;p&gt;Send transactions between ganache-cli accounts&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="screenshot.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zp-Rjm1h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/marlowl/vue-web3-wallet/master/screenshot.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
Project setup&lt;/h1&gt;
&lt;h3&gt;
Install ganache-cli&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm install -g  ganache-cli
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Start ganache-cli&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;ganache-cli -p 7545
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Install dependencies&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Start dev server&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm run serve
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

  &lt;/div&gt;
&lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/marlowl/vue-web3-wallet"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;
  
  
  Tron
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg"&gt;&lt;a href="https://github.com/marlowl"&gt;marlowl&lt;/a&gt; / &lt;a href="https://github.com/marlowl/tron-starter-dapp"&gt;tron-starter-dapp&lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;A Vue based Tron example dApp with tronweb, tronlink, tronbox and vue-cli&lt;/h3&gt;
  &lt;/div&gt;
&lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
Tron starter dApp&lt;/h1&gt;
&lt;p&gt;      
  &lt;a rel="noopener noreferrer" href="logo.PNG"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IkKHp1bG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/marlowl/tron-starter-dapp/master/logo.PNG"&gt;&lt;/a&gt;      
&lt;/p&gt;

&lt;p&gt;This project was generated with &lt;a href="https://github.com/vuejs/vue-cli"&gt;vue-cli&lt;/a&gt; version 3.2.1&lt;/p&gt;

&lt;p&gt;A Vue based Tron example dApp with tronweb, tronlink, tronbox and vue-cli&lt;/p&gt;

&lt;h1&gt;
Demo&lt;/h1&gt;

&lt;p&gt;Update a value of a smart contract with your Tronlink wallet address&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="demo.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MpmUsVBV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/marlowl/tron-starter-dapp/master/demo.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
Project setup&lt;/h1&gt;

&lt;p&gt;A TronLink account is required for this dApp to work!&lt;/p&gt;

&lt;p&gt;Download Tronlink &lt;a href="https://chrome.google.com/webstore/detail/tronlink/ibnejdfjmmkpcnlpebklmnkoeoihofec" rel="nofollow"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get some free test TRX coins from &lt;a href="https://www.trongrid.io/shasta/" rel="nofollow"&gt;here&lt;/a&gt; to get some balance on your account&lt;/p&gt;

&lt;h3&gt;
Install dependencies&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Update the .env file&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;VUE_APP_SHASTA_PRIVATE_KEY="Your key"
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Run the development server&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm run serve
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;
Compile your own smart contracts&lt;/h1&gt;
&lt;p&gt;Add your smart contract to the /contracts folder&lt;/p&gt;
&lt;h3&gt;
Install tronbox&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;npm install -g tronbox
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Compile the contract&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;tronbox compile
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Migrate the contract&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;tronbox migrate --network shasta
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Change the current address to your deployed contract address&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;  let contractInstance = await tronWeb
      .contract()
      .at("Your deployed contract address");
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

  &lt;/div&gt;
&lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/marlowl/tron-starter-dapp"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;
  
  
  Qtum
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg"&gt;&lt;a href="https://github.com/marlowl"&gt;marlowl&lt;/a&gt; / &lt;a href="https://github.com/marlowl/qtum-starter-dapp"&gt;qtum-starter-dapp&lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;A Vue based Qtum example dApp with qtumjs, qtumportal, solar and vue-cli&lt;/h3&gt;
  &lt;/div&gt;
&lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
QTUM starter dApp&lt;/h1&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="logo.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bGLMDoyj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/marlowl/qtum-starter-dapp/master/logo.png"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This project was generated with &lt;a href="https://github.com/vuejs/vue-cli"&gt;vue-cli&lt;/a&gt; version 3.2.1&lt;/p&gt;

&lt;p&gt;An Vue &lt;a href="https://github.com/qtumproject"&gt;QTUM&lt;/a&gt; starter dApp.&lt;/p&gt;

&lt;h1&gt;
Demo&lt;/h1&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="demo.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ExnwtidK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/marlowl/qtum-starter-dapp/master/demo.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
Project setup&lt;/h1&gt;

&lt;p&gt;Most of this setup comes from the &lt;a href="https://github.com/qtumproject/qtumbook"&gt;Developer's Guide to QTUM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visit this repo for more and complete guides for developing QTUM dApps&lt;/p&gt;

&lt;h2&gt;
Install Docker &amp;amp; Node&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.docker.com/get-started" rel="nofollow"&gt;https://www.docker.com/get-started&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://nodejs.org/en/" rel="nofollow"&gt;https://nodejs.org/en/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
Download the latest qtumportal image&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;docker pull hayeah/qtumportal:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;
Deploy a Smart Contract&lt;/h2&gt;

&lt;p&gt;Start qtumd in regtest mode:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;docker run -it --rm \
  --name myapp \
  -v `pwd`:/dapp \
  -p 9899:9899 \
  -p 9888:9888 \
  hayeah/qtumportal
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Open a new terminal and enter into the container:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;docker exec -it myapp sh
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Generate some initial balance:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;qcli generate 600
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Let's generate an address to act as the owner.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;qcli getnewaddress
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Let's fund the owner address with 10 QTUM, to pay for gas when we deploy our contract later:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;qcli sendtoaddress address_from_previous_command 10
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Finally, we'll need to configure the deployment tool &lt;code&gt;solar&lt;/code&gt; to use this particular…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/marlowl/qtum-starter-dapp"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Enjoy!&lt;/p&gt;


</description>
      <category>vue</category>
      <category>javascript</category>
      <category>blockchain</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
