I want to learn blockchain technologies.
If i want to develop a simple application in blockchain what are the technologies should be learnt. anyone can explain the flow of the learning.


what are the technologies should be learnt.

It depends if you really want to have a deep knowledge of the blockchain technology or just create applications on it.

If you want to understand the basics of the blockchain here is the bitcoin white paper :Bitcoin white paper (or here the ethereum yellow paper : ethereum yellow paper).

Those are technical explaination of how the blockchain works but those paper could appear too "gross". If you have some basics understanding of computer science but you find those paer too complicated : bitcoin mooc. This was a really good start for me and is more digest than the previous paper. There is also a lot of blogs and youtube videos explaining very well how the blockchain technology works.

Basicly this is what you have to know :

  • blockchain databases (hashes, asymetric cryptography, digital signature, merkle tree ...)
  • Consensus between user (block creation / block mining)
  • blockchain networking

i want to develop a simple application in blockchain

Well if you just want to do that on the ethereum platform learning how the blockchain works is not necessary. Creating peer-to-peer ether payment on a website / creating simple smart contract will not bring you deep down on the basics concept of the blockchain. On the contrary, the ethereum smart contract platfrom abstracts for you a lot of concepts. In reality to develop simple applications on ethereum (like wifi sharing payment) you just need to know the basics of Solidity (language to code smart contracts) and web3.js in interface the blockchain with javascript.

| improve this answer | |

I would say that the most developed development ecosystem for the Ethereum blockchain is Javascript.

There is the web3 javascript library as well as well as a number of libraries over on Github - ethereumjs.

In principle however you can utilise any programming language.

For interacting with a node you need to interface with JSON_RPC endpoints. A number of languages have libraries available which make this easy.

Generating address/signing transactions is more in depth and requires an understanding of cryptography (Keccak256, elliptic curves) and the various standards/formats that Ethereum uses. These are outlined in the yellow paper.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.