Naúrar 2 / 11

Taimakon Rubutun Kwangilar Smart: Solidity/Vyper Draft da Amintaccen Ƙirƙirar Code

Riba:

  • Ikon yin amfani da hankali na wucin gadi don samar da tsari, gwaje-gwaje da bita da zayyana bisa ingantattun ɗakunan karatu (misali OpenZeppelin) da fahimtar cewa mutane suna ba da garantin tsaro na samarwa.
  • Ƙarfin tabbatar da sigar lambar, ƙira da ikon samun damar da aka samar ta hanyar fasaha ta wucin gadi ta hanyar haɗawa, gwaji da testnet
  • Samun damar bambance wannan haɗar ba yana nufin kasancewa amintacce ba kuma testnet da dubawa suna da mahimmanci.

Rubutun kwangila mai wayo ya bambanta da software na yau da kullun: lambar da kuka rubuta na jama'a ne, ba za a iya canzawa ba, kuma shirin da ke motsa kuɗi kai tsaye. A cikin wannan rukunin, zaku koyi yadda ake amfani da AI azaman mataimaki na haɓaka kwangila mai wayo; Za mu koya daga daftarin samarwa don gwada rubuce-rubuce, daga ƙirar ƙira zuwa haɓaka gas (kuɗin ciniki). Amma bari mu fito fili daga farko: AI yana samar da zane-zane; Mutane suna tabbatar da amintattun lambobin da ke shiga samarwa.

Ƙasa ta farko: harshe da muhalli

Yaren kwangilar da aka fi sani da shi shine Solidity (harshen Ethereum da EVM - Injin Virtual na Ethereum, injin kama-da-wane wanda kwangila ke gudana - sarƙoƙi masu jituwa). Madadin shine Vyper (harshe mai kama da Python wanda ke nufin ya zama mai takurawa da karantawa). Lambar ku tana cinye iskar gas (farashin kowane ma'amala zuwa blockchain); Lambar mara inganci tana da tsada. Tsayar da waɗannan sharuɗɗan a bayyane a cikin mahallin da kuka ba shi ga AI shine mabuɗin don samun ingantaccen fitarwa.

Inda AI ya fi daraja ba a cikin "rubutu daga karce" amma a cikin samar da tsarin + kyawawa mai kyau: farawa mai dacewa da ƙa'idodi, tsarin da za a ƙara ƙwarewar ku.

Layer na amfani da AI a cikin coding

1. Samar da kwarangwal. AI da sauri na haƙa kwarangwal na daidaitaccen alama (ERC-20) ko NFT (ERC-721 - ƙayyadaddun kadara ta dijital ta musamman). Amma tabbatar da sanya AI ta amfani da ingantaccen ɗakin karatu: misali, OpenZeppelin (amintaccen ɗakin karatu na kwangilar al'umma). Dokar ita ce a yi amfani da tubalan da aka gwada maimakon rubuta tsaro daga karce.

2. Bayanin aiki da bita. Bayyana aikin da ke akwai ga AI yana ba ku damar gano kurakuran dabaru da wuri.

3. Gwaji tsara. AI yana da kyau wajen samar da shari'o'in gwaji don shari'o'in gefen: shigarwar sifili, adadi mai yawa, mai kira mara izini, maimaita kira. Wannan yana tunatar da ɗaya daga cikin yanayin da mutum ya tsallake.

4. Gas da karantawa. AI yana ƙayyadaddun alamu masu tsada kamar ma'ajiyar da ba dole ba ta rubuta kuma tana ba da shawara.

Alamomi: Umurci AI don "Gina kan kwangilolin da aka tantance na OpenZeppelin, sake rubuta tsaro daga karce." Yana da haɗari ga AI don rubuta lambar tsaro ta asali fiye da amfani da ɗakin karatu da aka gwada.

Rauni mai ƙarfi / Ƙarfi mai ƙarfi

Rawanin faɗakarwa:

Rubuta mani kwangilar alama.

Wannan saurin yana da haɗari: ba a bayyana ko wane ma'auni ba, wace sarkar, wace ɗakin karatu, wane buƙatun tsaro. AI yana haifar da bazuwar, mai yuwuwa tsohon ko lambar da ba ta da tsaro.

Ƙarfi mai ƙarfi:

Matsayinku: babban mai haɓaka Solidity. Ƙirƙirar daftarin alamar ERC-20 don sarkar EVM mai jituwa. Dokoki: - Dangane da ERC20 na OpenZeppelin da aka duba da kuma kwangilar Mallaki.- Rubuta layin Solidity da lasisi (SPDX) a sarari. - Mai shi ne kawai ke da izinin mint; ƙara hula da matsi mara iyaka. - Ƙara NatSpec sharhi ga kowane aiki. - Rubuta tsaro daga karce; Yi amfani da daidaitaccen toshe. - Ƙara gargadi a ƙarshe: "Wannan daftarin aiki ne; Ana buƙatar dubawa da gwaji". Yi alama a wuraren da ba ku da tabbas game da // TODO.

Bambance-bambance: hanzari mai ƙarfi yana ba da rawar gani, ma'auni, ɗakin karatu, iyakokin tsaro, takaddun shaida da tsammanin tabbatarwa.

Samfura huɗu masu kwafi

1) kwarangwal bisa ma'auni:

Matsayinku: Solidity developer. Ƙirƙirar tsarin kwangilar [ERC-20 / ERC-721 / staking] dangane da ɗakin karatu na OpenZeppelin. Rubuta lasisin SPDX da sigar pragma. Ƙara ikon samun dama (wanda zai iya kira) zuwa kowane aikin waje. Sabunta tsaro; Yi amfani da daidaitattun tubalan. Wannan daftarin ne.

2) Binciken Aiki:

Yi nazarin aikin mai zuwa kamar babban mai haɓakawa: menene yake yi, waɗanne jihohi ya canza, wa zai iya kiransa? Yi alama kurakurai masu yuwuwar dabaru da haɗarin tsaro azaman HASUMIYAR TSARO, haɗa kowanne zuwa layi a cikin lambar. Kada a ce "lafiya" kai tsaye; kawai jera abubuwan hankali.

3) Gwajin daftarin yanayin:

Ba da shawarar shari'o'in gwaji don wannan kwangila (zai iya zama daftarin aiki don Foundry/Hardhat). Musamman rufe shari'o'in iyaka: shigarwar sifili, lamba mai girma, kira mara izini, kiran sake shigowa, rashin isassun kuɗi. Rubuta ABIN da kowane gwaji ya tabbatar.

4) Gas da sake karantawa:

A cikin wannan kwangilar, yi alama da alamu waɗanda zasu iya rage farashin gas: rubutun ajiya mara amfani, kira na waje a cikin madauki, ƙididdiga mai maimaitawa. Bayyana bambanci kafin/bayan a kowace shawara. Ya ba da shawarar ingantawa masu karya tsaro; Idan ba a bayyana ba, a ce "tambayi mai duba".

Karama guda uku (a cikin lambobi)

Case 1 - kwarangwal ya ajiye awa 4. Ƙungiya ɗaya ta haƙa kwarangwal na kwangilar saka hannun jari na tushen ɗakin karatu tare da AI a cikin mintuna 30; Ya ɗauki ~4 hours da hannu. Tawagar ta ba da lokaci don tsaro da gwaji. Ribar da aka samu ba ta hanyar canja wurin tsaro ba ne, amma daga hanzarta aiwatar da tsarin.

Case 2 - Tarkon sigar da ba ta daɗe ba. AI ta samar da wani tsari wanda ke aika danyen Ether ta hanyar canja wuri, wanda ba a ba da shawarar ba saboda bayanan horon sun tsufa. Mai haɓakawa ya lura da wannan kuma ya canza shi zuwa tushen kira na yanzu da kuma tsarin kariyar sake shigowa. Darasi: Laburaren AI's/samfurin koyaushe ana tabbatar da su na zamani; AI bai san bayan ranar yanke horo ba.

Case 3 - Gwajin daftarin aiki ya buge bug ɗin ɓoye. Gwajin "mai kira mara izini" wanda AI ya samar ya nuna cewa mai haɓakawa ya manta da ikon shiga cikin wani aiki. Mai shi kaɗai ya ɓace layin 1, wanda aka kama cikin mintuna 5 akan testnet; Ana iya samun asarar kuɗi akan babban gidan yanar gizo. Darasi: AI yana rufe makafin ɗan adam a gwaji.

Tunawa da tsarin tsaro tare da AI

AI yana da kyau a tunatar da ku sanannun alamun rauni kamar jerin abubuwan dubawa. Mafi yawan alamu:

  • Maimaitawa: Yin kira na waje ba tare da sabunta matsayi ba. Magani: duba-sakamakon odar hulɗa, mai gadin sake shigowa.
  • Rashin ikon samun dama: Kowa na iya kiran aikin mai mahimmanci.
  • Matsakaicin lamba/karɓa: Ƙarfafawar zamani tana kama yawancinsu, amma har yanzu haɗari a cikin ƙaramin matakin lamba.
  • Ingancin ingantaccen shigarwar: Adireshin sifili, sarrafa adadin sifili.
  • Dogara na Oracle: Dogaran makaho a bayanan waje (kamar farashi).
Hankali: AI na iya tunawa da wannan jeri, amma ba zai iya bada garantin ko wani abu a cikin jerin yana cikin takamaiman lambar ku ba. Jerin abin dubawa shine farawa; Ba maye gurbin sarrafa kwantena ba.

Samun mahallin daidai: Sirrin lamba mai kyau daga AI

Ingancin lambar da AI ke samarwa ya dogara kai tsaye akan ingancin mahallin da kuka ba shi. A cikin Web3 wannan yana da mahimmanci musamman saboda ƙaramin daki-daki ɗaya (wace sarkar, wacce sigar Solidity, wacce ma'aunin alamar) ke canza dukkan fitarwa. Kyakkyawan mahallin ya haɗa da:

  • Sarkar manufa da muhalli: Babban gidan yanar gizon Ethereum ko Layer 2 (tsararriyar sashin gefe mai rahusa wacce ke gudana a saman babban sarkar)? Farashin iskar gas da wasu siffofi sun bambanta da sarka.
  • Siga da ɗakin karatu: Wane nau'in Solidity, wane nau'in OpenZeppelin? Idan ba a ƙayyade sigar ba, AI na iya haifar da tsofaffin samfuran da ba su da tushe.
  • Bukatun tsaro: Shin akwai hula, za a iya dakatar da shi, za a iya ƙarawa? Yakamata a fadi wadannan tun daga farko.
  • Ƙuntatawa: Share iyakoki kamar "kada ku yi amfani da taro", "guje wa kira na waje", "inganta gas amma kula da karantawa".

Wata dabara mai ƙarfi ita ce tambayar AI don shirin farko, sannan lambar: "Na farko jera ayyukan wannan kwangilar da abin da kowanne zai yi; rubuta lambar da zarar na amince da shi." Wannan yana kama AI yana tafiya cikin hanyar da ba daidai ba da wuri kuma yana ba ku damar riƙe yanke shawarar gine-gine.

Alamomi: Tambayi AI "me yasa kuka rubuta wannan lambar kamar haka?" tambaya. Bayyana ma'anar zai iya hanzarta koyo da kuma haifar da kurakurai masu ma'ana (misali zato na tsaro na ƙarya). Kar a amince da fitarwa na AI wanda ba zai iya kare lambar kansa ba.

Kuskuren gama gari

  • Sanya tsaro a cikin AI daga karce. Yi amfani da ɗakin karatu da aka gwada.
  • Ba tabbatar da sigar / ƙirar da AI ke samarwa ba. Bayanan horo na iya zama tsofaffi.
  • Ketare testnet. Kowane daftarin aiki yakamata ya gudana akan hanyar sadarwar gwaji kafin tafiya kai tsaye.
  • Ba ƙara NatSpec/takardu ba. Dubawa da kulawa sun zama masu wahala.
  • "An had'a, don haka yana da lafiya" rashin fahimta. Yin harhada baya nufin zama lafiya.
  • Manta ikon shiga. Yana daya daga cikin mafi yawan kurakurai da tsada.

A takaice

  • A cikin rubutun kwangila mai wayo, AI yana samar da tsari, gwaje-gwaje da kuma sake dubawa; Dan Adam yana ba da tabbacin samar da tsaro.
  • Gina tsaro ba daga karce ba amma bisa ingantattun ɗakunan karatu (misali OpenZeppelin).
  • Ana tabbatar da sabuntawa na yau da kullun na sigogi da tsarin da YZ ke samarwa.
  • Kuskuren gwaji suna da kima wajen kama makãho na ɗan adam (iyakance lokuta, ikon samun dama).
  • Yin harhada ba yana nufin zama lafiya ba; testnet da auditing wajibi ne.

Aikin aikace-aikace

Don alamar ERC-20 mai sauƙi, ƙirƙira daftarin aiki ta amfani da faɗakarwar "kwarangwal na tushen" a sama. Bayan haka: (1) duba idan yana amfani da ɗakin karatu da aka bincika, (2) duba ikon shiga, (3) samar da gwaje-gwaje tare da saurin "gwajin gwaji" kuma a zahiri yana gudanar da aƙalla gwajin ɗan damfara. Nemo kuma lura aƙalla wurin tsaro ɗaya wanda AI ya ɓace.

jerin abubuwan dubawa

  • [ ] Na bayyana a sarari ma'auni da sarkar a cikin saƙon.
  • [ ] Ina son ingantacciyar samarwa ta tushen laburare.
  • [ ] lasisin SPDX da sigar pragma akwai.
  • [ ] Akwai ikon shiga cikin kowane muhimmin aiki.
  • [ ] Na ƙirƙira kuma na gudanar da gwaje-gwaje don iyakance iyaka.
  • [ ] Na tabbatar da cewa ɗakin karatu/tsarin ya kasance na zamani.
  • [ ] Na yiwa lambar don dubawa da gwaji; Ban sami shi ba tare da kulawa ba akan mainnet.