Web3の技術としてブロックチェーンは重要になります。
ブロックチェーンのスマートコントラクトを活用したDApps(分散アプリケーション)を開発するにはプログラム環境が必要になります。
今回はスマートコントラクトが記述できるプログラミング言語のSolidityを紹介します。
ブロックチェーンで有名なところでは仮想通貨のビットコインがあります。
ビットコインはDAppsの概念をたった数ページのホワイトペーパーで実現した素晴らしい技術です。
新しいブロックチェーンを構築するには仕組み上に相当数の参加者が事前に必要なるため既存のブロックチェーンを使用したいが、ビットコインのブロックチェーンを活用する場合は設計の制限に従う必要があるため提供するサービスの幅が狭まります。
そこで、DAppsのサービスを開発する目的でEthereumという分散アプリケーションプラットフォームが誕生しました。
SolidityはEthereumでスマートコントラクトを実行できるイーサリアム仮想マシン(EVM : Ethereum Virtual Machine)のプログラミング言語です。
仮想通貨の他にブロックチェーンに書き込まれた内容はデータ変更ができず透明性が優れているため投票や自動売買といった改竄されたくないサービスに応用できます。
Solidityを学習する方法としてCryptoZombiesというサイトにて無料で学習できます。
他にはEthereum入門サイトのコントラクト指向言語Solidity詳解サイトが参考になります。