Создавайте и тестируйте проекты инструментов разработчика NEO (из исходников)
Атрибуция - Эта серия представляет собой переиздание работы Майкла Германа (Торонто) из его Репозитория Git. Все хлопают и хвалят ему.
Цель
Цель этого упражнения - собрать инструменты разработчика NEO из источников, загруженных и распакованных в предыдущем упражнении.
Цели, нецели и предположения
- Убедитесь, что у вас есть рабочий и правильно настроенный набор инструментов разработчика NEO для создания и построения смарт-контрактов в Visual Studio с языком программирования C #.
Принципы
- Предоставлять надежную документацию: своевременную, точную, наглядную и полную
- Сэкономьте как можно больше времени человека
- По возможности используйте программное обеспечение с открытым исходным кодом
Драйверы
- Потребность в сообществе разработчиков NEO .NET в краткой и простой для понимания документации, чтобы люди могли начать разработку смарт-контрактов NEO в кратчайшие сроки.
Создавайте и тестируйте проекты инструментов разработчика NEO (из исходников)
Соберите транскомпилятор Neon NEO MSIL
- Откройте проект неокомпилятора в Visual Studio, дважды щелкнув
neo-compiler.sln
в папкеC:\NEO\neo-compiler-master\neo-compiler-master
, созданной в упражнении 2 - Загрузите и распакуйте проекты инструмента разработчика NEO (исходный код).
2. Снимите флажок с сообщения Ask me for every project in this solution
и щелкните OK
.
3. Откроется Visual Studio с проектом, отображаемым в обозревателе решений справа.
4. Щелкните правой кнопкой мыши имя решения neo-compiler
в верхней части обозревателя решений и выберите «Восстановить решение». Когда вы сделаете это в первый раз, произойдет несколько вещей; например, указанные пакеты Nuget будут загружены и обновлены в дополнение к источникам, которые компилируются для создания набора компиляторов NEO.
5. Восстановление решения завершено.
6. Щелкните правой кнопкой мыши имя проекта neon
в обозревателе решений и выберите Опубликовать.
ПРИМЕЧАНИЕ. Это самый сложный набор задач во всем процессе быстрого запуска. Внимательно следуйте этим ручным обходным путям.
7. Следующая страница публикации появится в Visual Studio. Выберите Publish
слева (а не Службы подключения). Нажмите кнопку Publish
, чтобы продолжить (с настройками по умолчанию).
8. Когда вы видите «Ошибка публикации», это проблема. Щелкните OK
, чтобы закрыть это диалоговое окно.
9. На панели «Вывод» в нижней части экрана измените раскрывающееся меню «Показать вывод из:» с «Сборка» на Build Order
. Обратите внимание на выделенное сообщение об ошибке об отсутствии neon.dll. Он не пропал - он находится в другом каталоге, и его нужно вручную скопировать туда, где Visual Studio ожидает найти эту DLL.
10. Откройте проводник Windows и перейдите в папку C:\NEO\neo-compiler-master\neo-compiler-master\neon\bin\Release\netcoreapp1.0
. Нам нужно скопировать neon.dll
из этой папки в папку, где Visual Studio ожидает его найти.
11. Щелкните правой кнопкой мыши neon.dll
и выберите Copy
.
12. В проводнике Windows перейдите к C:\NEO\neo-compiler-master\neo-compiler-master\neon\obj\Release\netcoreapp1.0
. Щелкните правой кнопкой мыши список файлов и выберите Paste
, чтобы вставить копию neon.dll
в эту папку.
ПРИМЕЧАНИЕ. Это путь к папке obj / Release / netcoreapp1.0.
13. Вернувшись в Visual Studio, нажмите кнопку Publish
, чтобы опубликовать файлы проекта neon
во второй раз (с настройками по умолчанию).
14. На этот раз публикация завершится успешно.
15. neon
файлы проекта опубликованы на C:\NEO\neo-compiler-master\neo-compiler-master\neon\bin\Release\PublishOutput
.
ПРИМЕЧАНИЕ. Запомните этот путь, потому что в следующем наборе задач нам нужно уделить внимание переменной среды Windows Path
search path.
На данный момент проект neo-compiler
построен и опубликован. Остальные задачи:
- Настройте переменную среды поиска Windows
Path
и - Проверьте правильность работы транскомпилятора
neon
с проектом смарт-контракта Visual Studio NEO.
16. Чтобы настроить переменную среды Path
, в меню «Пуск» Windows введите «система» и выберите приложение «Панель управления системой». На левой панели щелкните Advanced system settings
, чтобы открыть диалоговое окно System Properties
.
17. В диалоговом окне System Properties
щелкните Environment Variables...
, чтобы открыть диалоговое окно Environment Variables
. Обратите внимание на переменную среды Path
в разделе Системные переменные. Выберите Path
и нажмите Edit...
.
17. Щелкните New
, чтобы добавить путь публикации к текущему списку папок в переменной среды Path
. Используйте C:\NEO\neo-compiler-master\neo-compiler-master\neon\bin\Release\PublishOutput
в качестве значения нового пути. Дважды щелкните OK
, чтобы закрыть диалоговое окно 2 переменных среды и вернуться в приложение панели управления системой.
Протестируйте транскомпилятор Neon NEO MSIL
19. Пойдем по шагам. Во-первых, откройте новую командную строку Windows. Введите Path
и нажмите Enter, чтобы проверить текущее значение переменной среды Path
. Вы должны найти путь PublishOutput в списке (ближе к концу списка, но это не обязательно самый последний элемент списка).
20. Откройте Visual Studio 2017, чтобы создать новый проект смарт-контракта NEO.
21. Выберите File
›New
› Project...
, чтобы открыть диалоговое окно «Новый проект». Выберите Visual C#
. Выберите NeoContract
. Щелкните OK
, чтобы закрыть это диалоговое окно и создать новое решение и проект NeoContract в Visual Studio.
21. Visual Studio может занять несколько минут, чтобы создать проект NeoContract.
23. Щелкните правой кнопкой мыши папку проекта NeoContract и выберите Build
. Обратите внимание на выделенные сообщения в разделе «Сборка» на панели «Вывод». Эти два сообщения указывают на то, что Visual Studio смогла создать как файл с байтовым кодом виртуальной машины NEO, так и файл Application Binary Interace (ABI) (в формате JSON).
ПРИМЕЧАНИЕ. Если вы не видите этих двух сообщений, наиболее вероятными вариантами являются:
neon.dll
опубликовано некорректно. Вернитесь к Задаче 6 этого упражнения.- Переменная среды
Path
установлена неправильно. Вернитесь к Задаче 16 этого упражнения. - Вы открыли Visual Studio до того, как установили переменную среды
Path
. Закройте Visual Studio и вернитесь к задаче 20.
Создайте узел / кошелек Neo-Gui-Developer
25. Откройте проект неокомпилятора в Visual Studio, дважды щелкнув neo-gui.sln
в папке C:\NEO\neo-gui-developer-master\neo-gui-developer-master
, созданной в упражнении 2 - Загрузите и распакуйте проекты инструмента разработчика NEO (исходный код).
26. Снимите отметку с сообщения Ask me for every project in this solution
и щелкните OK
.
27. Откроется Visual Studio с проектом, отображаемым в обозревателе решений справа.
28. (НЕОБЯЗАТЕЛЬНО) Если вам удобно вносить изменения в код приложения Windows C # .NET Webforms, перейдите к исходному файлу Mainform.cs
в папке UI
. Щелкните этот файл правой кнопкой мыши и выберите View Code
. Прокрутите вниз до метода конструктора MainForm (). В конце конструктора добавьте выделенную единственную строку кода:
this.Text - "neo-gui-dev - " + Settings.Default.DataDirectoryPath;
Введите ctrl+s
, чтобы сохранить изменения в этом исходном файле. Эта единственная строка кода с отображением имени папки базы данных блокчейна в строке заголовка приложения рядом с именем приложения. Это полезная практика, когда вы используете несколько наборов файлов конфигурации JSON (подробнее об этом позже).
Протестируйте узел / кошелек Neo-Gui-Developer
28. По-прежнему находясь в Visual Studio с открытым neo-gui.sln
решением (версия для разработчиков), щелкните Start
, чтобы запустить neo-gui
с отладчиком Visual Studio.
29. Если вы впервые работаете с проектом NEO, вам может быть предложено установить корневой сертификат в хранилище сертификатов Windows. Щелкните Yes
.
30. Приложение neo-gui
(версия для разработчиков) должно открыться и начать синхронизацию с сетью тестовой сети NEO. Вы должны увидеть, как количество блоков в правом нижнем углу увеличивается с течением времени, а также начинает анимироваться зеленый индикатор выполнения. Щелкните Wallet ›Exit, чтобы закрыть приложение Neo-Gui-Developer Node / Wallet.
использованная литература
- [NEOTUTORIAL] NEO Project, Учебник по смарт-контракту NEO с сайта http://docs.neo.org/en-us/sc/tutorial.html
- [NEONCOMPILER] NEO Project, Neon NEO MSIL Transcompiler с сайта https://github.com/neo-project/neo-compiler.
- [NEOGUIDEVWALLET] Проект NEO, узел / кошелек hNeo-Gui-Developer с сайта hhttps: //github.com/CityOfZion/neo-gui-developer.