こんにちは、こたんです。
最近転職しまして(ソフトウェアエンジニアはじめました)、なかなかブログを書く時間がとれません。
今日は自分が最近楽しく取り組んでいるsolidityについて書いていこうと思います。
solidityとは

solidity(ソリディティ)とは、ethereum(イーサリアム)上で動くスマートコントラクトという仕組みを作るためのプログラムを書くために作られたプログラミング言語です。
2013年、当時19歳でビットコインとその基盤となる技術であるブロックチェーン技術の虜であったヴィタリック・ブテリンによって最初のethereumのアイディアが発表されました。

ethereumプラットフォームを構築することに現在最も適した言語であるsolidityは、主にブテリンとギャビン・ウッドによって作られました。
ウッドはブテリンよりも14歳年上の先輩エンジニアで、彼もまた優れた才能を持つ開発者です。

ブテリンとウッドたちはsolidityを2013年から2014年にかけて開発しました。
それまでブロックチェーンの仕組みを最大限活かせていた仕組みといえばデジタル通貨のビットコインのみだったのですが、ethereumはブロックチェーンによってあらゆる契約とその履行を自動化させるという革新的な仕組みを世界に提供しました。
solidityには実に様々な工夫が施されており、
- ガス代をユーザーに負担させることによって、無駄なエネルギーを消費しない
- 契約の履行のために必要な信用・信頼性を限りなく保証できる
- 自然言語に近い形で記述できる
といった利点があります。
なぜsolidityに興味を持ったのか

みなさんは中島聡さんという方をご存じでしょうか?
日本が世界に誇るスーパーエンジニアです。
Windows95, Windows98のチーフアーキテクトを務め、当時まだ小さなベンチャーにすぎなかったMicrosoftを世界的なビッグ・テックに押し上げた立役者です。
普段皆さんが何気なくやっているドラッグ&ドロップの仕組みを作ったのも中島聡さんです。
僕はVoicyという音声アプリケーションが好きでして、中島聡さんも自身のチャンネルで放送されているのですが、ある放送回で「僕が最近ハマっているもの」としてweb3, solidityの話がありました。
- ethereum, web3の技術が本来持っている素晴らしさ
- 芸術やものづくりをはじめとしたあらゆる「ワクワクするようなこと」を実現できるかもしれない
などなどスマートコントラクトがいかに素晴らしいかというお話でして、
聴いていてとてもワクワクしてきて、「自分もやってみたい!」と思ったことが、僕がsolidityに興味を持ったきっかけです。
solidityを楽しく学ぼう

solidity初心者がsolidityを学ぶのに最適だと有名なのは、クリプトゾンビです。
中島聡さんもクリプトゾンビでsolidityを学習したそうです。
もちろん僕は中島聡さんには遠く及ばないくらいエンジニアとしての経験が浅いのでなかなかサクサクとはいきませんが、いつも楽しくワクワクしながら学ぶことができています。
solidityでやりたいこと

solidityに限らずPythonやC#などを使ってできることはたくさんあるのですが、もしsolidityを使って何らかのプログラムを作るとしたら、
こういったスマートコントラクトの良さを活かしたプログラムを作りたいです。
おわりに

まだまだsolidity, ethereumの仕組みを理解できていないところが多いのですが、これからも楽しく学習していきたいと思います。
もし興味を持った方がいましたら、ぜひ触ってみてください。
ではまた。