As the appearance of bitcoin and ethereum, blockchain become a new platform for programing. Programmers now can use Solidity( a javascript-like language) or LLL to coding many intresting smart contracts (a.k.a electronic contracts) on blockchain. Trust and Value now are transferred by cryptographic mathematics on blockchain, not other traditional 3rd party.