Creation and Deployment of Smart Contracts on Ethereum Blockchain. Dr. Hidaia Mahmood Alassouli

Чтение книги онлайн.

Читать онлайн книгу Creation and Deployment of Smart Contracts on Ethereum Blockchain - Dr. Hidaia Mahmood Alassouli страница 3

Creation and Deployment of Smart Contracts on Ethereum Blockchain - Dr. Hidaia Mahmood Alassouli

Скачать книгу

string fName;

       uint age;

       function setInstructor(string _fName, uint _age) public {

       fName = _fName;

       age = _age;

       }

       function getInstructor() public constant returns (string, uint) {

       return (fName, age);

       }

      }

       We have two functions, setInstructor() and getInstructor(). setInstructor accepts 2 parameters, _fName and _age. Once called, we set our string fName to the returned _fName, and same with age. Then, our getInstructor() function is defined as being constant, and it returns a string and a uint. This is where we return the fName and age variable once it's called. Click Deploy and under the red set Instructor button, type in: "Gary", 34 and click the button. Next, click on the getInstructor() button and you will notice it now returns the inputed value! This is how you set variables from user input in a smart contract.

      4. How to setup or install Ethereum on Windows

       Install chocolatey on windows . Go to "https://chocolatey.org/install" and copy window command or simply run below command to install chocolatey on windows

      @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

       Run below command to install Node Js

      choco install nodejs.install –y

       Or simply download the installer from "https://nodejs.org/en/download/" link

       Install Git. To install either run below command

      choco install git –y

       Or download the installer from "https://gitforwindows.org/" link.

       Install Visual Studio Code along with solidity extension. To install either run below command

      . choco install VisualStudioCode –y

       Or download the installer from "https://www.visualstudio.com/downloads/" link

       Install Python on Windows. To install either run below command

      choco install python –y

       Or download the installer from "https://www.python.org/downloads/" link.

       Open the visual studio consol. Go to extensions page. Install the solidity extension

       Install Python on Windows. To install either run below command

      choco install python –y

       Install Ganache on Windows. Download the installer from below link. http://truffleframework.com/ganache/

       Or install it from command line

      npm install –g ganache -cli

       What is ganache.When you develop application, that application will be held in application server. In case of Ethereum, the Ethereum blockchain will hold the smart contract. The blockchain is acting as application server. Ganache is simulation blockchain that runs locally in the system and simulate the Ethereum blockchin for you. It comes as GUI or command line.

       When you run ganache, you will see this image. You see many ether addresses. Each ether address has some ethereum on it.

Image

       Remix is IDE used to build smart contract. Remix web based IDE https://remix.ethereum.org

       Install IDE from git or npm using below command npm

      install remix-ide -g remix-ide git clone https://github.com/ethereum/remix-ide...

      cd remix-ide

      npm install

      npm run setupremix

      npm start

      5. How to compile and deploy smart contract on JavaScriptVM

       URL to open Remix IDE https://remix.ethereum.org

       When we compile the solidity code, we get byte code that we can deploy in Ethereum blockchain.

       Start new contract student.sol

       Below is smart contract code

      pragma solidity ^0.4.18;

      contract student {

       string name;

       uint age;

       function setStudentDetails(string _name, uint _age) public{

       name=_name;

       age=_age;

      }

       function getStudentDetails() public view returns(string, uint){

       return (name, age);

       }

      }

       We must deploy the smart contract on Blockchain. There are different blockchains available.Among them are: main net block chain and test net blockchains. Or we can deploy the smart conract on our self blockchain environment. We will use first to deploy smart contract on the inbuilt blockchain inside the Remix IDE which is Java Script VM.

Image

       To deploy the smart contract on Java Script VM blockchain, we need an account. We get bay default in Remix 5 accounts. But if we deploy the smart contract in Ethereum blockchain, we must

Скачать книгу