Skip to content

Asusu

Asusu a kan blockchain na Aptos yana wakiltar ikon samun dama ga tarin kadarori gami da kuɗin kan-sarkar da NFTs. A cikin Aptos, waɗannan kadarori ana wakilta da ainihin harshen Move da ake kira albarki wanda ke jaddada duka ikon samun dama da ƙaranci.

Kowane asusu a kan blockchain na Aptos ana gane shi da adireshin asusu na byte 32. Kuna iya amfani da sabis na sunayen Aptos a www.aptosnames.com don tabbatar da yankuna .apt don manyan asusu don sa su zama abin tunawa da na musamman.

Ya bambanta da sauran blockchain inda asusu da adireshi suke na alama, asusu akan Aptos sun kasance a fili kuma ana buƙatar ƙirƙira su kafin ku iya aiwatar da ma’amaloli. Ana iya ƙirƙirar asusu a fili ko kuma a ɓoye ta hanyar canja wurin alamun Aptos (APT) zuwa gare shi. Duba sashe na Ƙirƙirar Asusu don ƙarin cikakkun bayanai. Ta wata hanya, wannan yayi kama da sauran sarƙoƙi inda adireshi yana buƙatar samun kuɗi don mai don kafin ya iya aika ma’amaloli.

Asusu masu bayyana kansu suna ba da damar fasalolin farko waɗanda ba su da samuwa akan sauran cibiyoyin sadarwar kamar:

  • Juyar da maɓallin tabbatarwa. Ana iya canza maɓallin tabbatarwar asusu don sarrafa ta ta hanyar wani maɓalli na sirri daban. Wannan yayi kama da canza kalmomi masu sirri a cikin duniyar web2.
  • Goyan bayan sa hannu da yawa na asali. Asusu akan Aptos suna goyan bayan sa hannu da yawa na k-of-n ta amfani da tsarin sa hannu na Ed25519 da Secp256k1 ECDSA lokacin gina maɓallin tabbatarwa.

Akwai nau’ikan asusu uku akan Aptos:

  • Asusu na yau da kullun - wannan asusu ne na yau da kullun wanda ya dace da adireshi tare da biyayyar maɓallai na jama’a/sirri.
  • Asusun albarki - asusu mai cin gashin kansa ba tare da maɓalli na sirri ba wanda masu haɓakawa ke amfani da shi don adana albarkatu ko fitar da modules akan sarkar.
  • Abu - hadaddun tarin albarkatu da aka adana a cikin adireshi ɗaya wanda ke wakiltar abu ɗaya.
Alice: 0xeeff357ea5c1a4e7bc11b2b17ff2dc2dcca69750bfef1e1ebcaccf8c8018175b
Bob: 0x19aadeca9388e009d136245b9a67423f3eee242b03142849eb4f81a4a409e59c

A halin yanzu, Aptos yana goyan bayan identifier guda ɗaya kawai don asusu. Asusu akan Aptos ana wakilta su a duniya a matsayin rubutu na sha goma sha biyu na byte 32. Rubutu na sha goma sha biyu wanda ya fi ƙasa da byte 32 shima yana da inganci; a cikin waɗannan yanayin, ana iya cika rubutun sha goma sha biyu da sifili masu farawa, misali, 0x1 => 0x0000000000000...01. Yayin da ƙa’idodin Aptos suna nuna cewa sifili masu farawa za a iya cire su daga adireshi, yawancin aikace-aikace suna ƙoƙarin guje wa wannan hali na gado kuma suna goyan bayan cirewar sifili kawai don adireshi na musamman waɗanda ke tsakanin 0x0 zuwa 0xa.

Lokacin da mai amfani ya buƙaci ƙirƙirar asusu, misali ta amfani da kayan aikin haɓakawa na Aptos, ana aiwatar da waɗannan matakai:

  • Zaɓar tsarin tabbatarwa don sarrafa asusun mai amfani, misali Ed25519 ko Secp256k1 ECDSA.
  • Samar da sabuwar maɓalli na sirri da biyar na maɓalli na jama’a.
  • Haɗa maɓallin jama’a tare da tsarin tabbatarwar maɓallin jama’a don samar da maɓallin tabbatarwa na byte 32 da adireshin asusu.

Dole ne mai amfani ya yi amfani da maɓalli na sirri don sa hannu kan ma’amaloli da ke da alaƙa da wannan asusu.

Lambar jeri ta asusu tana nufin adadin ma’amalolin da aka aika da aka yi alƙawari akan sarkar daga wannan asusu. Ma’amalolin da aka yi alƙawari ko dai suna aiwatar da canje-canjen yanayi da suka haifar da blockchain ko kuma suna ɓatawa inda canje-canjen yanayi ke yin watsi da shi kuma ma’amalar kawai ta adana.

Kowane ma’amala da aka aika dole ta ƙunshi lambar jeri ta musamman ga asusun mai aika da aka bayar. Lokacin da blockchain na Aptos ya sarrafa ma’amalar, yana kallon lambar jeri a cikin ma’amalar kuma ya kwatanta shi da lambar jeri a cikin asusun kan-sarkar. Ma’amalar tana sarrafa kawai idan lambar jeri ya yi daidai da ko fiye da lambar jeri na yanzu. Ma’amaloli suna canza zuwa wasu tafkunan ƙwaƙwalwar ajiya kawai ko kuma suna aiwatar da su idan akwai jerin ma’amaloli masu haɗuwa daga lambar jeri na yanzu. Aiwatarwa yana ƙin lambobin jeri mara tsari wanda ke hana hare-haren sake kunna ma’amalolin da suka gabata kuma yana tabbatar da tsarin ma’amalolin nan gaba.

Adireshin asusu na farko yana ƙayyade ga maɓallin tabbatarwa da aka samu yayin ƙirƙirar asusu. Duk da haka, maɓallin tabbatarwa na iya canzawa daga baya, misali lokacin da kuka samar da sabuwar biyar na maɓalli na jama’a-sirri, maɓallai na jama’a don jujjuyar maɓallai. Adireshin asusu ba ya canzawa.

Blockchain na Aptos yana goyan bayan waɗannan tsarin tabbatarwa:

  1. Ed25519
  2. Secp256k1 ECDSA
  3. Sa hannu da yawa na K-of-N
  4. Tsarin MultiEd25519 na musamman, yanzu gado ne

Don samar da maɓallin tabbatarwa da adireshin asusu don sa hannu na Ed25519:

  1. Samar da biyar maɓalli: Samar da sabuwar biyar maɓalli (privkey_A, pubkey_A). Blockchain na Aptos yana amfani da tsarin PureEdDSA akan madaidaicin Ed25519, kamar yadda aka ƙayyade a cikin RFC 8032.
  2. Samo maɓallin tabbatarwa na byte 32: Samo maɓallin tabbatarwa na byte 32 daga pubkey_A:
    auth_key = sha3-256(pubkey_A | 0x00)
    inda | yana nuna jeri. 0x00 shine mai gane tsarin sa hannu guda ɗaya na 1 byte.
  3. Yi amfani da wannan maɓallin tabbatarwa na farko a matsayin adireshin asusu na dindindin.

Sarrafa Samun Dama ta Amfani da Masu Sa Hannu

Section titled “Sarrafa Samun Dama ta Amfani da Masu Sa Hannu”

Mai aika ma’amala ana wakilta da mai sa hannu. Lokacin da aiki a cikin module Move ya ɗauki signer a matsayin sinadari, injin virtual na Aptos yana fassara asalin asusun da ya sa hannu kan ma’amalar zuwa mai sa hannu a mashigi na module Move. Duba lambar Move na misali da ke ƙasa tare da signer a cikin ayyukan initialize da withdraw. Lokacin da ba a ƙayyade signer a cikin aiki ba, misali, aikin deposit da ke ƙasa, babu sarrafar samun dama da ke tushen mai sa hannu da za a bayar don wannan aikin:

module Test::Coin {
struct Coin has key { amount: u64 }
public fun initialize(account: &signer) {
move_to(account, Coin { amount: 1000 });
}
public fun withdraw(account: &signer, amount: u64): Coin acquires Coin {
let balance = &mut borrow_global_mut<Coin>(Signer::address_of(account)).amount;
*balance = *balance - amount;
Coin { amount }
}
public fun deposit(account: address, coin: Coin) acquires Coin {
let balance = &mut borrow_global_mut<Coin>(account).amount;
*balance = *balance + coin.amount;
Coin { amount: _ } = coin;
}
}