TECHNOLOGY ETHEREUM

【イーサリアム】スマートコントラクトを記述できるプログラミング言語

悩んでいる人

イーサリアムのスマートコントラクトを記述できるプログラミング言語を教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴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の比較は以下になります.

項目SolidityVyper
プログラミング言語のコンセプト柔軟性(効率性を重視)正確さ(安全性を重視)
インラインアセンブラ許可未許可
修飾子許可未許可
クラスのポリモーフィズム,多重継承,
関数と演算子のオーバーロード
許可未許可
関数の再帰呼び出し許可未許可
暗黙的なキャスト許可未許可(初期バージョンでは許可)
2進数の固定小数点許可未許可
スマートコントラクトのファイル構成ファイル制約なし単一のファイルで構成

また,Solidity & Vyper Cheat Sheetにバージョン毎の詳細な比較があります.

キャストについて学びたいあなたは,C言語のこちらの記事がおすすめです.

C言語 キャスト
【C言語】キャスト演算子による明示的な型変換【暗黙的な型変換も紹介】

こういった悩みにお答えします. こういった私から学べます. 目次1 キャスト演算子【明示的な型変換】1.1 キャスト演算子でオーバーフローの回避1.2 キャスト演算子で汎用ポインタ型(void *)か ...

続きを見る

SolidityとVyperを学びたいあなたは,以下の記事を読みましょう!

イーサリアム Solidity
【イーサリアム】プログラミング言語Solidity(ソリディティ)とは

こういった悩みにお答えします. こういった私から学べます. 目次1 プログラミング言語Solidity(ソリディティ)2 Solidityの機能2.1 データ型2.2 演算子3 Solidityのバー ...

続きを見る

イーサリアム Vyper
【イーサリアム】プログラミング言語Vyper(バイパー)とは

こういった悩みにお答えします. こういった私から学べます. 目次1 プログラミング言語Vyper(バイパー)2 Vyperの開発環境3 まとめ プログラミング言語Vyper(バイパー) プログラミング ...

続きを見る

ブロックチェーン基盤のプログラミング言語を知りたいあなたはこちらからどうぞ.

C++/Go/Rust言語 ブロックチェーン基盤
【C++/Go/Rust言語】ブロックチェーン基盤のプログラミング言語を学べるWebサイト

こういった悩みにお答えします. こういった私から学べます. スマートコントラクトを記述できるプログラミング言語を知りたいあなたはこちらからどうぞ. 目次1 【C++/Go/Rust言語】ブロックチェー ...

続きを見る

ブロックチェーンエンジニアになりたいあなたは国内・海外の求人サイトをチェックしましょう!

ブロックチェーンエンジニア 求人サイト
国内・海外のブロックチェーンエンジニアの求人サイト【転職】【Solidity,Vyper】

こういった悩みにお答えします. こういった私が解説していきます. 国内・海外のブロックチェーンエンジニアの求人サイトを紹介します. 具体的には,イーサリアムのスマートコントラクトを記述できるプログラミ ...

続きを見る

-TECHNOLOGY, ETHEREUM
-, , , , ,