Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 16201|Svare: 5

Utvikling av Ethereum smarte kontrakter gjennom Nethereum og .NET

[Kopier lenke]
Publisert på 06.08.2018 13:55:51 | | |
. .NET er et gammelt rammeverk elsket av både indie- og enterprise-utviklere. Muligheten til å velge mellom ulike språk og distribuere til et bredt spekter av plattformer, inkludert et bredt spekter av funksjoner fra mobil til server, gjør . .NET blir et flott valg for en rekke applikasjoner. Selv om. .NET gjør mye, men det kan også sies at det ikke gjør noe. For eksempel kan du ikke bruke . .NET (med mindre du bruker Silverlight...... ), eksisterer den heller ikke. .NET-støttet språk, noe som gjør det mulig for utviklere å skrive smarte kontrakter.

Utviklingsspråket for smarte kontrakter er soliditet. Solidity er et formålsspesifikt språk som forutsetter mange ting om miljøet det opererer i, og det er svært tett integrert med blokkjedeteknologi. Det er disse hypotetiske trekkene som utelukker andre språk.

Selve smartkontrakten er bare halve historien. For applikasjoner må smarte kontrakter kalle dem via RPC. Det er her Web3-klienter kommer inn. En Web3-klient er rett og slett en klientapplikasjon som gjør det mulig for klientapplikasjonen å koble seg til smarte kontrakter som kjører på Ethereum, så lenge et gitt språk eksisterer, kan den koble seg til Ethereum.

For . Det viktigste for .NET er et prosjekt som heter Nethereum. (Nethereum er en portal for .NET og Ethereum på adressen:https://nethereum.com/)。 Dette biblioteket forsøker å replikere den samme funksjonaliteten som tilbys av Web3.js, lik JavaScript-applikasjoner som kjører i nettlesere og NodeJS.

I denne veiledningen skal vi distribuere en smart kontrakt til Ganache og deretter bruke . NET-kjernen lager en enkel . .NET-applikasjoner for å grensesnitte med smarte kontrakter.

Lag og publiser en smart kontrakt

1. Last ned og installer Ganache, en svært nyttig privat blokkjede for utvikling av Ethereum.

Innloggingen med hyperkoblingen er synlig.

2. I en terminal, kommandoprompt eller Powershell-økt, installer Truffle. Truffle er et rammeverk og sett med verktøyverktøy som bidrar til å legge til rette for soliditetsutvikling av smarte kontrakter. Bruk NPM for å fullføre kommandoen nedenfor.



3. Lag en mappe og kjør truffle init under denne mappen



4. Truffle vil opprette noen nye mapper som kontrakterer, tester og migrerer. Lag en ny fil, Vote.sol, i kontraktsmappen.

5. Lim inn følgende kode i den nyopprettede Vote.sol og lagre filen. Denne smarte kontrakten registrerer kun antall stemmer avgitt av 2 kandidater. Kontrakten bruker meldingsavsenderen (dvs. kontoadressen) som velger. Den tillater bare 1 stemme per konto.



6. Lag en ny fil kalt 2_vote.js i migrasjonsmappen.

7. Kopier følgende kode inn i 2_vote.js og lagre den.


8. Åpne truffle.js i rotmappen til mappen du opprettet og lim inn koden nedenfor, deretter lagre filen. Denne konfigurasjonen av trøffel bruker ganache.



9. Start Ganache i Start-menyen.

10. Deployer smarte kontrakter med Truffle. Ganache-nettverket er definert i truffle.js fil.


11. Følg med på resultatet. Du vil se et resultat som ligner på det nedenfor. Dette er adressen til stemmekontrakten. Kopier og lim inn hex-strengen for senere bruk.


Lag en . .NET-applikasjoner kaller smarte kontrakter

1. I en ny katalog, lag en ny konsollapplikasjon ved å bruke dotnet-kommandoen.


2. Installer Nethereum-pakken.


3. Rediger Program.cs fil. Erstatt standardkoden med koden under. Dette vil gjøre det mulig for konsollen å be om kontoadresser og brukerstemmer. Lagre filen.


4. På program.cs, lim inn adressen vi nettopp registrerte til adressen til distribusjonskontakten og lagre filen.


5. Kompil applikasjonen.


6. Kjør appen.


7. Du vil se at appen ber deg om å skrive. Skriv inn adressen og stem. Du kan kopiere kontoadressen fra Ganache GUI under fanen Kontoer.


8. Kjør appen igjen, og du vil se at stemmetall har økt.


For Nethereum er det enkelt å integrere smarte kontrakter med hvilken som helst . .NET-applikasjoner. Fordi Nethereum er basert på .NET, kan det brukes for .NET-kjerneapplikasjoner, . .NET-standarden, Xamarin og ulike Windows-applikasjoner. Ved å bruke Nethereum, den mektige Ethereum og . NET står nå til din disposisjon!


Publisert på 13.10.2020 17:17:23 |
Sjef, du skrev veldig bra, jeg har noen spørsmål. 1. Hvordan genereres ABI-filen din? Etter at jeg kopierte kontraktskoden, er abi-filene generert ved å kompilere med VSCodes F5 alle dobbelt anførselstegnede, og så blir det problematisk å bygge dem inn i koden, mens din er enkelt-anførselstegnet. 2. Min kode kopierer Web3 web3 = ny Web3 (url); Denne kodelinjen gir en feilmelding som sier «Web3 er et navnerom, men det brukes som en type», og endringsforslaget er å endre det til IWeb3. Veldig viktig! Jeg håper Gud kan hjelpe meg å svare. Jeg er ivrig etter å kontakte QQ:1206814310 (kun konsultasjon og vanligvis ikke forstyrr) er veldig viktig! Tusen takk!
Publisert på 06.01.2022 12:45:19 |
Lær å utvikle Ethereum smartkontrakter med Nethereum og .NET
Publisert på 17.01.2022 14:01:56 |
Bra ting, som én, lær å lære
Publisert på 19.03.2022 16:37:53 |
Bra ting, som én, lær å lære
Publisert på 02.07.2022 11:40:47 |
Som én, lær å lære
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com