Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 16201|Atsakyti: 5

Ethereum išmaniųjų sutarčių kūrimas per Nethereum ir .NET

[Kopijuoti nuorodą]
Paskelbta 2018-08-06 13:55:51 | | |
. .NET yra senovinė sistema, kurią mėgsta tiek nepriklausomi, tiek įmonių kūrėjai. Galimybė rinktis iš įvairių kalbų ir diegti įvairiose platformose, įskaitant platų galimybių spektrą nuo mobiliojo iki serverio, daro . .NET tampa puikiu pasirinkimu įvairioms programoms. Nors. .NET daro daug, bet taip pat galima sakyti, kad jis nieko nedaro. Pavyzdžiui, negalite naudoti . .NET (nebent naudojate "Silverlight...... ), taip pat jos nėra. .NET palaikomos kalbos, leidžiančios kūrėjams rašyti išmaniąsias sutartis.

Išmaniųjų sutarčių kūrimo kalba yra tvirtumas. "Solidity" yra konkretaus tikslo kalba, kuri prisiima daug dalykų apie aplinką, kurioje ji veikia, ir yra labai glaudžiai integruota su blokų grandinės technologija. Būtent šios hipotetinės savybės pašalina kitas kalbas.

Pati išmanioji sutartis yra tik pusė istorijos. Programoms išmaniosios sutartys turi būti iškviestos per RPC. Čia atsiranda Web3 klientai. Web3 klientas yra tiesiog kliento programa, leidžianti kliento programai susieti su išmaniosiomis sutartimis, veikiančiomis Ethereum, todėl tol, kol egzistuoja tam tikra kalba, ji gali sąveikauti su Ethereum.

Už . Svarbiausias dalykas .NET yra projektas, vadinamas Nethereum. (Nethereum yra .NET ir Ethereum portalas adresu:https://nethereum.com/)。 Ši biblioteka bando atkartoti tas pačias Web3.js teikiamas funkcijas, panašias į "JavaScript" programas, veikiančias naršyklėse ir NodeJS.

Šioje pamokoje įdiegsime išmaniąją sutartį "Ganache" ir naudosime . NET branduolys sukuria paprastą . .NET programos, skirtos sąsajai su išmaniosiomis sutartimis.

Išmaniosios sutarties kūrimas ir paskelbimas

1. Atsisiųskite ir įdiekite "Ganache" – labai naudingą privačią blokų grandinę Ethereum plėtrai.

Hipersaito prisijungimas matomas.

2. Terminale, komandų eilutėje arba "Powershell" sesijoje įdiekite "Truffle". "Truffle" yra sistema ir naudingų įrankių rinkinys, padedantis palengvinti išmaniųjų sutarčių tvirtumą. Naudokite NPM, kad užbaigtumėte toliau pateiktą komandą.



3. Sukurkite aplanką ir paleiskite triufelį šiame aplanke



4. Truffle sukurs keletą naujų aplankų sutartis, testas ir perkėlimas. Sutarčių aplanke sukurkite naują failą Vote.sol.

5. Įklijuokite šį kodą į naujai sukurtą Vote.sol ir išsaugokite failą. Šioje išmaniojoje sutartyje įrašomas tik 2 kandidatų atiduotų balsų skaičius. Sutartyje kaip rinkėjas naudojamas pranešimo siuntėjas (t. y. sąskaitos adresas). Vienai paskyrai leidžiama tik 1 balsas.



6. Sukurkite naują failą pavadinimu 2_vote.js aplanke perkėlimai.

7. Nukopijuokite šį kodą į 2_vote.js ir išsaugokite jį.


8. Atidarykite truffle.js šakniniame sukurto aplanko kataloge ir įklijuokite toliau pateiktą kodą, tada išsaugokite failą. Ši triufelių konfigūracija naudoja Ganache.



9. Paleiskite "Ganache" meniu Pradėti.

10. Įdiekite išmaniąsias sutartis su "Truffle". Ganache tinklas yra apibrėžtas truffle.js faile.


11. Atkreipkite dėmesį į išvestį. Pamatysite išvestį, panašią į pateiktą toliau. Tai yra balsavimo sutarties adresas. Nukopijuokite ir įklijuokite šešiakampę eilutę, kad galėtumėte naudoti vėliau.


Sukurkite . .NET programos iškviečia išmaniąsias sutartis

1. Naujame kataloge sukurkite naują konsolės programą naudodami komandą dotnet.


2. Įdiekite Nethereum paketą.


3. Redaguokite Program.cs failą. Pakeiskite numatytąjį kodą žemiau esančiu kodu. Tai leis konsolei paraginti paskyrų adresus ir vartotojų balsus. Išsaugokite failą.


4. program.cs įklijuokite ką tik įrašytą adresą į diegimo kontakto adresą ir išsaugokite failą.


5. Sudarykite programą.


6. Paleiskite programą.


7. Pamatysite, kad programa paragins įvesti tekstą. Įveskite adresą ir balsuokite. Paskyros adresą galite nukopijuoti iš "Ganache" GUI, esančios skirtuke "Paskyros".


8. Dar kartą paleiskite programą ir pamatysite, kad balsų padaugėjo.


Nethereum lengva integruoti išmaniąsias sutartis su bet kuria . .NET programos. Kadangi Nethereum yra pagrįstas .NET, jis gali būti naudojamas .NET pagrindinėms programoms, . .NET standartas, Xamarin ir įvairios Windows programos. Naudojant Nethereum, galingas Ethereum ir . NET dabar yra jūsų žinioje!


Paskelbta 2020-10-13 17:17:23 |
Bose, jūs labai gerai parašėte, turiu keletą klausimų. 1. Kaip generuojamas jūsų ABI failas? Po to, kai nukopijavau sutarties kodą, abi failai, sugeneruoti kompiliuojant su VSCode's F5, yra visi dvigubos kabutės, ir tada įterpti juos į kodą bus problematiška, o jūsų yra vienos citatos. 2. Mano kodo kopija Web3 web3 = naujas Web3 (url); Ši kodo eilutė pateikia klaidą, sakydama: "Web3 yra vardų sritis, bet ji naudojama kaip tipas", o modifikavimo pasiūlymas yra pakeisti jį į IWeb3. Labai skubu! Tikiuosi, kad Dievas gali padėti atsakyti. Labai noriu susisiekti su QQ:1206814310 (tik konsultuotis ir paprastai netrukdyti) yra tikrai skubu! Labai ačiū!
Paskelbta 2022-01-06 12:45:19 |
Išmokite kurti Ethereum išmaniąsias sutartis naudodami Nethereum ir .NET
Paskelbta 2022-01-17 14:01:56 |
Geras dalykas, kaip vienas, išmokti mokytis
Paskelbta 2022-03-19 16:37:53 |
Geras dalykas, kaip vienas, išmokti mokytis
Paskelbta 2022-07-02 11:40:47 |
Kaip vienas, išmokite mokytis
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com