. .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 core створює простий . .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 у кореневій директорії створеної папки і вставте код нижче, а потім збережіть файл. Ця конфігурація Truffle використовує Ganache.
9. Запустіть Ganache у меню Пуск.
10. Розгорнути смарт-контракти з Truffle. Мережа ганаш визначена у truffle.js файлі.
11. Звертайте увагу на результат. Ви побачите результат, схожий на той, що нижче. Це адреса договору голосування. Скопіюйте та вставте шестигранний рядок для подальшого використання.
Створіть . .NET-додатки викликають смарт-контракти
1. У новій директорії створіть новий консольний додаток за допомогою команди dotnet.
2. Встановіть пакет Nethereum.
3. Відредагувати Program.cs файл. Замініть код за замовчуванням на наведений нижче. Це дозволить консолі запитувати адреси акаунтів і голосування користувачів. Збережи файл.
4. У program.cs вставте щойно записану адресу на адресу контакту для розгортання і збережіть файл.
5. Скомпілюйте заявку.
6. Запустіть додаток.
7. Ви побачите, що додаток запропонує вам вводити. Введіть адресу і голосуйте. Ви можете скопіювати адресу акаунта з графічного інтерфейсу Ganache у вкладці «Акаунти».
8. Запустіть додаток ще раз, і ви побачите, що голосування зросло.
Для Nethereum інтегрувати смарт-контракти з будь-яким . .NET-додатки. Оскільки Nethereum базується на .NET, його можна використовувати для .NET core додатків. .NET standard, Xamarin, а також різні Windows-додатки. Використовуючи Nethereum, потужний Ethereum та . NET тепер у вашому розпорядженні!
|