. .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 теперь в вашем распоряжении!
|