. .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!
|