Move標準ライブラリは、ネイティブ型と操作に関する機能を提供します。これはストレージとは関連しないが、データの操作と作業の基本ツールを提供する標準モジュールのコレクションです。これはSuiフレームワークの唯一の依存関係であり、それと一緒にインポートされます。
このMove Bookでは標準ライブラリのほとんどのモジュールについて詳しく説明していますが、どのモジュールがどの機能を実装しているかの概要を提供することにも役立ちます。
モジュール | 説明 | 章 |
---|---|---|
std::string | 基本的な文字列操作を提供します | 文字列 |
std::ascii | 基本的なASCII操作を提供します | 文字列 |
std::option | Option<T> を実装します |
オプション |
std::vector | ベクタータイプに対するネイティブ操作 | ベクター |
std::bcs | bcs::to_bytes() 関数を含みます |
BCS |
std::address | 単一のaddress::length 関数を含みます |
アドレス |
std::type_name | 実行時の型反射を可能にします | 型反射 |
std::hash | ハッシュ関数:sha2_256 とsha3_256 |
暗号とハッシュ |
std::debug | テストモードでのみ利用可能なデバッグ関数を含みます | デバッグ |
std::bit_vector | ビットベクターの操作を提供します | - |
std::fixed_point32 | FixedPoint32 型を提供します |
- |
標準ライブラリは一つの名前付きアドレスをエクスポートします - std = 0x1
。
[addresses]
std = "0x1"
一部のモジュールは暗黙的にインポートされ、明示的なuse
インポートなしでモジュールで利用可能です。標準ライブラリについては、次のモジュールと型が該当します:
Move標準ライブラリはパッケージに直接インポートすることができます。しかし、std
だけでは意味のあるアプリケーションを構築するのに十分ではなく、ストレージ機能を提供せず、オンチェーン状態と対話することができません。
MoveStdlib = { git = "<https://github.com/MystenLabs/sui.git>", subdir = "crates/sui-framework/packages/move-stdlib", rev = "framework/mainnet" }
Move標準ライブラリのソースコードは、Suiリポジトリで利用可能です。