関数型でブロックチェーン
プログラミング

(株) proof ninja

@yoshihiro503

yoshihiro503

数学の証明と関数プログラミングが好きな
ブロックチェーンエンジニア

yoshihiro503

  • (株)proofninja 代表取締役CEO
  • DMM: Coq
  • Everforth: Scala
  • NII: OCaml
  • Givery: 講師
  • 産業技術総合研究所: Coq
  • 国立情報学研究所TopSE: Coq

ワクワク数学トーク

ポッドキャストもあるよ

今日の発表は

ブロックチェーンとは

口座番号 残高
(花子) 75bdb5f 0.1
(太郎) 9710440 0.03
(次郎) 0ab7048 0.25

スマートコントラクトとは

口座番号 残高 スマコン
(花子) 75bdb5f 0.1 📝️
(太郎) 9710440 0.03
(次郎) 0ab7048 0.25

スマートコントラクトとは

  • ERC20 (オレオレコイン)
  • NFT
  • 金融取引、保険、不動産
  • 投票
  • 複数人での口座管理
  • レイヤー

Ethereumのスマートコントラクトを書きたい!

で、なんの言語でかけるの?

https://ethereum.org/ja/developers/docs/smart-contracts/languages

知ってる言語で書きたい!

関数型言語で書きたい!

作りました!

OCaml2EVM

OCamlでEthereumのスマートコントラクトがかけるようになる処理系

↑ソースコードはこちら

OCaml2EVM

  • スポンサー

  • 開発

OCaml2EVM

OCamlを書けば → EVMができる!

OCamlで書いたERC20の例

コード詳細はこちら

より詳細

OCamlでEthereumのスマートコントラクトを開発できるようにするプロジェクトの紹介

OCamlでかけるということは

Coqで証明できる!

(イラスト by chomado)

関連研究

などなど

関数型のお仕事ください

  • 技術顧問: 池渕先生(京都大学 五十嵐研)
  • 業務委託: 4人の達人 + 学生さん + 見習い数名

CoqTokyo

ワクワク数学トーク