Ethereum Smart Contract Development
eBook - ePub

Ethereum Smart Contract Development

Mayukh Mukhopadhyay

Share book
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Ethereum Smart Contract Development

Mayukh Mukhopadhyay

Book details
Book preview
Table of contents
Citations

About This Book

Become an Ethereum Blockchain developer using a blend of concepts and hands-on implementationsAbout This Book• Understand the Ethereum Ecosystem and its differences from its rich cousin Bitcoin• Explore the Solidity programming language and smart contract optimizations• Get a developer's perspective of Blockchain-as-a-technology with exposure to common challenges faced while building decentralized applicationsWho This Book Is ForIf you want to know the ins and outs of the Ethereum network and build your own decentralized applications, then this book is what you need! This book is for anyone who is interested in blockchain and wants to become an Ethereum developer. It's ideal for existing Ethereum developers who want to develop Ethereum using smart contracts. Basic knowledge of cryptography is expected but is not mandatory.What You Will Learn• Know how to build your own smart contracts and cryptocurrencies• Understand the Solidity language• Find out about data types, control structure, functions, inheritance, mathematical operations, and much more• See the various types of forks and discover how they are related to Ethereum• Get to know the various concepts of web3.js and its APIs so you can build client-side apps• Build a DAO from scratch and acquire basic knowledge of DApps on Ethercast• Be guided through the project so you can optimize EVM for smart contracts• Build your own decentralized applications (DApps) by taking a practical approachIn DetailEthereum is a public, blockchain-based distributed computing platform featuring smart contract functionality. This book is your one-stop guide to blockchain and Ethereum smart contract development.We start by introducing you to the basics of blockchain. You'll learn about hash functions, Merkle trees, forking, mining, and much more. Then you'll learn about Ethereum and smart contracts, and we'll cover Ethereum virtual machine (EVM) in detail. Next, you'll get acquainted with DApps and DAOs and see how they work. We'll also delve into the mechanisms of advanced smart contracts, taking a practical approach.You'll also learn how to develop your own cryptocurrency from scratch in order to understand the business behind ICO. Further on, you'll get to know the key concepts of the Solidity programming language, enabling you to build decentralized blockchain-based applications. We'll also look at enterprise use cases, where you'll build a decentralized microblogging site.At the end of this book, we discuss blockchain-as-a-service, the dark web marketplace, and various advanced topics so you can get well versed with the blockchain principles and ecosystem.Style and approachThis comprehensive guide takes a practical approach by showing you how to implement Blockchain in different Enterprise use cases. You'll quickly brush up on the basics of the blockchain database, then learn the advanced intricacies of smart contract development.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Ethereum Smart Contract Development an online PDF/ePUB?
Yes, you can access Ethereum Smart Contract Development by Mayukh Mukhopadhyay in PDF and/or ePUB format, as well as other popular books in Computer Science & Databases. We have over one million books available in our catalogue for you to explore.

Information

Year
2018
ISBN
9781788472623
Edition
1

Hello World of Smart Contracts

This chapter is a hands-on guide for developing our first smart contract. As an unspoken tradition of software developers since the days of Dennis Ritchie, the creator of C language, we will start with a Hello World program. We will then introduce some basic increment, decrement, and loop operations using smart contracts. We walk through the process of creating our own private blockchain, right from the genesis block, and mining our own ethers. After studying this chapter, you will be able to:
  • Write your first Hello World smart contract
  • Code a contract with basic increment and decrement operation
  • Code a loop
  • Raise an issue on GitHub
  • Create a private blockchain and mine ethers to run a smart contract

A smart contract in seven lines of code

In this section you will learn to code your first smart contract in just seven lines of code (Loc), no hidden terms and conditions. And did I say that you do not need any special software, apart from your web browser, or to spend any real ethers from your pocket? Let's see. I am using Windows 7 (64 bit OS) and a Google Chrome browser:
  1. Open your Google Chrome browser and type remix solidity in Google, as show in Figure 3.1:
Figure 3.1: Google search for remix solidity online compiler
  1. Click the highlighted link in Figure 3.2. You can also type the following in your browser URL box to get to the website directly: http://remix.ethereum.org:
The present remix ethereum webpage is going through rapid changes and version increments. Meanwhile, and older yet stable version is provided to Solidity users for practice in the following link:
https://yann300.github.io/remix04/
    Figure 3.2: Remix—Solidity IDE
    1. Click the plus sign as marked in Figure 3.3 to create a new untitled Solidity (.sol) file.
    Figure 3.3 Untitled Solidity file in remix IDE
    Rename it HelloWorld.sol and confirm the renaming, as shown in Figure 3.4:
    Figure 3.4: Untitled.sol renamed to HelloWorld.sol
    1. Write the following seven lines of code in the HelloWorld.sol file, as shown in Figure 3.5:
    Figure 3.5: HelloWorld.sol
    Choose the JavaScript VM Environment option, as shown in Figure 3.6:
    Figure 3.6: JavaScript VM acting as a blockchain simulator
    1. Click the Create button, as highlighted in Figure 3.7. Voila! You just created your smart contract. The only caveat is that we would be simulating it on our local machine using in-memory, which mimics an Ethereum blockchain:
    Figure 3.7: Our first smart contract of 368 bytes
    1. To execute this contract, we press that myFirstHelloWorld button, as shown in Figure 3.8. We get the desired output: Hello World !
    Figure 3.8: Execution of myFirstHelloWorld function using a smart contract
    1. We can also explore the byte codes, which are generated as a result of this smart contract execution, by pressing the Launch debugger | Instructions or just by clicking the Contract details (bytecode, interface etc) link. Figure 3.9 depicts the 368 bytes of virtual machine code generated by the hello world smart contract execution:
    Figure 3.9: 368 bytes [000 to 367] of machine code for Hello World smart contract

    Remix in a nutshell

    So, what is this remix? In simple words, it is a browser-based Integrated Development Environment (IDE) for writing smart contracts in Solidity. It has an integrated compiler, a runtime virtual environment without any server-side component, an integrated debugger, an integrated testing environment, and a static code analysis tool. Previously, it used to be called Browser-Solidity. It can not only simulate a blockchain, but also highlights syntax and errors, hosts multiple Solidity files, and deploys contracts along with visible byte codes and application binary interface (ABI), of which details can be found in later chapters.
    However, I promised less theory and more hands-...

    Table of contents