Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16201|Svar: 5

Udvikling af Ethereum smart contracts gennem Nethereum og .NET

[Kopier link]
Opslået på 06/08/2018 13.55.51 | | |
. .NET er et gammelt framework, der er elsket af både indie- og enterprise-udviklere. Muligheden for at vælge mellem forskellige sprog og implementere til en bred vifte af platforme, inklusive et bredt udvalg af funktioner fra mobil til server, gør . .NET bliver et fremragende valg til en række forskellige anvendelser. Selvom. .NET gør meget, men man kan også sige, at det ikke gør noget. For eksempel kan du ikke bruge . .NET (medmindre du bruger Silverlight...... ), og den eksisterer heller ikke. .NET-understøttede sprog, hvilket gør det muligt for udviklere at skrive smarte kontrakter.

Udviklingssproget for smart contracts er soliditet. Solidity er et formålsspecifikt sprog, der antager mange ting om det miljø, det opererer i, og det er meget tæt integreret med blockchain-teknologi. Det er disse hypotetiske træk, der udelukker andre sprog.

Selve smart contracten er kun halvdelen af historien. For applikationer skal smart contracts kalde dem via RPC. Det er her, Web3-klienter kommer ind i billedet. En Web3-klient er simpelthen en klientapplikation, der gør det muligt for klientapplikationen at interagere med smarte kontrakter, der kører på Ethereum, så så længe et bestemt sprog eksisterer, kan den interagere med Ethereum.

For . Det vigtigste for .NET er et projekt kaldet Nethereum. (Nethereum er en portal for .NET og Ethereum på adressen:https://nethereum.com/)。 Dette bibliotek forsøger at replikere den samme funktionalitet, som Web3.js leverer, ligesom JavaScript-applikationer, der kører i browsere og NodeJS.

I denne tutorial vil vi implementere en smart contract til Ganache og derefter bruge . NET-kernen opretter en simpel . .NET-applikationer til at interagere med smarte kontrakter.

Opret og udgiv en smart kontrakt

1. Download og installer Ganache, en meget nyttig privat blockchain til udvikling af Ethereum.

Hyperlink-login er synlig.

2. I en terminal, kommandoprompt eller Powershell-session, installer Truffle. Truffle er en ramme og et sæt af hjælpeværktøjer, der hjælper med at fremme soliditetsudviklingen af smarte kontrakter. Brug NPM til at fuldføre kommandoen nedenfor.



3. Opret en mappe og kør truffle init under denne mappe



4. Truffle vil oprette nogle nye mapper til kontrakt, test og migration. Opret en ny fil, Vote.sol, i kontraktmappen.

5. Indsæt følgende kode i den nyoprettede Vote.sol og gem filen. Denne smart contract registrerer kun antallet af stemmer afgivet af 2 kandidater. Kontrakten bruger afsenderen (dvs. kontoadressen) som vælger. Den tillader kun 1 stemme pr. konto.



6. Opret en ny fil kaldet 2_vote.js i migrationsmappen.

7. Kopier følgende kode ind i 2_vote.js og gem den.


8. Åbn truffle.js i rodmappen i den mappe, du har oprettet, og indsæt koden nedenunder, og gem derefter filen. Denne konfiguration af trøffel bruger Ganache.



9. Start Ganache i Start-menuen.

10. Udrul smarte kontrakter med Truffle. Ganache-netværket defineres i truffle.js fil.


11. Læg mærke til outputtet. Du vil se et output, der ligner det nedenfor. Dette er adressen til stemmekontrakten. Kopier og indsæt hex-strengen til senere brug.


Opret en . .NET-applikationer kalder smarte kontrakter

1. Opret i en ny mappe en ny konsolapplikation ved hjælp af dotnet-kommandoen.


2. Installer Nethereum-pakken.


3. Rediger Program.cs fil. Erstat standardkoden med koden nedenfor. Dette vil gøre det muligt for konsollen at bede om kontoadresser og brugerstemmer. Gem filen.


4. På program.cs indsæt den adresse, vi lige har optaget, til adressen på udsendelseskontakten og gem filen.


5. Kompilér applikationen.


6. Kør appen.


7. Du vil se, at appen beder dig om at skrive. Indtast adressen og stem. Du kan kopiere kontoadressen fra Ganache GUI under fanen Konti.


8. Kør appen igen, og du vil se, at stemmerne er steget.


For Nethereum er det nemt at integrere smarte kontrakter med enhver . .NET-applikationer. Fordi Nethereum er baseret på .NET, kan det bruges til .NET-kerneapplikationer, . .NET-standarden, Xamarin og forskellige Windows-applikationer. Ved at bruge Nethereum, det mægtige Ethereum og . NET står nu til din rådighed!


Opslået på 13/10/2020 17.17.23 |
Chef, du skrev rigtig godt, jeg har nogle spørgsmål. 1. Hvordan genereres din ABI-fil? Efter jeg kopierede kontraktkoden, er de abi-filer, der genereres ved kompilering med VSCodes F5, alle dobbelt-citerede, og så bliver det problematisk at indlejre dem i koden, mens din er enkelt-citeret. 2. Min kode kopierer Web3 web3 = ny Web3 (url); Denne kodelinje giver en fejl, der siger "Web3 er et navnerum, men det bruges som en type", og ændringsforslaget er at ændre det til IWeb3. Meget vigtigt! Jeg håber, Gud kan hjælpe med at svare. Jeg er ivrig efter at kontakte QQ:1206814310 (kun konsultation og som regel ikke forstyr) er virkelig vigtigt! Mange tak!
Opslået på 06/01/2022 12.45.19 |
Lær at udvikle Ethereum smart contracts med Nethereum og .NET
Opslået på 17/01/2022 14.01.56 |
Godt nok, som én, lær at lære
Opslået på 19/03/2022 16.37.53 |
Godt nok, som én, lær at lære
Opslået på 02/07/2022 11.40.47 |
Ligesom én, lær at lære
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com