【solidity】そもそもsolidityとは
solidity
ってどんな言語?スマートコントラクトとは?
新しくイチから学習を始めた記録
1.0_solidity(ソリディティ)とは
まず、solidity
とは、静的型付け言語に分類されます。
静的型付け言語とは、Typescript同様、コンパイルしたときにソースコードを解析・検証するものになります。
↓↓
静的型付け言語_Wikipedia
もっと分かりやすく噛み砕いて言うと、スマートコントラクトを記述するプログラミング言語です。
↓参考リンク
solidityのwikipedia
スマートコントラクトとは、契約の自動化です。
学習していて、非常にわかりやすい例えがありました。
それは自動販売機
です。
自動販売機は、「①お金が投入される」「②ボタンが押される」と自動的にジュースやお茶が出てきます。
①、②という条件が揃った時に、契約が成立して、自動的に機械が動いて、飲み物を提供してくれます。
この一連の流れを、改ざん不可能なブロックチェーン上の台帳に記録されることで、契約の透明性が担保されます。
2.0_どんな場面で活用されるのか
スマートコントラクトとは直訳すると「賢い契約」という意味になりますので、主に契約の場面で活躍すると思います。
ただし、実生活の中で身近になるのはまだまだ先のことでしょう。
- 不動産の売買契約
- 保険の契約
- ゲーム内トークン(ポイントみたいな)の売買
この辺りが相性が良いのではないでしょうか。
このスマートコントラクトの技術は、ブロックチェーンを活用したものになっているため、Web3.0の言語になります。
私が開発したいアプリケーション(dapps)も、SNSにトークン機能を持たせたようなものになるので、スマートコントラクトの実装は不可欠になります。
3.0_solidityを開発する
開発環境は、VSコードでももちろん大丈夫なのですが、solidity専用のプラウザ上のエディタであるREMIX IDE
が使いやすいです。
おすすめする理由が、書いたコードが間違っていれば、エラーが表示されることや、仮想環境でデプロイして動きを確認することも可能です。
今後、このREMIX IDEを使用して開発していくので、一つ一つ丁寧にアウトプットしていきたいと思います。