コントラクト言語のSolidityを深ぼって解説!

現在のブロックチェーン開発においてEthereum(イーサリアム)上でスマートコントラクトを実装しようと考えた際、『Solidity』というプログラミング言語を用いて開発を行なっていきます。
Solidityに関しては以前プログラミング言語の解説記事でも触れていますので、ぜひそちらも参考にしてみてくださいね!
今回はそんな『Ethereum(イーサリアム)』や『スマートコントラクト』と切っても切り離せないような関係にあるプログラミング言語『Solidity』について、開発された背景と共に一緒に見ていきましょう!
– Solidityの歴史 –
Solidityの原型となる言語の出現は2014年8月になります。Gevin Wood(ギャビン・ウッド)というEthereum共同創業者が提唱しました。
その後、EthreumプロジェクトのSolidityチームによって現在のプログラミング言語としての『Solidity』が開発されました。
– Solidityの特徴 –
Solidityは簡潔には『Ethereum(イーサリアム)上で実行可能なプログラミング言語』となります。
では、詳しく分解するとどのような特徴を持っているのでしょうか?
1, Javascript言語との類似性
Solidityの構文特性として Javascript言語との類似があります。
これはSolidityがJavascriptを元に開発されたという背景があるからなのです。
Javascriptとは現在世界で最も使用頻度の高い言語の一つとなっており、その扱い易さや汎用性の高さから多く
のフレームワークやライブラリが存在します。
Javascriptと類似点が多いということは、Solidityを習得することも難易度がとても高いという訳ではないの
す!
2, コントラクト指向である
Solidityはコントラクト指向な言語であると表現されます。コントラクト指向とは何なのでしょうか?
コントラクト指向とは「特定の取引を処理、実行させることを目的とした言語 」のことを指します。
Solidityはその開発背景からも分かる通りEthereum(イーサリアム)の取引を正常に処理実行させること
(スマートコントラクトの構築) に特化しているのです。
3, 高水準言語(高級言語)である
Solidityは高水準言語(高級言語)に分類されるのですが、プログラミングにおける『高水準』とは一体どのような
意味なのでしょうか?
高水準言語(高級言語)とは『人間』に理解しやすいように作られている言語の事を指します。
『人間』が理解しやすい事でプログラミングの記述が行いやすくなっています。
現在のプログラマのほとんどがこの高水準言語(高級言語)を用いています。
また、対義言語として低水準言語(低級言語)があります。
低水準言語(低級言語)は機械が理解しやすい「機械寄りの言語」となっており代表例として『アセンブリ言語』が
あります。
低水準言語(低級言語)を利用するメリットとして、より機械に直接的に命令することが可能ですので処理速度が
高速であることが挙げられます。
※プログラミング用語において高級、低級で優劣がある訳ではなく、単に人間が理解しやすいかどうかという点
だけですのでご注意ください。
– 学習方法 –
ではSolidityを学習してみたい!と思った時にどのように学習を行えばよいのでしょうか?
メジャーな言語でしたら、書籍や動画でも沢山ありますので学習の取り掛かりにはつまずかないかもしれません。しかしSolidityは名称こそ耳にすることはあれど、日本語で学習できる環境はまだまだ整ってはいないのが現状です。
そんな中でもSolidityを学習してみたいという方向けに、初心者でも取り掛かりやすい学習サイトを一つご紹介します。
■ CryptoZombie(クリプトゾンビ)
CryptoZombie(クリプトゾンビ)は、暗号からゾンビを生み出していくゲーム感覚のSolidity学習サイトです。
オンライン上で簡単に遊び感覚で取り組むことができ、尚且つ途中までは日本語にも対応しています。
すぐにゲーム開始できますので気になる方は一度挑戦してみてくださいね!
※ CryptoZombie(クリプトゾンビ) 公式サイト
https://cryptozombies.io/jp/
– おわりに –
今回はEthereum(イーサリアム)上でのスマートコントラクト実装に欠かせないプログラミング言語『Solidity』について特徴から学習方法までご紹介してきました。
『Solidity』は需要が高まりつつある状況の中で日本においてまだ扱える技術者が少ないのが現状です。
自身の市場価値向上の為に一度学習してみるのも良いかもしれませんね!
コイン総合研究所では、暗号資産(仮想通貨)初心者のための解説や、お役立ち情報を配信しています。
ほかの記事もぜひご覧ください。
少しでも、みなさんのお力になれれば幸いです。
(執筆:杉田)