ETHEREUM TECHNOLOGY

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

悩んでいる人

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

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

本記事の信頼性

  • リアルタイムシステムの研究歴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にオープンソースとして公開

こういった私から学べます.

プログラミング言語Vyper

プログラミング言語Vyperとは,イーサリアムのスマートコントラクトを記述できるPython風でコントラクト指向のプログラミング言語です.

プログラミング言語Vyperは,Python言語で実装されていて,GitHubにオープンソースで公開されています.

Vyperのコードをダウンロードしたいあなたは,以下のコマンドを実行して下さい.

Vyperのライセンスは,Apache License 2.0です.

Vyperの理念と目標は以下になります.

  • セキュリティ:Vyperで安全なスマートコントラクトを構築することが可能かつ自然であるべきです.
  • 言語とコンパイラの簡素化:言語とコンパイラの実装はシンプルであるべきです.
  • 監査可能性:Vyperのコードは,最大限,人間が読めるものであるべきです.さらに,誤解を招くようなコードを書くことが最大限に困難であるべきです.読み手にとっての単純さは,書き手にとっての単純さよりも重要であり,Vyperの使用経験の少ない読み手(一般にプログラミングの経験の少ない読み手)にとっての単純さは,特に重要です.

上記の理由により,Vyperは以下の機能を持ちます.

  • 配列アクセスおよび算術演算における境界とオーバーフローのチェック
  • 符号付き整数と10進固定小数点数
  • 決定可能性(Vyperの関数呼び出しによるガス消費量について,正確な上限値を計算可能)
  • 強力な型付け
  • 小さく理解しやすいコンパイラコード
  • pure関数のサポートは限定的で,定数は状態を変更不可

Vyperは,誤解を招くコードや脆弱性のあるコードを書けないようにしています.

これにより,他のスマートコントラクトを記述できる代表的なプログラミング言語Solidityと比較して,Vyperは安全性の高いコードを書くことができます.

具体的には,Vyperは以下の機能がありません.

  • インラインアセンブラ
  • 修飾子
  • クラスのポリモーフィズムと多重継承,関数と演算子のオーバーロード
  • 関数の再帰呼び出し
  • 暗黙的なキャスト
  • 2進固定小数点数

VyperとSolidityとの比較を知りたいあなたはこちらからどうぞ.

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

こういった悩みにお答えします. こういった私から学べます. イーサリアムのスマートコントラクトを記述できるプログラミング言語 イーサリアムのスマートコントラクトを記述できるプログラミング言語は以下にな ...

続きを見る

Vyperは事前条件と事後条件,状態変化を明示的に管理するため,コードをより読みやすく,監査しやすい設計になっています.

また,@private,@public,@constant,@payableと呼ばれるデコレータを関数の開始部で利用します.

もし不正なデコレータを利用した場合は,コンパイルエラーになります.

Vyperの開発環境

Vyperの開発環境は,以下になります.

まとめ

イーサリアムでスマートコントラクトを記述できるプログラミング言語Vyperを紹介しました.

ブロックチェーンエンジニアになりたいあなたは,是非Vyperを習得しましょう!

Vyperを学べるWebサイトを知りたいあなたはこちらからどうぞ.

Vyper 学べるサイト
【イーサリアム】無料でプログラミング言語Vyperを学べるおすすめWebサイト3選【入門レベル】

こういった悩みにお答えします. こういった私から学べます. 本記事は,以下の記事を読んでいることを前提とします. 無料でイーサリアムのプログラミング言語Vyperが学べるWebサイト3選を紹介します. ...

続きを見る

-ETHEREUM, TECHNOLOGY