
イーサリアムのスマートコントラクトを記述できるプログラミング言語を教えて!
こういった悩みにお答えします.
本記事の信頼性
- リアルタイムシステムの研究歴12年.
- 東大教員の時に,英語でOSの授業.
- 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校コンピュータサイエンス学部(2021年の世界大学学術ランキングで20位)で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
- プログラミング歴15年以上,習得している言語: C/C++,Solidity/Vyper,Java,Python,Ruby,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
- 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」をGitHubにオープンソースとして公開.
こういった私から学べます.
イーサリアムのスマートコントラクトを記述できるプログラミング言語
イーサリアムのスマートコントラクトを記述できるプログラミング言語は以下になります.
- Solidity:2014年8月に開発されたJavaScript,C++,Python,Eiffelに似た構文を持つ手続き型プログラミング言語(一番有名)
- LLL(Low-level Lisp-like Language):Lispのような構文を持つ関数型プログラミング言語(スマートコントラクトにおける最初の高級プログラミング言語ですが,現在はほぼ利用されていません.)
- Serpent:Pythonに似た構文を持つ手続き型プログラミング言語(現在は非推奨です.)
- Vyper:2017年に開発されたSerpentの後継でPythonに似た構文を持つコントラクト指向の手続き型プログラミング言語
- Bamboo:2017年に開発された明示的な状態遷移を持つプログラミング言語(現在は開発停止と思われます.)
- Fe:2020年に開発されたRustに似た構文を持つプログラミング言語(2022年6月時点ではアルファ版)
上記のプログラミング言語では,SolidityとVyperがアクティブに開発されています.
SolidityとVyperの比較は以下になります.
項目 | Solidity | Vyper |
---|---|---|
プログラミング言語のコンセプト | 柔軟性(効率性を重視) | 正確さ(安全性を重視) |
インラインアセンブラ | 許可 | 未許可 |
修飾子 | 許可 | 未許可 |
クラスのポリモーフィズム,多重継承, 関数と演算子のオーバーロード | 許可 | 未許可 |
関数の再帰呼び出し | 許可 | 未許可 |
暗黙的なキャスト | 許可 | 未許可(初期バージョンでは許可) |
2進数の固定小数点 | 許可 | 未許可 |
スマートコントラクトのファイル構成 | ファイル制約なし | 単一のファイルで構成 |
また,Solidity & Vyper Cheat Sheetにバージョン毎の詳細な比較があります.
キャストについて学びたいあなたは,C言語のこちらの記事がおすすめです.
-
-
【C言語】キャスト演算子による明示的な型変換【暗黙的な型変換も紹介】
こういった悩みにお答えします. こういった私から学べます. 目次1 キャスト演算子【明示的な型変換】1.1 キャスト演算子でオーバーフローの回避1.2 キャスト演算子で汎用ポインタ型(void *)か ...
続きを見る
SolidityとVyperを学びたいあなたは,以下の記事を読みましょう!
-
-
【イーサリアム】プログラミング言語Solidity(ソリディティ)とは
こういった悩みにお答えします. こういった私から学べます. 目次1 プログラミング言語Solidity(ソリディティ)2 Solidityの機能2.1 データ型2.2 演算子3 Solidityのバー ...
続きを見る
-
-
【イーサリアム】プログラミング言語Vyper(バイパー)とは
こういった悩みにお答えします. こういった私から学べます. 目次1 プログラミング言語Vyper(バイパー)2 Vyperの開発環境3 まとめ プログラミング言語Vyper(バイパー) プログラミング ...
続きを見る
ブロックチェーン基盤のプログラミング言語を知りたいあなたはこちらからどうぞ.
-
-
【C++/Go/Rust言語】ブロックチェーン基盤のプログラミング言語を学べるWebサイト
こういった悩みにお答えします. こういった私から学べます. スマートコントラクトを記述できるプログラミング言語を知りたいあなたはこちらからどうぞ. 目次1 【C++/Go/Rust言語】ブロックチェー ...
続きを見る
ブロックチェーンエンジニアになりたいあなたは国内・海外の求人サイトをチェックしましょう!
-
-
国内・海外のブロックチェーンエンジニアのおすすめ求人サイト【転職エージェント】【C++/Go/Rust言語,Solidity/Vyper言語】
こういった悩みにお答えします. こういった私が解説していきます. 国内・海外のブロックチェーンエンジニアのおすすめ求人サイト(転職エージェント)を紹介します. 具体的には,イーサリアムのスマートコント ...
続きを見る