Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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 и сохраните файл. Этот смарт-контракт фиксирует только количество голосов, отданных двумя кандидатами. В контракте избирателя используется отправитель сообщения (то есть адрес счета). Он допускает только один голос за каждый аккаунт.



6. Создайте новый файл с именем 2_vote.js в папке миграций.

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-файлы, созданные при компиляции с помощью F5 от VSCode, все ставятся в двойные кавычки, и встраивать их в код будет проблемой, а ваш — с однокавычками. 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