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

Creation and Deployment of Smart Contracts on Ethereum Blockchain E-Book

Dr. Hidaia Mahmood Alassouli

0,0

Beschreibung

This work explains briefly the creation and deployment Of Smart Contract on Ethereum Blockchain. The work consists from the following sectionsBlockchainSolidity variables and types How to Setup or Install Ethereum on WindowsHow to compile and deploy smart contract on JavaScriptVMHow to install Ganache Blockchain on Windows and deploy smart contract using it.How to compile and deploy Smart Contract on Test Networks,Quick example of deploying ERC20 token smart contract.Getting started tutorial on SolidityCreating ERC-20 smart contract and crowd sale (ICO) smart contract without coding ERC-20 smart contract and crowd sale (ICO) smart contract:Creating Ethereum ERC-20 Tokens and Crowd Sales (ICO) without coding with Token Wizard:Example of creating and deploying an ERC20 token on the test and main network!!!

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 64

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.


Ähnliche


Creation and Deployment of Smart Contracts on Ethereum Blockchain

By

Dr. Hidaia Mahmood Alassouli

[email protected]

1. Overview:

This work explains briefly the creation and deployment Of Smart Contract on Ethereum Blockchain. The work consists from the following sections

Blockchain

Solidity variables and types

How to Setup or Install Ethereum on Windows

How to compile and deploy smart contract on JavaScriptVM

How to install Ganache Blockchain on Windows and deploy smart contract using it.

How to compile and deploy Smart Contract on TestNetworks,

Quick example of deploying ERC20 token smart contract.

Getting started tutorial on Solidity

Creating ERC-20 smart contract and crowd sale (ICO) smart contract without coding

ERC-20 smart contract and crowd sale (ICO) smart contract:

Creating Ethereum ERC-20 Tokens and Crowd Sales (ICO) without coding with Token Wizard:

Example of creating and deploying an ERC20 token on the test and main network!!!

2. Blockchain:

A blockchain is a digital record of transactions. The name comes from its structure, in which individual records, called blocks, are linked together in single list, called a chain. Blockchains are used for recording transactions made with cryptocurrencies, such as Bitcoin, and have many other applications.

Each transaction added to a blockchain is validated by multiple computers on the Internet. These systems, which are configured to monitor specific types of blockchain transactions, form a peer-to-peer network. They work together to ensure each transaction is valid before it is added to the blockchain. This decentralized network of computers ensures a single system cannot add invalid blocks to the chain.

When a new block is added to a blockchain, it is linked to the previous block using a cryptographic hash generated from the contents of the previous block. This ensures the chain is never broken and that each block is permanently recorded. It is also intentionally difficult to alter past transactions in blockchain since all the subsequent blocks must be altered first.

Blockchain Uses:

While blockchain is widely known for its use in cryptocurrencies such as Bitcoin, Litecoin, and Ether, the technology has several other uses. For example, it enables "smart contracts," which execute when certain conditions are met. This provides an automated escrow system for transactions between two parties. Blockchain can potentially be used to allow individuals to pay each other without a central clearing point, which is required for ACH and wire transfers. It has potential to greatly increase the efficiency of stock trading by allowing transactions to settle almost instantly instead of requiring three or more days for each transaction to clear. Blockchain technology can also be used for non-financial purposes. For example, the InterPlanetary File System (IFPS) uses blockchain to decentralize file storage by linking files together over the Internet. Some digital signature platforms now use blockchain to record signatures and verify documents have been digitally signed. Blockchain can even be used to protect intellectual property by linking the distribution of content to the original source.

Blockchain is decentralized database that consists from records and data. The entire data is spread out in bounch of distributed computers to end to be pear to pear p2p network. The records in these databases are stored in form of blocks which linked together in secured way.

The bitcoin blockchain stores data specific to keep track of crypto currencies balances between different parties.

Ethereum block chain can store much more deep data than bitcoin block chain. Ethereum block chain allows building decentralized apps. These decentralized apps defined by smart contracts. So smart contract allows individuals to exchange information in trusted confident free manner without relying on third party as bank or lawyer or other way. So these Ethereum smart contracts stored in special transections in Ethereum blockchain which can be used then to build applications. So you can think on smart contracts as decentralized api's. As smart contracts stored in Ethereum blockchains, they need to be validated or mined as any other transactions. So there is small costs associated with deploying smart contracts.

How to code smart contract. We do that with solidity. Solidity is a code used. Solidity is a language used to code smart contract. And syntax is similar to java script and is designed with Ethereum virtual machine in mind. So we will use solidity to create smart contract in web based ide called remex

3. Solidity variables and types

You can write the solidity and test code in https://remix.ethereum.org/.

Here screen of https://remix.ethereum.org

Create new contract. I called it Coursetro.

Start off by writing (or pasting) the following code:

pragma solidity ^0.4.18;

contract Coursetro {

}

The very first line defines the version of solidity you're going to use.

Next, you define the contract and its name and open it up like a JavaScript class.

On the right side of the browser under the Run tab, you will see a Deploy button. Click on this. You will notice that underneath the Deploy button shows a new section with the name of the contract and "at 0x..." (memory):

This means that the smart contract (yes, it's not very smart at this point) lives at an address. To see this full address along with other information, in the debugger if you click on the

Details

 button, it will provide you with more information:

Notice there's a

contractAddress

, this is where the smart contract actually lives. No, it's not live on the Ethereum Blockchain because right now, we're simply working within the Javascript EVM.

Also notice

gas

. Every time a contract is deployed and modified, nodes on the Ethereum network must verify the contract. It's referred to as being redundantly parallel, as a way to reach consensus.Gas is the name for the execution fee that senders of transactions (in our case, senders of a smart contract transaction) will pay for verification.

Elaborating on this further

, from etherdocs.org:

"Gas is the name for the execution fee that senders of transactions need to pay for every operation made on an Ethereum blockchain. The name gas is inspired by the view that this fee acts as cryptofuel, driving the motion of smart contracts. Gas is purchased for ether from the miners that execute the code. Gas and ether are decoupled deliberately since units of gas align with computation units having a natural cost, while the price of ether generally fluctuates as a result of market forces. The two are mediated by a free market: the price of gas is actually decided by the miners, who can refuse to process a transaction with a lower gas price than their minimum limit. To get gas you simply need to add ether to your account. The Ethereum clients automatically purchase gas for your ether in the amount you specify as your maximum expenditure for the transaction."

In Solidity, you define a variable by first specifying its type.

What other types are there?

bool

This is a Boolean, which returns true or false.

int / uint

Both int and uint represent integers, or number values. The primary difference between int and uint (Unsigned Integer), is that int can hold negative numbers as values.

address

The address type represents a 20 byte value, which is meant to store an Ethereum address. Variables that are typed as address also have members, including balance and transfer.

bytes1 through 32

This is a fixed-size byte array.

bytes

A dynamically-sized byte array.

string

A dynamically signed string.

mapping

Hash tables with key types and value types. We will look at mappings more in depth later on in the course.

struct

Structs allow you to define new types. We will also cover this more in depth shortly.