Book Image

Mastering Blockchain - Third Edition

By : Imran Bashir
Book Image

Mastering Blockchain - Third Edition

By: Imran Bashir

Overview of this book

Blockchain is the backbone of cryptocurrencies, with applications in finance, government, media, and other industries. With a legacy of providing technologists with executable insights, this new edition of Mastering Blockchain is thoroughly revised and updated to the latest blockchain research with four new chapters on consensus algorithms, Serenity (the update that will introduce Ethereum 2.0), tokenization, and enterprise blockchains. This book covers the basics, including blockchain’s technical underpinnings, cryptography and consensus protocols. It also provides you with expert knowledge on decentralization, decentralized application development on Ethereum, Bitcoin, alternative coins, smart contracts, alternative blockchains, and Hyperledger. Further, you will explore blockchain solutions beyond cryptocurrencies such as the Internet of Things with blockchain, enterprise blockchains, tokenization using blockchain, and consider the future scope of this fascinating and disruptive technology. By the end of this book, you will have gained a thorough comprehension of the various facets of blockchain and understand their potential in diverse real-world scenarios.
Table of Contents (24 chapters)
23
Index

Languages

Smart contracts can be programmed in a variety of languages for the Ethereum blockchain. There are six main languages that can be used to write contracts:

  • Solidity: This language has now become almost a standard for contract writing for Ethereum. This language is the focus of this chapter and is discussed in detail in later sections.
  • Vyper: This language is a Python-like experimental language that is being developed to bring security, simplicity, and auditability to smart contract development.
  • Yul: This is an intermediate language that has the ability to compile to different backends such as EVM and eWasm. The design goals of Yul mainly include readability, easy control flow, optimization, formal verification, and simplicity.
  • Mutan: This is a Go-style language, which was deprecated in early 2015 and is no longer used.
  • LLL: This is a Low-Level Lisp-Like Language, hence the name LLL. This is also no longer used.
  • Serpent: This is...