Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 16201|Отговор: 5

Разработване на Ethereum смарт договори чрез Nethereum и .NET

[Копирай линк]
Публикувано в 6.08.2018 г. 13:55:51 ч. | | |
. .NET е древна рамка, обичана както от независими, така и от корпоративни разработчици. Възможността да избирате между различни езици и да внедрявате на различни платформи, включително широк спектър от възможности – от мобилни до сървърни устройства, прави . .NET се превръща в отличен избор за различни приложения. Въпреки това. .NET прави много, но може да се каже, че не прави нищо. Например, не можеш да използваш . .NET (освен ако не използваш Silverlight...... ), нито съществува. Езици, поддържани от .NET, което позволява на разработчиците да пишат смарт договори.

Езикът на разработка на смарт договорите е стабилността. Solidity е език, специфичен за целта, който приема много неща за средата, в която работи, и е много тясно интегриран с блокчейн технологията. Именно тези хипотетични характеристики изключват други езици.

Самият смарт договор е само половината от историята. За приложенията смарт договорите трябва да ги извикват чрез RPC. Тук идват на помощ клиентите на Web3. Web3 клиентът е просто клиентско приложение, което позволява на клиентското приложение да се свързва със смарт договори, работещи на Ethereum, така че докато съществува даден език, то може да се свързва с Ethereum.

За . Най-важното за .NET е проектът, наречен Nethereum. (Nethereum е портал за .NET и Ethereum на адреса:https://nethereum.com/)。 Тази библиотека се опитва да възпроизведе същата функционалност, предоставена от Web3.js, подобно на JavaScript приложенията, работещи в браузъри и NodeJS.

В този урок ще разположим смарт договор за Ganache и след това ще използваме . NET ядро създава просто . .NET приложения за интерфейс със смарт договори.

Създайте и публикувайте смарт договор

1. Изтеглете и инсталирайте Ganache, много полезен частен блокчейн за разработка на Ethereum.

Входът към хиперлинк е видим.

2. В терминал, команден ред или сесия на Powershell, инсталирайте Truffle. Truffle е рамка и набор от инструменти за полезност, които подпомагат разработката на смарт договори за стабилност. Използвайте NPM, за да изпълните командата по-долу.



3. Създай папка и стартирай truffle init под нея



4. Truffle ще създаде нови папки, договори, тестове и миграция. Създай нов файл Vote.sol в папката с договори.

5. Поставете следния код в новосъздадения Vote.sol и запазете файла. Този смарт договор записва само броя гласове, подадени от двама кандидати. Договорът използва подателя на съобщението (т.е. адреса на акаунта) като гласоподавател. Позволява само 1 глас на акаунт.



6. Създайте нов файл, наречен 2_vote.js, в папката migrations.

7. Копирайте следния код в 2_vote.js и го запазете.


8. Отвори truffle.js в коренната директория на създадената от теб папка и постави кода по-долу, след което запази файла. Тази конфигурация на трюфела използва ганаш.



9. Стартирайте Ganache в менюто Старт.

10. Внедрявайте смарт договори с Truffle. Ганаш мрежата е дефинирана в truffle.js файл.


11. Обърнете внимание на резултата. Ще видите резултат, подобен на този по-долу. Това е адресът на договора за гласуване. Копирай и постави шестоъгълния низ за по-късна употреба.


Създай . .NET приложения наричат смарт договори

1. В нова директория създайте ново конзолно приложение чрез командата dotnet.


2. Инсталирайте пакета Nethereum.


3. Редактирай Program.cs файл. Заменете стандартния код с този по-долу. Това ще позволи на конзолата да подканява адреси на акаунти и гласове от потребителите. Запази файла.


4. На program.cs г. поставете адреса, който току-що сме записали, на адреса на контакта за разгръщане и запазете файла.


5. Компилирайте приложението.


6. Пуснете приложението.


7. Ще видите, че приложението ви подканва да напишете. Въведете адреса и гласувайте. Можете да копирате адреса на акаунта от графичния интерфейс на Ganache под таба Accounts.


8. Пуснете приложението отново и ще видите, че броят на гласовете се е увеличил.


За Nethereum е лесно да се интегрират смарт договори с всеки . .NET приложения. Тъй като Nethereum е базиран на .NET, той може да се използва за .NET core приложения, . .NET standard, Xamarin, и различни Windows приложения. Използвайки Nethereum, могъщия Ethereum и . NET вече е на ваше разположение!


Публикувано в 13.10.2020 г. 17:17:23 ч. |
Шефе, написахте много добре, имам няколко въпроса. 1. Как се генерира вашият ABI файл? След като копирах кода на договора, AB файловете, генерирани чрез компилиране с VSCode F5, са всички с двойни кавички, а вграждането им в кода ще е проблематично, а твоят е с единични кавички. 2. Моят код копира Web3 web3 = нов Web3 (url); Този ред код дава грешка, като казва "Web3 е пространство от имена, но се използва като тип", а предложението за промяна е да се промени на IWeb3. Много спешно! Надявам се Бог да помогне да отговори. С нетърпение искам да се свържа с QQ:1206814310 (само консултации и обикновено не безпокойте) е наистина спешно! Много благодаря!
Публикувано в 6.01.2022 г. 12:45:19 ч. |
Научете се как да разработвате Ethereum смарт договори с Nethereum и .NET
Публикувано в 17.01.2022 г. 14:01:56 ч. |
Добре, както и един от тях, научи се да учиш
Публикувано в 19.03.2022 г. 16:37:53 ч. |
Добре, както и един от тях, научи се да учиш
Публикувано в 2.07.2022 г. 11:40:47 ч. |
Като един, научи се да учиш
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com