MCPcopy Index your code
hub / github.com/diem/move

github.com/diem/move @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
8,361 symbols 33,958 edges 671 files 2,504 documented · 30% updated 2y ago★ 38034 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Diem Logo


License Discord chat

The Move Language

Move is a new programmable platform for blockchains and other applications where safety and correctness are paramount. It is an executable bytecode language designed to provide safe and verifiable transaction-oriented computation. The language features a strong type system with linear resource types, runtime checks, and formal verification.

Quickstart

Build the Docker Image for the Command Line Tool

docker build -t move/cli -f docker/move-cli/Dockerfile .

Build a Test Project

cd ./language/documentation/tutorial/step_1/BasicCoin
docker run -v `pwd`:/project move/cli build

Community

  • Browse code and content from the community at awesome-move.

License

Move is licensed as Apache 2.0.

Extension points exported contracts — how you extend this code

TransferFunctions (Interface)
Take a pre-state + instruction and mutate it to produce a post-state。 [8 implementers]
language/move-prover/bytecode/src/dataflow_analysis.rs
ModuleResolver (Interface)
Traits for resolving Move modules and resources from persistent storage A persistent storage backend that can resolve mo [8 …
language/move-core/types/src/resolver.rs
Length (Interface)
The serialized length of the data that enables macro derived serialization and deserialization. [6 implementers]
language/documentation/examples/diem-framework/crates/crypto/src/traits.rs
AstDebug (Interface)
Simple trait used for pretty printing the various AST Unfortunately, the trait implementation cannot be derived. The ac [157 …
language/move-compiler/src/shared/ast_debug.rs
VMValueCast (Interface)
* * Casting * * Due to the public value types being opaque to an external user, the following * public APIs are [13 implementers]
language/move-vm/types/src/values/values_impl.rs
Linter (Interface)
Represents a linter. [21 implementers]
devtools/x-lint/src/lib.rs
GetModule (Interface)
A persistent storage that can fetch the bytecode for a given module id TODO: do we want to implement this in a way that [4 …
language/tools/move-bytecode-utils/src/module_cache.rs
TableResolver (Interface)
A table resolver which needs to be provided by the environment. This allows to lookup data in remote storage, as well as [3 …
language/extensions/move-table-extension/src/lib.rs

Core symbols most depended-on inside this repo

clone
called by 1322
language/move-binary-format/src/views.rs
push
called by 1233
language/move-binary-format/src/file_format_common.rs
iter
called by 1102
language/move-compiler/src/expansion/ast.rs
map
called by 1093
language/move-compiler/src/shared/unique_map.rs
to_string
called by 894
language/tools/move-cli/src/sandbox/utils/on_disk_state_view.rs
write
called by 772
language/move-compiler/src/shared/ast_debug.rs
len
called by 644
language/move-binary-format/src/views.rs
into_iter
called by 480
language/move-compiler/src/expansion/ast.rs

Shape

Method 4,684
Function 2,352
Class 930
Enum 323
Interface 72

Languages

Rust99%
TypeScript1%

Modules by API surface

language/move-model/src/model.rs287 symbols
language/move-vm/types/src/values/values_impl.rs129 symbols
language/move-compiler/src/expansion/translate.rs105 symbols
language/move-binary-format/src/serializer.rs99 symbols
language/move-prover/interpreter/src/concrete/value.rs98 symbols
language/move-compiler/src/parser/syntax.rs98 symbols
language/move-vm/runtime/src/loader.rs95 symbols
language/move-binary-format/src/deserializer.rs94 symbols
language/move-compiler/src/typing/core.rs90 symbols
language/move-ir-compiler/move-ir-to-bytecode/syntax/src/syntax.rs89 symbols
language/move-model/src/ast.rs81 symbols
language/move-ir/types/src/ast.rs80 symbols

For agents

$ claude mcp add move \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page