Awesome Move
Moveを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
- 概要
- Moveを利用するブロックチェーン
- 書籍
- チュートリアル
- コミュニティ
- コード
- ツール
- IDEs
- パッケージマネージャー
- ウォレット
- SDKs
- 論文
- 動画
- スライド
- ポッドキャスト
- ブログ記事
- セキュリティ
概要
Moveを利用するブロックチェーン
- Sui - 高スループット、低レイテンシー、Moveによる資産指向プログラミングモデルを備えた次世代スマートコントラクトプラットフォーム(開発ネット)。
- 0L - 中立的な複製状態機械の参照実装。Libra/Diem技術から派生(メインネット)。
- Starcoin - レイヤー化によって拡張するスマートコントラクト・ブロックチェーンネットワーク(メインネット)。
- Aptos - 安全でスケーラブルなレイヤー1ブロックチェーンを目指す実装(メインネット)。
- Pontem - MoveVMを搭載したSubstrateベースのパラチェーン(テストネット)。
- Celo - EVMとMoveVMを備えたブロックチェーン(近日対応)。
- Diem - Metaが開発した元祖Moveベースのブロックチェーン(旧FacebookのLibra、開発終了)。
- ChainX - WASMとEVMに対応し、MoveVMにも対応するBitcoinレイヤー2スマートコントラクトネットワーク(メインネット)。
書籍
- Move Book - Moveコアチームが保守するMoveの書籍(中国語)。
- Move Book - @damirkaが保守するMoveの書籍(中国語)。
- Move Patterns - Moveソフトウェア設計パターンに関する書籍を@villesundellが維持。
- Sui Move by Example - SuiのMove変種に関する書籍を@MystenLabsが維持。
チュートリアル
- Implementing, testing, and verifying a fungible token - Moveコアチームが維持。
- Programming with objects - Suiチームが維持。
- Move and SmartContract Development - Starcoinチームが維持。
- Move Language - 誰でも無料で利用できる対話型Move言語コース。imcoding.onlineが保守(中国語)。
コミュニティ
- Move Language Discord
- Move @ Sui by Mysten Labs Discord
- Move @ 0L Discord
- Move @ Starcoin Discord
- Move @ Aptos Discord
- MoveChina - 中国におけるMoveプログラミング言語の最大コミュニティ。
コード
Moveで書かれたコード。
代替可能トークン
- Fungible token examples - Suiから提供される複数のトークン実装例。
- BasicCoin - ERC20に似た機能を持つ仮想トークンの実装例。
- Diem - 許可された発行・消去を備えたERC20に類するトークン。このspecも参照。0L上でデプロイ。
- Token - 別の ERC20 風トークン。スタークォイン上でデプロイ。
- GAS - ダイム標準をインスタンス化したトークン。0L上でデプロイ。
- STC - スタークォイン標準をインスタンス化したトークン。スタークォイン上でデプロイ。
- STAR - AMM+DEXエコシステムを支えるStarswap dAppのガバナンストークン。Starcoin上にデプロイ。
- XUSDT - Starcoin上のUSDTマップドアセット。
- XETH - Starcoin上のETHマップドアセット。
- WEN stablecoin - スタークォイン上でデプロイ。
- FAI stablecoin - 過剰担保型の安定通貨。スタークォイン上でデプロイ。
- FLY stablecoin - フォークされたOHMの実装。スタークォイン上でデプロイ。
- Synthetic token backed by a basket containing a reserve of other tokens - ダイムから。
- XBTC - Aptos上のBTCミラー資産。
- XBTC - Sui上のBTCミラー資産。
非代替性トークン
- NFT examples - Suiからの複数NFTの例実装。
- NFT - ERC721風トークン。スタークォイン上でデプロイ。
- Merkle Airdrop - 大量のNFTをエアドロップするためのユーティリティ。スタークォイン上でデプロイ。
- NFT - ハイブリッドERC721/ERC1155風トークンの実装。ダイムから。
- BARS - このハイブリッド標準をインスタンス化したNFT。ダイムから。
- MultiToken - ERC1155風トークン。ダイムから。
- NFTGallery - 複数の同じタイプのNFTを保有するためのユーティリティ。ダイムから。
- NFT Protocol - NFTプロトコルおよびコレクションフレームワーク。OriginByteから。
- Suia - スイネットワーク上での最初のPOAPアプリケーション
分散型アイデンティティ
- aptos-cid - コインイングチャットの基本となるアカウントシステムであるアプトスにおける分散型識別情報
- MoveDID - MoveDIDは、Aptos、スイ、スタークォインなどMoveベースのブロックチェーンネットワークに適合するDIDプロトコルであり、NonceGeekによって維持されている
DeFi
- DeFi examples - スイネットワーク上の複数のDeFi実装例
- CoinSwap - トークン2種を含む、風のリクエストプールの玩具的な実装 Uniswap
- Starswap - ユニスワップ風のDEX。スタークォインにデプロイされている
- Offer - 任意の資産ペア間の原子的交換の一般実装
- AptosRedPacket - アプトス上でプライベートチャットと暗号化されたウォレットを組み合わせた赤包ソーシャルアプリ
- SuiRedPacket - スイネットワーク上でプライベートチャットと暗号化されたウォレットを組み合わせた赤包ソーシャルアプリ
- AptosAMMswap - オミンブイチチームが開発したアプトスAMMスワップ
- SuiAMMswap - オミンブイチチームが開発したスイAMMスワップ
- AptosOmniSwap - クロスチェーン相互運用プロトコルウォームホールに基づく、アプトスとEVMチェーン(ETH/BSC/AVAXなど)間のワンクリックスワップ
- DolaProtocol - 単一コインプールを核として、ウォームホール、レイヤーゼロなどのクロスチェーンメッセージングプロトコルをブリッジとし、スイ公開チェーンを決済センターとする、分散型オムチーンリクエスト集約プロトコル
- ObjectMarket - スイネットワーク上のユニークオブジェクト取引マーケットプレイス
SocialFi
- Dmens - スイネットワーク上で構築されたブロックチェーンTwitterプロトコルであるデジタルモーメント
オンチェーンガバナンス
- ValidatorUniverse - バリデーターセットの管理。0Lにデプロイされている
- Oracle - オンチェーンコミュニティ投票用。0Lにデプロイされている
- DAO - オンチェーン提言および投票用。スタークォインにデプロイされている
- DiemSystem - バリデーターセットの管理。ディームから
- Vote - オンチェーン投票。ディームから
クロスチェーンブリッジ
- Poly Bridge - MoveとEVM間の最初のクロスチェーンブリッジ。スタークォイン上でデプロイされている。
- OmniBTC Bridge - ビットコインとMove言語の公開チェーン(アプトスやスイなど)間のブリッジ。超軽量ノードをベースにしている。
アカウント
- Account - ディエムを駆動するチェーン向けの一般アカウント。ディエムから。
- DiemAccount - 上記実装のフォーク。0L由来。
- Account - 上記実装のフォーク。Starcoin由来。
フレームワーク
Moveのフレームワークは、チェーンの生成状態に含まれるMoveモジュールの集合である。 これらのモジュールは、アカウント、通貨といった基本的な概念を実装するものが多い。 ブロックチェーン固有のフレームワークロジックを、Move言語の一般機能から分離できる点が、Moveのプラットフォームに依存しない設計の重要な部分である。
ライブラリ
- Move standard library - すべてのMoveを実行するプラットフォームで使用されるべき(ただし必須ではない)ユーティリティ。Moveリポジトリから。
- Move nursery - 標準ライブラリに進化する可能性のある実験的モジュール。Moveリポジトリから。
- Decimal - 小数値の効率的な実装。0Lから。
- Math - 数学ユーティリティ関数。スタークォインから。
- Compare - 多変数比較(つまり、同じ型の2つのMove値を比較)。ナーブリから。
- Vault - 能力に関するライブラリ。ナーブリから。
- ACL - リストベースのアクセス制御に関するライブラリ。ナーブリから。
- TaoHe - ネスト可能なMoveリソースを収集したコレクション。
- Starcoin Framework Commons - スタークォインフレームワーク上でMoveコモンズユーティリティを提供するライブラリ。スタークォインから。
- Movemate - アプトスおよびスイ向けのスマートコントラクトビルディングブロック(数学ユーティリティ、ガバナンスコントラクト、エスクローなど)。ペンタゴンチームが維持。
- Move cron parser - クロントレード表現をパースするためのライブラリ。スノーフレークネットワークチームが維持。
その他
- Move-on-EVM - MoveソースコードをEVMバイナリコードにコンパイルするための実験プロジェクト。
- aoc-move - Moveで書かれたアドベンチャーコードの解決策に、一部の形式的検証を含む。
ツール
- Move Package Manager - Move向けの
cargoまたはnpmに似たもの:Moveの構築、実行、テスト、デバッグ、検証を行うための1つのCLI(およびその他のツールに接続するためのRust API)。 packages。Moveコアチームが維持。 - Move Prover - Moveソースコードで記述されたユーザー定義仕様の形式的検証。Moveコアチームが維持。
- Move Read/Write Set Analyzer - Moveプログラムが触れるグローバルメモリの上界を計算するための静的解析ツール。Move核心チームが維持している。
- Move Playground JS Library - ブラウザ向けのJavaScriptライブラリとしてMove Playground by Pontemをラップ。自作のMove Playgroundを構築できる。
- go-sui-indexer - Suiノードからデータを提供するオフフルノードサービス。
IDE
- Move VS Code plugin - Move核心チーム(source code)が維持している。
- Move IntelliJ plugin - Pontemチーム(source code)が維持している。
- Move Playground - Move用のRemixに似たもの。Web IDEのアルファ版。instructionsを参照。Pontemチームが維持している。
- Starcoin IDE - Starcoinチーム(source code)が維持している。
- Move Vim - @rvmelkonianが維持している。
- move-mode - Emacs用のマジョーム。@amnnが維持している。
パッケージマネージャー
- Movey - Moveパッケージのcrates.ioスタイルのリポジトリ。
ウォレット
- StarMask - Starcoinブロックチェーン用のウォレット。Starcoinチーム(Chrome Webstore)が維持している。
- Sui Wallet - Sui(Chrome Webstore)向けのChrome(v88以降)拡張機能ウォレット。
- Pontem Wallet - Pontemチーム(Chrome Webstore)が開発するAptosネットワーク向けウォレット拡張機能。
- Fewcha Aptos Wallet - レイヤー1ブロックチェーンAptos(Chrome Webstore)のウォレット。
- bcs-js - Moveが使用するBCSシリアル化スキームのJavaScript実装。ウォレット実装に役立つ可能性がある。
- ComingChat - 分散型ソーシャルフィナンス/Web3ポータル。SuiやAptosなどの公開チェーンウォレットをサポート。
- Suiet Wallet - Sui向けオープンソースウォレット。(Chrome Webstore, Website)
- Ethos Wallet - Sui向けオープンソースChrome拡張機能ウォレット。(Chrome Webstore, Website)
ウォレットアダプター
- Sui Wallet - Suiウォレットアダプタ。
- Suiet Wallet - Suietウォレットアダプタ。
ウォレットキット
- Suiet Wallet Kit - パッケージはすべてのSuiウォレットに対応し、カスタマイズ可能なUIを提供します。
- Ethos Connect - Sui上ですべてのウォレットとウォレットなしユーザーをサポートするための、内蔵されたウォレットアダプタとメールオプションを備えたUI。
SDK
Sui SDK
- Rust SDK (公式)
- TS/JS SDK (公式)
- Golang SDK 1 (コミュニティ)
- Golang SDK 2 (コミュニティ)
- Python SDK (コミュニティ)
- Java SDK (コミュニティ)
- Kotlin SDK (コミュニティ)
- C# SDK (コミュニティ)
Sui dApp SDK
- OmniSwap-Sui-SDK (コミュニティ)
その他のネットワークSDK
- Aptos Golang SDK (コミュニティ)
論文
言語設計
- Move: A Language With Programmable Resources - これは2018年に公開された最初のMoveの白書です。多くの項目は現在では古くなっています(たとえば、バイトコード指令の文法や説明)。しかし、最初の2つのセクションは、アセットをプログラムする難しさと、Moveがそれらをどのように解決しているかを説明しているため、読む価値があります。
- Robust Safety for Move
- The Move Borrow Checker
- Resources: A Safe Language Abstraction for Money
静的解析と検証
- Fast and Reliable Formal Verification of Smart Contracts with the Move Prover
- The Move Prover
- Verification of Programs Written in Libra’s Move Language
- Exact and Linear-Time Gas-Cost Analysis
動画
- The Move Programming Language
- Move on Sui
- Move on Aptos
- Move: A Safe Language for Programming with Money - @sblackshearにおける Fields Institute Blockchain研究セミナーシリーズの発表。
- Formal Verification of Move Programs for the Libra Blockchain - @DavidLDillにおける Fields Institute Blockchain研究セミナーシリーズの発表。
- Move for the Masses - Converge ‘22での講演。
スライド
- Move deep dive
- Move overview - Reasoning About Financial Systemsワークショップのスライド。 SBC ‘22
ポッドキャスト
ブログ記事
セキュリティ
貢献
ご貢献を歓迎!まず contribution guidelines を読んでください。