Reader small image

You're reading from  Blockchain Development for Finance Projects

Product typeBook
Published inJan 2020
Reading LevelBeginner
PublisherPackt
ISBN-139781838829094
Edition1st Edition
Languages
Concepts
Right arrow
Author (1)
Ishan Roy
Ishan Roy
author image
Ishan Roy

Ishan Roy leads the Blockchain initiative at the Centre of Excellence for Emerging Technologies (CEET) at the Tamil Nadu e-Governance Agency (TNeGA). He is currently working on the Tamil Nadu Blockchain Backbone project. His foray into blockchain began in the year 2016, at the blockchain team at ICICI Bank. This team carried out the first blockchain remittance in India. Since then he has worked as the Head of Products at HashCash Consultants where he built blockchain-enabled financial solutions for global clients. He has also mentored students and industry veterans as a blockchain trainer with Edureka. He is extremely passionate about technology and loves to keep himself abreast of new developments in the field through the community
Read more about Ishan Roy

Right arrow

Preface

Blockchain technology will play a disruptive role in banking, finance services, and insurance (BFSI) in the coming years. Experts estimate annual savings of up to 20 billion dollars from this technology. This book will help you build fully fledged financial applications using blockchain, enabling you and your enterprise to build transparent and secure business processes.

This book will walk you through reimagining some of the most popular products and services of BFSI. The book starts with common blockchain concepts and the impact of blockchain technology in the BFSI sector. Next, we look at re-designing existing banking processes and building new financial applications using blockchain. This will be accomplished through eight detailed blockchain projects. You'll be guided through the entire process, from environment setup to building the frontend portals/dashboards along with the system integration and testing aspects for the applications. You will gain hands-on experience with Ethereum, Hyperledger Fabric, and Stellar. You will learn how to use ancillary platforms such as IPFS, the Truffle Suite, QpenZeppelin, and MetaMask to build applications as well.

By the end of the book, you will have an in-depth understanding of how to leverage distributed ledgers and smart contracts for financial use cases.

Who this book is for

This book is for blockchain/DApp developers and start-ups who are looking for a one-stop guide to building innovative and highly secure solutions in the FinTech domain using real-world use cases. It is also suitable for developers working in financial enterprises and banks and for solution architects looking to build brand-new process flows using blockchain technology. Working experience with Solidity and prior knowledge of finance/trade is required to get the most out of the book.

What this book covers

Chapter 1, Blockchain in Financial Services, introduces you to enterprise blockchain solutions for the BFSI sector. It briefly discusses the opportunities for implementing blockchain in the domain and the challenges that you might face when introducing the concept of blockchain in your organization. There is a discussion of the various most common implementation strategies, including coverage of the architecture models that are relevant for each strategy. Brief walk-throughs are given of Ethereum, Stellar, and Hyperledger Fabric and their relevant use cases for the domain.

Chapter 2, Building a Blockchain Wallet for Fungible and Non-Fungible Assets, looks at the blockchain wallet, which is the most integral part of any enterprise blockchain application. It can take many shapes and forms, such as a payment wallet, a digital identity card, a land title portfolio, or a stock portfolio. This chapter focuses on creating a blockchain wallet suited for multiple enterprise applications. You will learn how to create and deploy a smart contract wallet for fungible (ERC20), and non-fungible assets (ERC721). You will also learn how to implement the Web3js library as part of your blockchain application. The end goal is to create a fully functional peer-to-peer wallet using HTML, Node.js, and Solidity that is suitable for use cases beyond payment.

Chapter 3, Designing a Payment Gateway for Online Merchants, focuses on creating a merchant solution for online retailers. The solution will enable users to accept payments on a blockchain network akin to the leading fiat payment networks today. Special focus is given to push/pull payments, reconciliation, payment confirmation, and settlement on a blockchain platform. The technologies used are HTML, Node.js, and Solidity.

Chapter 4, Corporate Remittances and Settlement, focuses on the Hyperledger Fabric platform and its application in financial systems. You are given a walk-through on configuring the plug-and-play modules that make up the Hyperledger Fabric ecosystem. You will then be taught how to leverage them to create a permissioned blockchain network that can be used for B2B payments.

Chapter 5, Enabling Cross-Border Remittances with Real-Time KYC/AML Verification, focuses on creating a multi-currency cross-border remittance network using Stellar. Special focus is given to real-time document exchange, KYC/AML verification, Nostro account visibility, and integration with legacy banking systems.

Chapter 6, Building a Letter of Credit Workflow Module Using Smart Contracts, looks at smart contracts, which provide us with a foundation to build faster and efficient enterprise workflows. This is possible through automation and an immutable ledger accessible to all the stakeholders. This chapter looks at using Solidity smart contracts to build a more efficient letter of credit workflow. This knowledge can then be leveraged to design similar financial products, such as bank guarantees and smart contract-based insurance products

Chapter 7, Building a Tamper-Proof Record-Keeping and Document Management System, introduces you to the Hyperledger Fabric framework. You will be deploying your own chaincode and using it to build an immutable record management system. This system employs the power of the SHA256 algorithm and blockchain consensus to ensure that all records are tamperproof and can be reverted to their original state in the case of a cyber attack.

Chapter 8, Building a Decentralized Trading Exchange on Blockchain, explores decentralized exchanges, which aim to bring more transparency to the trading of assets and commodities. They eliminate the middleman and can thus ensure faster settlements. They also help control fraudulent practices such as price manipulation. This project looks at creating a price-time priority matching engine using Solidity smart contracts. This matching engine can then operate on a decentralized orderbook that can accept orders from all the participants on the network.

Chapter 9, Developing a Currency Trading Exchange for Market Making, looks at leveraging the market maker module of the Stellar platform to create a currency swap exchange. This currency swap exchange operates in real time and can be used either as an asset trading platform or to provide liquidity for cross-currency cross-border remittances.

Chapter 10, Looking into the Future, provides a short summary of the skills you will have acquired in your journey through the book. It also talks briefly about how we see blockchain technology evolving and the new concepts on the horizon that you might want to look at.

Chapter 11, Appendix: Application Checklist, This chapter provides step-by-step instructions for setting up an Ethereum, Stellar, and Hyperledger Fabric development and production environment. This is a pre-requisite for the aforementioned projects. This chapter also focuses on enterprise security and scalability essentials for implementing a blockchain application in a live production scenario. A basic checklist is provided with respect to design, development, testing, and deployment.

To get the most out of this book

The following is what you will need to get the most out of this book:

  • Elementary to moderate knowledge of Ethereum and Solidity
  • Elementary knowledge of Hyperledger Fabric and Stellar
  • Moderate knowledge of JavaScript and Node.js
  • Elementary knowledge of ReactJS

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the Support tab.
  3. Click on Code Downloads.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Blockchain-Development-for-Finance-Projects. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Now, let's create a simple wallet app in react.js to manage tokens."

A block of code is set as follows:

import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol";
import "openzeppelin-solidity/contracts/token/ERC20/ERC20Capped.sol";
import "openzeppelin-solidity/contracts/ownership/Ownable.sol";

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

const HDWalletProvider = require('truffle-hdwallet-provider');

module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*",
}
prod: {
host: "<Live geth host IP>",
port: 8545,
network_id: "1",
}
},
compilers: {
solc: {
version: "0.5.2",
settings: {
optimizer" {
enabled: false,
runs: 1000,
},
}}}}}

Any command-line input or output is written as follows:

truffle console

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Click on the GreenGables Bank button to log in as a bank user."

Warnings or important notes appear like this.
Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at customercare@packtpub.com.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at copyright@packt.com with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Blockchain Development for Finance Projects
Published in: Jan 2020Publisher: PacktISBN-13: 9781838829094
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Ishan Roy

Ishan Roy leads the Blockchain initiative at the Centre of Excellence for Emerging Technologies (CEET) at the Tamil Nadu e-Governance Agency (TNeGA). He is currently working on the Tamil Nadu Blockchain Backbone project. His foray into blockchain began in the year 2016, at the blockchain team at ICICI Bank. This team carried out the first blockchain remittance in India. Since then he has worked as the Head of Products at HashCash Consultants where he built blockchain-enabled financial solutions for global clients. He has also mentored students and industry veterans as a blockchain trainer with Edureka. He is extremely passionate about technology and loves to keep himself abreast of new developments in the field through the community
Read more about Ishan Roy