智能合约
Aptos 合约使用 Move 语言编写,这是一种用于安全,沙盒化和形式化验证编程的下一代语言,被多个区块链采用. Move 允许开发者编写灵活管理和转移资产的程序,同时为这些资产提供安全性和攻击防护.
📖 学习 Move
Section titled “📖 学习 Move”👨💻 Move 示例
Section titled “👨💻 Move 示例” Aptos Move 示例 30+ 个关于如何在 Aptos 上开发 Move 的示例
Move 教程 涵盖 Move 编程的基础知识
你的第一个 Move 模块 一个 示例,展示如何发布你的第一个 move 模块
这是一个 hello_blockchain
的 move 示例
module hello_blockchain::message { use std::error; use std::signer; use std::string; use aptos_framework::event;
//:!:>resource struct MessageHolder has key { message: string::String, } //<:!:resource
#[event] struct MessageChange has drop, store { account: address, from_message: string::String, to_message: string::String, }
/// There is no message present const ENO_MESSAGE: u64 = 0;
#[view] public fun get_message(addr: address): string::String acquires MessageHolder { assert!(exists<MessageHolder>(addr), error::not_found(ENO_MESSAGE)); borrow_global<MessageHolder>(addr).message }
public entry fun set_message(account: signer, message: string::String) acquires MessageHolder { let account_addr = signer::address_of(&account); if (!exists<MessageHolder>(account_addr)) { move_to(&account, MessageHolder { message, }) } else { let old_message_holder = borrow_global_mut<MessageHolder>(account_addr); let from_message = old_message_holder.message; event::emit(MessageChange { account: account_addr, from_message, to_message: copy message, }); old_message_holder.message = message; } }
#[test(account = @0x1)] public entry fun sender_can_set_message(account: signer) acquires MessageHolder { let addr = signer::address_of(&account); aptos_framework::account::create_account_for_test(addr); set_message(account, string::utf8(b"Hello, Blockchain"));
assert!( get_message(addr) == string::utf8(b"Hello, Blockchain"), ENO_MESSAGE ); }}
⚒️ 开发者资源
Section titled “⚒️ 开发者资源”FAQ 和讨论
Section titled “FAQ 和讨论”- Aptos 开发者讨论 用于 Move 相关的问答.
Move IDE 插件
Section titled “Move IDE 插件”- Aptos Move Analyzer 用于 Visual Studio.
- JetBrains IDE 的 Move 语言插件:支持语法高亮,代码导航,重命名,格式化,类型检查和代码生成.
- Aptos Move by Example
- 在 Aptos 上自学 Move.
- 形式化验证,Move 语言和 Move Prover
- Pontem Move Playground
- 可嵌套的 Move 资源集合
我们有一个新的支持 Move 2 的 Aptos Move 编译器.查看此页面了解更多信息.