Home > Academy

View in Pfd
Introduction to Blockchain & Cryptocurrency

A blockchain is essentially a distributed database of records or public ledger of all transactions or digital events that have been executed and shared among participating parties. Each transaction in the public ledger is verified by consensus of a majority of the participants in the system. And, once entered, information can never be erased. The blockchain contains a certain and verifiable record of every single transaction ever made.

Bitcoin, the decentralized peer­to­peer digital currency, is the most popular example that uses blockchain technology. The digital currency bitcoin itself is highly controversial but the underlying blockchain technology has worked flawlessly and found wide range of applications in both financial and non­financial world.

Think of “blockchain technology” as a collection of technologies, a bit like a bag of Lego. From the bag, you can take out different bricks and put them together in different ways to create different results.

Blockchain technology and some compelling specific applications in both financial and non­financial sector. We then look at the challenges ahead and business opportunities in this fundamental technology that is all set to revolutionize our digital world.

Background of cryptocurrency  
View in Pfd
What is Bitcoin?

Say there is a coin that is currently worth thousands of US dollars but that is not made of Gold or Platinum or any precious metal. In fact, it’s not the kind of coin you can hold in your hand or stuck it in a piggy bank, it’s a digital currency that means it only exist electronically. It doesn't work like most money. It isn't attached to a state or government so it doesn't have a central issuing authority or a regulatory body.  There is no particular organization or institution deciding when to make more Bitcoins  figuring out how many to produce keeping track of where they are or investigating fraud.


In simple words, Bitcoins are like the rewards for a correct answer to a math problem. Where the problem and the answer are entirely unique. There will be a limit of about 21 million of these special solution rewards known as the “Bitcoin. Bitcoin is represented as BTC or 1 BTC is 1 Bitcoin. The best part is that we can deal with 0.1 BTC, 0.01 BTC as we would with say U.S. dollars. $0.01 USD is also known as 1 cent. Similar for Bitcoins though, it has software behind it that allows for a very small denomination of a Bitcoin that looks a tad scary: 0.00000001 BTC. Or 100 millionth of a Bitcoin.


So how does Bitcoin work as a currency? Well, Bitcoin wouldn't exist without a large network of people and a Programming language called Cryptography. Bitcoin is a fully digital currency and you can exchange bitcoins between computers and a worldwide peer-to-peer network. The whole point of most peer-to-peer network is sharing stuff like copies of super legal music or movies to download. If bitcoin is a digital currency what’s stopping you from making you a bunch of counter fit copies and becoming fabulously wealthy? That is because unlike an mp3 or a video file a bitcoin isn't a string of data that can be duplicated.


A bitcoin is actually entry on a huge global ledger called the block chain. Block chain records every bitcoin transaction that has ever happened till this moment. The complete ledger is about 200 GB of data.  So when you send someone some bitcoins, it’s not like you are sending them a bunch of files. You are basically writing the transaction down on that big ledger. This ledger is not centralized to any bank and it is completely decentralized. Anybody can volunteer to keep the blockchain up to date with all the new transactions that happened and a lot of people do. It all works because there are lots of people keeping a track of the same thing, to make sure all transactions are accurate. 

How does it work?  
View in Pfd
What is Money Management?

Money Management also known as Investment management or Portfolio Management can be defined as a process in which investors budget, save and invest their capital usage. It is a protective concept that keeps your funds secure so you can trade another day and underpins profitable performance. It is the art of managing capital by applying strong capital risk management. Money Management is the second most important part in trading right after trading psychology. But a lot of novice traders often wouldn’t pay much attention to it and neglect it by only focusing on gains and technical analysis. But in the world of trading financial markets it is after all very important to know how to manage your capital. Money Management is a vital element of trading the most volatile financial markets like Forex and Cryptos. On a basic level it tells you that if you have enough new capital to trade additional positions. Money Management is an important factor that differentiates success and failure especially when using leverage.

Why is Money Management important?  
View in Pfd
Importance of Psychology in trading

It is basically defined as a scientific study of the human brain and the way it functions. This is with respect to those functions of the mind, which affects the behavior of a person in any given context. It can also be defined as the metal characteristics like attitude of a person towards something, the way they think etc. Psychology won’t just give us an understanding of how a person thinks consciously. It is also a study of unconscious or subconscious phenomenon. Hence, it is an overall study of the mind, which is not just limited to basic thinking and beliefs of a person but also the beliefs and deep-rooted perceptions.

Importance of Psychology in trading

Trading is one of those fields where Psychology plays a very important role. We can say that the basic Psychology of the trader can decide his/her fate in this field. Psychology in trading refers to the way a trader perceives on what is happening in the financial markets and how these perceptions can be influenced by their attitude and emotions. There is a general perception that majority of the traders goes through same set of emotions while they trade but that is definitely not true. If that is the case there won’t be a staggering difference between the traders who are making a lot of money and who are losing a lot of money. A lot of traders believe that a reliable and tested trading system alone can lead them to success in financial markets. They spend almost all of their efforts, time and energy around figuring out these reliable, standard and proven techniques. So they hardly pay attention to their discretion ability and their emotional awareness. These are the important factors that decide ones success in the market. Therefore, paying zero attention to overcome psychological barriers like emotional extremes and fear of failure will only lead them to failure. Almost always these emotional extremes are the factors that obstruct traders in properly analyzing the market.

The number of individuals failing in this industry is huge. People who force themselves in the world of Forex trading or Crypto trading eventually fail. This is because of their unrealistic expectations. They tend to believe that trading in the Crypto and Forex market for very few months will enable them to leave their full-time jobs. They expect for their money they invested to grow from $1000 to $100,000 in a matter of months. These unreal expectations construct a completely incorrect mindset, which results in running behind the thirst to make profits. As this thirst builds up, a trader unavoidably becomes controlled entirely by their emotions, which is a sure shot way to go broke. It is this exact combination of wrongly defined trading objectives and the unrealistic expectations, which results in the utter failure of their trading career.

Finding Solutions within the problems  
View in Pfd
What is Technical analysis and its history

In finance, technical analysis is a security analysis discipline for forecasting the direction of prices through the study of past market data, primarily price and volume. Behavioural economics and quantitative analysis incorporate substantial aspects of technical analysis, which being an aspect of active management stands in contradiction to much of modern portfolio theory.  

Technical Analysis can be derived into two types. 
1. Price Action – In this the trader will look at only price rather using indicators and oscillators. Trader might take help of the psychological levels like Supply and Demand, Support and Resistance.
2. Price Action with Indicators and Oscillators – In this trades will take help of the price action like chart patterns and some of the indicators which are back tested by major traders across the globe. 
The principles of technical analysis derive from the observation of financial markets over hundreds of years. In Asia, the oldest example of technical analysis is thought to be a method developed by Homma Munehisa during early 18th century which evolved into the use of candlestick techniques, and is today a main charting tool. During 1920s and 1930s Richard W. Schabacker published several books which continued the work of Dow Theory. It is exclusively concerned with trend analysis and chart patterns and remains in use to the present. As is obvious, early technical analysis was almost exclusively the analysis of charts, because the processing power of computers was not available for statistical analysis.  
Dow Theory is based on the collected writings of Dow Jones co-founder and editor Charles Dow, and inspired the use and development of modern technical analysis from the end of the 19th century. Many more technical tools and theories have been developed and enhanced in recent decades, with an increasing emphasis on computerassisted techniques.  

Technicians say that a market's price reflects all relevant information, so their analysis looks at the history of a security's trading pattern rather than external drivers such as economic, fundamental and news events. Price action also tends to repeat itself because investors collectively tend toward patterned behaviour – hence technicians' focus on identifiable trends and conditions.  
Market action discounts everything  
Based on the premise that all relevant information is already reflected by prices, technical analysts believe it is important to understand what investors think of that information, known and perceived. 

Prices move in trends and Rule-based trading  
Is Bitcoin anonymous payment?
What is a Bitcoin wallet?
What happens if I lose my Bitcoins?
Who is in charge of Bitcoin?
Why is Bitcoin price so volatile?
Can I trade Bitcoin without an exchange?
What is a public key?
Is Bitcoin legal?
Why should I trust Bitcoin?
Is Bitcoin useful for criminal activities?

Building DApps using Web3.Js

The wave of the revolution created by Blockchains and smart contracts have been enormous and innumerable. Already, Blockchain applications are increasingly being leveraged to cure the challenges related to financial contracts, e-commerce, logistics, banking transactions, supply chain systems, legal contracts, and among others.


In the past, reliance on classical contracts often led to massive inefficiencies, delays in transactions, and exposure to fraudulent actions. Ever since Ethereum was unveiled by Vitalik Buterin as a global, public, Blockchain for executing smart contracts, many organisations that have deployed it have minimised the inefficiencies that were being witnessed earlier.


Ethereum was unveiled as a revolutionary platform for executing smart contracts and DApps (Decentralised Applications). At the time, Bitcoin—the first P2P and decentralised cryptocurrency based on Blockchain— could not solve the major problems that companies were facing emanating from contractual obligations because it was only used as a medium of exchange.


In a sense, Blockchain has help organisations reduce risks and promote efficiency in their operations across so many sectors. However, these benefits can only be achieved if a critical pool of developers—who understand how to develop smart contracts and Decentralised Apps (DApps)—exist to allow organisations to tap into this breakthrough technology.


This tutorial serves as a guideline for engineering Ethereum smart contracts. To fast-track the learning process, the tutorial will be split into 5 milestones:

    1. Understanding the Blockchain basics

          2. Create the first smart contract in Ethereum;

          3. Testing the smart contracts;

          4. Creating the user interface for the smart contract using ReactJS; and

          5. Deploying smart contracts

Understanding Blockchain Basics  
What do you understand by the term node as used in Ethereum?
Describe 3 main types of Ethereum networks
Describe 2 ways that a user in Ethereum network can interact with the network
Why would an organisation need a private network?
How would one view the details about his/her Ethereum transactions on the public network and private network?
Describe 3 ways that one can use to connect to a node in Ethereum
How can one connect to the geth client?
What are the 3 RPC APIs that are always enabled by default?
What do you understand by the abbreviation ABI?
What is the difference between a smart contract and a DApp?
What exactly is a Metamask?
It is a fact that some methods cost money while others don’t. Why do you think this is the case?
What do you think will happen if you try to execute a smart contract that costs more than the specified gas?
What is EVM?
How can you start using Solidity to program smart contracts?
Describe the 3 basic components of a Remix IDE interface
Describe 3 main components of Runtime Environment in Remix IDE
What is an instance of a smart contract?
What is the significance of the following line in Solidity?
Describe 3 basic components of a contract in Solidity
What do you will happen if you try to put multiple contract definitions into a one Solidity file?
What do you will happen when you try to deploy a file having multiple smart contracts?
Sam has a huge project. How would you advise him if he asked you that he wanted to maintain all his related smart contracts in one file?
What is the difference between the EVM and non-EVM calls?
How can you set a limit on the ether balance of a smart contract? What do you think will happen if you try sending more ether to a limited smart contract?
Suppose you have a front end application (normal website), what will you require to connect such an application to the smart contract (backend)?
Why do you think it is necessary to always check whether a web3 provider is set at the start of the DApp code?
Suppose you want to list accounts in Web3 Provider, how can you proceed?
Describe any 4 components of VueJS
Describe some of the life cycle hooks of VueJS instance
What is the major difference between the v-show and v-if directives?
What do you think will happen if you try to render the same input element in both v-else and v-if statement blocks?
It is not advisable to use if and for directives together on the same element. Why do you think this is the case?
VueJS has both computed properties and methods. What is the major difference between them?
How can you use $parent in VueJS?
Why is local registration important in VueJS?

HyperLedger is a Blockchain platform that was launched by the Linux Foundation and backed by IBM. It is essentially an open-source project that you can use to develop permissioned (private) Blockchain-based business networks. In such a network, the entities and roles of each participant are clearly known in advance. 

Unlike public Blockchains such as Ethereum where any node can participate in the network, HyperLedger Fabric is a permissioned Blockchain where the authority has near-complete control of how users participate in the network[1]. For any node to participate in the network, such a user has to be granted certification from the organization.

In Ethereum, node identity is managed by public and private keys which are randomly generated via a seed phrase. In HyperLedger Fabric, node identity is established via certificates which use private and public keys.  To establish consensus, HyperLedger Fabric relies on trusted nodes who are designated via proof of authority. This requires a Membership Service Provider that grants certificates to nodes and no transaction fees are needed for validation of transactions.

In public Blockchains such as Ethereum, the consensus is achieved via the proof-of-stake algorithm where any node can undertake the task. In such a process, users have to pay some fees for any transaction to be appended to the Blockchain.

Structure of HyperLedger Fabric  
HyperLedger Question and Answer
How many peers are required in a Fabric network to validate a given transaction?
Will a client require to join to all the peers for transactions to be validated?
How does the application client ascertain the outcome of a given transaction?
How do Fabric allow its users to query the ledger?
Suppose I want to query the entire historical database, how can I achieve such an operation in Fabric?
How can I guarantee that what I’m querying is correct in a Fabric network?
What is the YAML file in the context of Hyperledger Fabric and the Docker containers?
Question: How does HyperLedger Fabric facilitate smart contract logic in its network?
How can I create business contracts in a Fabric network?
What are the two most important aspects of Hyperledger Fabric Ledger Fabric?
How can I create the assets in a Fabric network?
Which languages support the development of chaincodes?
Is there a native currency in Hyperledger Fabric?
HyperLedger has various versions. Where can I obtain the latest version and the differences between the versions?
Where can I get assistance in case I have a technical question regarding the development of chaincodes?
What default database does Hyperledger Fabric use?
Suppose I have an ordering service which is currently executing, how can switch consensus?
What is an Orderer channel in a Fabric network?
Suppose I update the application channel, should I also update an Orderer channel?
Can an organization act as in an ordering agent and application agent?
How can I write a consensus for a Fabric network?
How can I modify my ordering service configurations such as batch timeout after starting the Fabric network?
How can I deploy a Solo architecture in the production of chaincodes?
How can I remove a given node from an ordering service in a Fabric network?
How can I use the Kafka-based ordering service to deploy a Kafka/ZK CLUSTER?
Where can I obtain the Docker composition for Fabric networks that leverages Kafka-based ordering services?
The Kafka-based ordering service always provides a ZooKeeper dependency. Why is this so?
I’m attempting to follow the BYFN examples and I keep on getting a “service unavailable” message. What am I doing wrong?
When stable BFT version should I use for an ordering service?
How can transactions be validated in a Fabric network in cases where not all the nodes are online?