Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 16201|Відповідь: 5

Розробка смарт-контрактів Ethereum через Nethereum та .NET

[Копіювати посилання]
Опубліковано 06.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 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 тепер у вашому розпорядженні!


Опубліковано 13.10.2020 17:17:23 |
Босе, ви дуже добре написали, у мене є кілька питань. 1. Як генерується ваш ABI-файл? Після того, як я скопіював код контракту, файли abi, згенеровані компіляцією з VSCode F5, мають подвійні лапки, і вбудовувати їх у код буде проблематично, а ваш — у вигляді лапок. 2. Мій код копія Web3 web3 = новий Web3 (url); Цей рядок коду дає помилку: «Web3 — це простір назв, але він використовується як тип», і пропозиція змінити його на IWeb3. Дуже терміново! Сподіваюся, Бог допоможе відповісти. Я дуже хочу зв'язатися з QQ:1206814310 (лише консультація і зазвичай не турбує) — це справді терміново! Дуже вам дякую!
Опубліковано 06.01.2022 12:45:19 |
Навчіться розробляти смарт-контракти Ethereum за допомогою Nethereum та .NET
Опубліковано 17.01.2022 14:01:56 |
Добре, що так, як і один, навчися вчитися
Опубліковано 19.03.2022 16:37:53 |
Добре, що так, як і один, навчися вчитися
Опубліковано 02.07.2022 11:40:47 |
Як один із них, навчися вчитися
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com