Skip to content

Me Ya Sa Move?

Move harshen shirye-shirye ne da aka ƙera musamman don kwangilolon da suka dace akan blockchain na Aptos. Meta (da aka fi sani da Facebook) ya haɓaka shi don aikin Diem, kuma harshe ne mai aminci, mai sassauci, da kuma mai iya tabbatarwa wanda ya sa haɓakar kwangilolon da suka dace ta zama mafi aminci da inganci.

An ƙera Move tare da sanya aminci a gaba. Tsarin nau’in harshen yana hana yawancin kurakurai na gama gari a cikin haɓakar kwangilolon da suka dace:

  • Babu alamun babu komai: Yana kawar da kurakuran rujewa na babu komai
  • Amincin ƙwaƙwalwar ajiya: Yana hana zubewar ƙwaƙwalwar ajiya da matsalolin samun dama
  • Amincin albarkatu: Yana tabbatar da cewa ba za a iya kwafi ko asara albarkatun dijital ba

Move yana gabatar da manufa ta musamman da ake kira “albarkatu”:

struct Coin has key {
value: u64,
}

Albarkatu nau’in bayanai ne na musamman waɗanda ke da waɗannan halaye:

  • Ba za a iya kwafi ba: Ba za a iya kwafi tsabar kuɗi ko kadarorin dijital ba
  • Ba za a iya watsi da su ba: Dole ne a cinye ko adana duk albarkatu a fili
  • Amintacce ta tsari: Suna hana kurakuran gama gari a cikin sarrafa kadarori

Move yana goyan bayan tabbatarwa ta hukuma ta hanyar Move Prover:

spec module::coin {
/// Tabbatar da cewa jimlar da aka samar ba ta taɓa wuce MAX_SUPPLY ba
invariant sum_of_coins <= MAX_SUPPLY;
}

Wannan yana ba da damar:

  • Tabbatarwa ta lissafi na sahihin kwangila
  • Tabbatar da kaddarorin aminci
  • Gano kurakurai kafin fita
FasaliMoveSolidity
Amincin Albarkatu✅ An haɗa❌ Yana buƙatar tabbatarwa ta hannu
Tabbatarwa ta Hukuma✅ Move Prover⚠️ Kayan aiki na waje
Sarrafa Ƙwaƙwalwar Ajiya✅ Amintacce ta tsari⚠️ Mai sauƙin kuskure
Hana Alamun Babu Komai✅ Eh❌ A’a
  1. Aiwatarwa Daidai: Kwangiloli na iya aiki a lokaci guda
  2. Inganta Injin Virtual: Injin aiwatarwa da aka inganta don aiki
  3. Tsarin Asusu Mai Sassauci: Sarrafa asusu mai sassauci

Wannan misali ne mai sauƙi na kwangilar tsabar kuɗi a cikin Move:

module MyAddress::BasicCoin {
use std::signer;
/// Albarki wanda ke wakiltar tsabar kuɗi
struct Coin has key {
value: u64,
}
/// Ƙirƙirar sabuwar tsabar kuɗi
public fun mint(account: &signer, value: u64) {
let coin = Coin { value };
move_to(account, coin);
}
/// Canja wurin tsabar kuɗi tsakanin asusu
public fun transfer(
from: &signer,
to: address,
value: u64,
) acquires Coin {
let from_addr = signer::address_of(from);
// Cire daga asusun mai aika
let Coin { value: from_value } = move_from<Coin>(from_addr);
assert!(from_value >= value, 1);
// Ajiye ga asusun mai karɓa
let remaining = from_value - value;
if (remaining > 0) {
let remaining_coin = Coin { value: remaining };
move_to(from, remaining_coin);
};
let transfer_coin = Coin { value };
move_to(to, transfer_coin);
}
}

Don farawa koyan Move:

  1. Karanta Littafin Move - cikakken jagora ga harshen
  2. Gwada koyarwar farko - ƙirƙirar kwangilar ku ta farko
  3. Bincika misalan Move - misalai masu aiki
  • Sassauci: Move yana goyan bayan nau’ikan bayanai masu rikitarwa da sassauci
  • Aiki: Inganta mafi kyau da aiwatarwa daidai
  • Aminci: Tsarin nau’i mai ƙarfi da hana kurakuran lokacin aiki
  • Ƙwararru: An ƙera musamman don blockchain
  • Tsarin Albarkatu: Ra’ayoyin asali don sarrafa kadarorin dijital
  • Tabbatarwa: Kayan aikin tabbatarwa da aka haɗa