Ruka hadi kwenye maudhui makuu
Change page

Utangulizi wa mikataba mahiri

Mkataba mahiri ni nini?

"Mkataba mahiri" ni programu tu inayoendeshwa kwenye mnyororo wa vitalu wa Ethereum. Ni mkusanyiko wa msimbo (kazi zake) na data (hali yake) unaokaa kwenye anwani maalum kwenye mnyororo wa vitalu wa Ethereum.

Mikataba mahiri ni aina ya akaunti ya Ethereum. Hii inamaanisha ina salio na inaweza kuwa lengwa la miamala. Hata hivyo haidhibitiwi na mtumiaji, badala yake inasambazwa kwenye mtandao na kuendeshwa kama ilivyopangwa. Akaunti za watumiaji zinaweza kuingiliana na mkataba mahiri kwa kuwasilisha miamala inayotekeleza kazi iliyofafanuliwa kwenye mkataba mahiri. Mikataba mahiri inaweza kufafanua sheria, kama mkataba wa kawaida, na kuzitekeleza kiotomatiki kupitia msimbo. Mikataba mahiri haiwezi kufutwa kwa chaguo-msingi, na mwingiliano nayo hauwezi kutenduliwa.

Mahitaji ya awali

Ikiwa ndio kwanza unaanza au unatafuta utangulizi usio wa kiufundi sana, tunapendekeza utangulizi wetu wa mikataba mahiri.

Hakikisha umesoma kuhusu akaunti, miamala na mashine pepe ya Ethereum kabla ya kurukia ulimwengu wa mikataba mahiri.

Mashine ya kidijitali ya kuuza bidhaa

Labda sitiari bora zaidi ya mkataba mahiri ni mashine ya kuuza bidhaa, kama ilivyoelezwa na Nick Szabo (opens in a new tab). Kwa pembejeo sahihi, pato fulani linahakikishwa.

Ili kupata kitafunwa kutoka kwenye mashine ya kuuza bidhaa:

pesa + uchaguzi wa kitafunwa = kitafunwa kutolewa

Mantiki hii imepangwa kwenye mashine ya kuuza bidhaa.

Mkataba mahiri, kama mashine ya kuuza bidhaa, una mantiki iliyopangwa ndani yake. Huu hapa ni mfano rahisi wa jinsi mashine hii ya kuuza bidhaa ingeonekana kama ingekuwa mkataba mahiri ulioandikwa kwa Solidity:

Kama vile mashine ya kuuza bidhaa inavyoondoa hitaji la mfanyakazi wa muuzaji, mikataba mahiri inaweza kuchukua nafasi ya waamuzi katika tasnia nyingi.

Bila ruhusa

Mtu yeyote anaweza kuandika mkataba mahiri na kuusambaza kwenye mtandao. Unahitaji tu kujifunza jinsi ya kuweka msimbo katika lugha ya mkataba mahiri, na kuwa na ETH ya kutosha kusambaza mkataba wako. Kusambaza mkataba mahiri kiufundi ni muamala, kwa hivyo unahitaji kulipa gesi kwa njia sawa na unavyohitaji kulipa gesi kwa hamisho rahisi la ETH. Hata hivyo, gharama za gesi kwa usambazaji wa mkataba ni kubwa zaidi.

Ethereum ina lugha zinazofaa kwa wasanidi programu kwa ajili ya kuandika mikataba mahiri:

  • Solidity
  • Vyper

Zaidi kuhusu lugha

Hata hivyo, lazima zikusanywe kabla ya kusambazwa ili mashine pepe ya Ethereum iweze kufasiri na kuhifadhi mkataba. Zaidi kuhusu ukusanyaji

Utangamano

Mikataba mahiri ni ya umma kwenye Ethereum na inaweza kufikiriwa kama API zilizo wazi. Hii inamaanisha unaweza kuita mikataba mahiri mingine katika mkataba wako mahiri ili kupanua sana kile kinachowezekana. Mikataba inaweza hata kusambaza mikataba mingine.

Jifunze zaidi kuhusu utangamano wa mkataba mahiri.

Mapungufu

Mikataba mahiri pekee haiwezi kupata taarifa kuhusu matukio ya "ulimwengu halisi" kwa sababu haiwezi kupata data kutoka vyanzo vya nje ya mnyororo. Hii inamaanisha haiwezi kujibu matukio katika ulimwengu halisi. Hii ni kwa muundo. Kutegemea taarifa za nje kunaweza kuhatarisha mwafaka, ambao ni muhimu kwa usalama na ugatuzi.

Hata hivyo, ni muhimu kwa programu za mnyororo wa vitalu kuweza kutumia data ya nje ya mnyororo. Suluhisho ni oracles ambazo ni zana zinazochukua data ya nje ya mnyororo na kuifanya ipatikane kwa mikataba mahiri.

Kizuizi kingine cha mikataba mahiri ni ukubwa wa juu wa mkataba. Mkataba mahiri unaweza kuwa na ukubwa wa juu wa 24KB au utaishiwa na gesi. Hili linaweza kuepukwa kwa kutumia Muundo wa Almasi (The Diamond Pattern) (opens in a new tab).

Mikataba ya saini-nyingi

Mikataba ya saini-nyingi (sahihi nyingi) ni akaunti za mkataba mahiri zinazohitaji sahihi nyingi halali ili kutekeleza muamala. Hii ni muhimu sana kwa kuepuka sehemu moja ya kutofaulu kwa mikataba inayoshikilia kiasi kikubwa cha Etha au tokeni nyingine. Saini-nyingi pia hugawanya jukumu la utekelezaji wa mkataba na usimamizi wa ufunguo kati ya pande nyingi na kuzuia upotevu wa ufunguo wa siri mmoja unaosababisha upotevu wa fedha usioweza kutenduliwa. Kwa sababu hizi, mikataba ya saini-nyingi inaweza kutumika kwa utawala rahisi wa DAO. Saini-nyingi zinahitaji sahihi N kati ya sahihi M zinazokubalika (ambapo N ≤ M, na M > 1) ili kutekeleza. N = 3, M = 5 na N = 4, M = 7 hutumiwa sana. Saini-nyingi ya 4/7 inahitaji sahihi nne kati ya saba zinazowezekana. Hii inamaanisha fedha bado zinaweza kurejeshwa hata kama sahihi tatu zimepotea. Katika kesi hii, inamaanisha pia kwamba idadi kubwa ya wamiliki wa ufunguo lazima wakubaliane na kusaini ili mkataba utekelezwe.

Rasilimali za mkataba mahiri

Mikataba ya OpenZeppelin - Maktaba kwa ajili ya uundaji salama wa mkataba mahiri.

Usomaji zaidi

Mafunzo: Sahihi za mkataba mahiri (EIP-1271) kwenye Ethereum

Ukurasa ulisasishwa mwisho: 25 Februari 2026