. .NET är ett uråldrigt ramverk som älskas av både indie- och företagsutvecklare. Möjligheten att välja mellan olika språk och distribuera till en mängd olika plattformar, inklusive ett brett spektrum av funktioner från mobil till server, gör . .NET blir ett utmärkt val för en mängd olika tillämpningar. Fast. .NET gör mycket, men man kan också säga att det inte gör någonting. Till exempel kan du inte använda . .NET (om man inte använder Silverlight...... ), och den existerar inte. .NET stödde språk, vilket gör det möjligt för utvecklare att skriva smarta kontrakt.
Utvecklingsspråket för smarta kontrakt är soliditet. Solidity är ett syftesspecifikt språk som förutsätter många saker om miljön där det verkar, och det är mycket nära integrerat med blockkedjeteknik. Det är dessa hypotetiska egenskaper som utesluter andra språk.
Själva smartkontraktet är bara halva historien. För applikationer måste smarta kontrakt anropa dem via RPC. Det är här Web3-klienter kommer in. En Web3-klient är helt enkelt en klientapplikation som gör det möjligt för klientapplikationen att interagera med smarta kontrakt som körs på Ethereum, så så länge ett visst språk existerar kan den gränssnitta med Ethereum.
För . Det viktigaste för .NET är ett projekt som heter Nethereum. (Nethereum är en portal för .NET och Ethereum på adressen:https://nethereum.com/)。 Detta bibliotek försöker replikera samma funktionalitet som erbjuds av Web3.js, liknande JavaScript-applikationer som körs i webbläsare och NodeJS.
I denna handledning kommer vi att distribuera ett smart kontrakt till Ganache och sedan använda . NET-kärnan skapar en enkel . .NET-applikationer för att gränssnitta smarta kontrakt.
Skapa och publicera ett smart kontrakt
1. Ladda ner och installera Ganache, en mycket användbar privat blockkedja för Ethereum-utveckling.
Inloggningen med hyperlänken är synlig.
2. I en terminal, kommandoprompt eller Powershell-session, installera Truffle. Truffle är ett ramverk och en uppsättning verktygsverktyg som hjälper till att underlätta soliditetsutvecklingen av smarta kontrakt. Använd NPM för att slutföra kommandot nedan.
3. Skapa en mapp och kör tryffel init under denna mapp
4. Tryffel skapar några nya mappar, kontrakt, test och migration. Skapa en ny fil, Vote.sol, i kontraktsmappen.
5. Klistra in följande kod i den nyskapade Vote.sol och spara filen. Detta smarta kontrakt registrerar endast antalet röster som lagts av två kandidater. Kontraktet använder meddelandeavsändaren (dvs. kontoadressen) som röstare. Det tillåter bara 1 röst per konto.
6. Skapa en ny fil som heter 2_vote.js i mappen för migreringar.
7. Kopiera följande kod till 2_vote.js och spara den.
8. Öppna truffle.js i rotkatalogen i mappen du skapade och klistra in koden nedan, spara sedan filen. Denna konfiguration av tryffel använder ganache.
9. Starta Ganache i Start-menyn.
10. Implementera smarta kontrakt med Truffle. Ganache-nätverket definieras i truffle.js fil.
11. Var uppmärksam på resultatet. Du kommer att se ett resultat liknande det nedan. Detta är adressen till röstningskontraktet. Kopiera och klistra in hexsträngen för senare användning.
Skapa en . .NET-applikationer anropar smarta kontrakt
1. Skapa en ny konsolapplikation i en ny katalog med dotnet-kommandot.
2. Installera Nethereum-paketet.
3. Redigera Program.cs fil. Byt ut standardkoden mot koden nedan. Detta gör att konsolen kan begära kontoadresser och användarröster. Spara filen.
4. På program.cs, klistra in adressen vi just registrerade till adressen till distributionskontakten och spara filen.
5. Kompylera applikationen.
6. Kör appen.
7. Du kommer att se appen be dig att skriva. Ange adressen och rösta. Du kan kopiera kontoadressen från Ganache GUI under fliken Konton.
8. Kör appen igen så ser du att rösterna har ökat.
För Nethereum är det enkelt att integrera smarta kontrakt med vilken . .NET-applikationer. Eftersom Nethereum är baserat på .NET kan det användas för .NET-kärnapplikationer, . .NET-standarden, Xamarin och olika Windows-applikationer. Med Nethereum använder vi det mäktiga Ethereum och . NET står nu till ditt förfogande!
|