스마트 컨트랙트
Aptos 컨트랙트는 여러 체인에서 사용되는 안전하고 샌드박스화되며 형식적으로 검증된 프로그래밍을 위한 차세대 언어인 Move를 사용하여 작성됩니다. Move는 개발자가 해당 자산에 대한 공격으로부터 보안과 보호를 제공하면서 자산을 유연하게 관리하고 전송하는 프로그램을 작성할 수 있게 해줍니다.
📖 Move 배우기
섹션 제목: “📖 Move 배우기” Move를 사용하는 이유? Aptos가 Move 언어를 사용하는 이유를 알아보세요
패키지 생성 Move 패키지를 생성하는 방법을 배워서 시작하세요
객체 Aptos에서 객체 표준을 사용하여 온체인에서 구성 가능하고 유연한 프리미티브를 생성하는 방법을 알아보세요
👨💻 Move 예제
섹션 제목: “👨💻 Move 예제” Aptos Move 예제 Aptos에서 Move를 개발하는 방법에 대한 30개 이상의 예제
Move 튜토리얼 Move로 프로그래밍하는 기본 사항을 다룹니다
첫 번째 Move 모듈 첫 번째 Move 모듈을 게시하는 방법의 예제
다음은 Move의 hello_blockchain
예제입니다
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 ); }}
⚒️ 개발자 리소스
섹션 제목: “⚒️ 개발자 리소스”FAQ 및 토론
섹션 제목: “FAQ 및 토론”- Move에 대한 Q&A를 위한 Aptos 개발자 토론
Move IDE 플러그인
섹션 제목: “Move IDE 플러그인”- VSCode 및 OpenVSX용 Move on Aptos 확장
- JetBrains IDE용 Move 언어 플러그인
외부 리소스
섹션 제목: “외부 리소스”- Aptos Move by Example
- Teach yourself Move on Aptos
- Formal Verification, the Move Language, and the Move Prover
- Pontem Move Playground
- Collection of nestable Move resources
Move 2를 지원하는 새로운 Move on Aptos 컴파일러가 있습니다. 자세한 정보는 이 페이지를 참조하세요.