针对.NET开发者的NEO区块链快速入门指南-activity 5
作者:Michael Herman
原文链接:https://github.com/mwherman2000/neo-dotnetquickstart/blob/master/EN-us/05-buildneodevtools.md
翻译:NEL新经济实验室
搭建和测试NEO开发者工具项目(从源代码)
宗旨
此activity旨在从上次activity中下载和解包的源代码中搭建NEO开发者工具。
目标,非目标和假设
· 确保您有一套工作和配置合理的NEO开发人员工具,用于使用C#编程语言在Visual Studio中创建和构建智能合约
原则
· 提供可靠的文件:及时,准确,直观和完整
· 尽可能节省一个人的时间
· 尽可能使用开源软件
驱动因素
NEO .NET开发人员社区需要具有简明易懂的文档,以便人们能够在尽可能短的时间内加快开发NEO智能合约
搭建和测试NEO开发者工具项目(从源代码)
搭建Neon NEO MSIL转译器
1. 通过双击activity 2中创建的C:\ NEO \ neo-compiler-master \ neo-compiler-master文件夹中的neo-compiler.sln,在Visual Studio中打开neo-编译器项目 - 下载并解包NEO开发者工具项目(源代码)。
图5.1. Open neo-compiler.sln in Visual Studio 2017在Visual Studio 2017中打开neo-compiler.sln
2. 取消选中“此解决方案中询问我每个项目”,然后单击确定。
图5.2. 取消选中“此解决方案中询问我每个项目”,然后单击确定。
3. Visual Studio将打开右侧显示解决方案资源管理器中显示的项目。
图5.3. Visual Studio:解决方案资源管理器
4. 右键单击解决方案资源管理器顶部附近的解决方案名称neo-compiler,然后选择重新建解决方案。第一次做这件事时会发生几件事情;例如,除了要编译的源代码以创建NEO编译器集外,还会下载和刷新引用的Nuget包。
图5.4.重新创建解决方案
5.重新创建解决方案完成
图5.5.重新创建解决方案完成
6.在解决方案资源管理器中右键单击项目名称neon,并选择发布(publish)
注意:这是整个快速入门过程中最麻烦的一组任务。请仔细遵循这些手动变通方法。
图 5.6. neon Project项目: 发布Publish...
7. 以下发布页面将出现在Visual Studio中。选择左侧的发布(而不是连接服务)。点击发布按钮继续(使用默认设置)。
图5.7. neon项目:发布到文件夹
8.当你看到“发布失败”,这是问题区域。单击确定关闭此对话框
图5.8. neon项目:发布失败
9. 在屏幕底部的“输出”窗格中,将下拉菜单中的“从…显示输出:”从“生成”更改为“生成订单”。请注意有关缺少neon.dll的突出显示的错误消息。它没有丢失 - 它位于不同的目录中,需要手动复制到Visual Studio希望查找此DLL的位置。
图5.9. neon项目:neon.dll没有消失
10. 打开Windows资源管理器并导航到文件夹C:\ NEO \ neo-compiler-master \ neo-compiler-master \ neon \ bin \ Release \ netcoreapp1.0。我们需要将neon.dll从该文件夹复制到Visual Studio希望找到它的文件夹中。
图 5.10. neon 项目文件夹: C:\NEO\neo-compiler-master\neo-compiler-master\neon\bin\Release\netcoreapp1.0
11.右键单击neon.dll并选择复制
图5.11. neon项目文件夹:复制 neon.dll到粘贴板。
12.在Windows资源管理器中,导航到C:\ NEO \ neo-compiler-master \ neo-compiler-master \ neon \ obj \ Release \ netcoreapp1.0。在文件列表中右键单击并选择粘贴将neon.dll的副本粘贴到此文件夹中。
注意:这是obj / Release / netcoreapp1.0文件夹路径。
图5.12. neon Project folder项目文件夹: C:\NEO\neo-compiler-master\neo-compiler-master\neon\obj\Release\netcoreapp1.0
13. 返回Visual Studio,单击发布按钮以再次发布neon项目文件(使用默认设置)。
图5.13. neon项目:重新发布项目
14.这次,发布成功完成
图5.14. neon项目:发布成功
15. neon 项目文件已发布到C:\ NEO \ neo-compiler-master \ neo-compiler-master \ neon \ bin \ Release \ PublishOutput。
注意:请记住这条路径,因为在下一组任务中,我们需要关注Windows路径搜索路径环境变量。
图 5.15. neon Project项目: PublishOutout Folder文件夹
此时,新编译器项目已经创建并发布。其余任务是:
•配置Windows路径搜索环境变量和
•测试neon转译器是否与Visual Studio NEO智能合约项目一起正常 工作。
16. 要配置路径环境变量,请从Windows开始菜单中输入“系统(system)”并选择系统控制面板(System control panel)应用程序。在左侧窗格中,单击高级系统设置以显示“系统属性”对话框。
图5.16. 控制面板:系统属性
17. 在系统属性对话框中,单击环境变量...以显示环境变量对话框。请注意系统变量部分中的路径环境变量。选择路径并点击编辑....
图5.17. 控制面板:系统属性:环境变量
18. 单击New将PublishOutput路径添加到路径环境变量中的当前文件夹列表。使用C:\ NEO \ neo-compiler-master \ neo-compiler-master \ neon \ bin \ Release \ PublishOutput获取新路径的值。单击确定两次以关闭2个环境变量对话框并返回系统控制面板应用程序。
图5.18. 控制面板:系统属性:路径环境变量
测试Neon NEO MSIL转译器
19. 我们将一步一步来。首先,打开一个新的Windows命令提示符。输入Path并按回车键检查Path环境变量的当前值。您应该能够在列表中找到PublishOutput路径(靠近列表的末尾,但不一定是列表的最后一个元素)。
图5.19. 命令提示符:path环境变量
20. 打开Visual Studio 2017创建一个新的NEO智能合约项目
图 5.20. Visual Studio 2017
21. 选择File> New> Project ...打开New Project对话框。选择Visual C#。选择NeoContract。单击确定关闭此对话框并在Visual Studio中创建一个新的NeoContract解决方案和项目。
图5.21. Visual Studio创建一个新的NeoContract项目
22. 可能需要几分钟才能创建NeoContract项目。
图5.22. Visual Studio: 创建NeoContract 项目
23. 右键单击NeoContract项目文件夹并选择Build。请注意“输出”面板的“Build”部分中突出显示的消息。这2条消息表明Visual Studio能够创建NEO虚拟机字节代码文件以及应用程序二进制交互(ABI)文件(以JSON格式)。
注意:如果您没有看到这两条消息,最可能的场景是:
neon.dll未正确发布。回到本activity的任务6。
Path环境变量设置不正确。回到本activity的任务16。
在设置Path环境变量之前,您已经打开了Visual Studio。关闭Visual Studio,然后返回到任务20。
图5.23. Visual Studio: 搭建NeoContract项目
搭建Neo-Gui-开发者钱包
25. 通过双击activity 2 - 下载中创建的C:\ NEO \ neo-gui-developer-master \ neo-gui-developer-master文件夹中的neo-gui.sln,在Visual Studio中打开neo-compiler项目,下载并解包NEO开发人员工具项目(源代码)。
图5.24. 打开Visual Studio 2017中的neo-gui.sln
26. 取消选中“询问该解决方案中的每个项目”消息,然后点击确定。
图5.25. 取消选中“询问该解决方案中的每个项目”消息,然后点击确定。
27. 将打开右侧的解决方案资源管理器中显示的项目。
图5.26. Visual Studio:解决方案资源管理器
28. (可选)如果您可以对Windows C#.NET Webforms应用程序进行代码更改,请导航至UI文件夹中的Mainform.cs源文件。右键单击该文件并选择查看代码。向下滚动到MainForm()构造函数方法。在构造函数的最后,添加突出显示的单行代码:
this.Text - "neo-gui-dev - " + Settings.Default.DataDirectoryPath;
输入ctrl + s以保存对源文件的更改。这一行代码在应用程序名称旁边的应用程序标题栏中显示区块链数据库文件夹名称。当您使用多组JSON配置文件时,这是一个有用的练习(稍后会详细介绍这些)。
图 5.27.可选的代码更改
测试Neo-Gui-开发者节点/钱包
29. 仍然在Visual Studio中打开neo-gui.sln解决方案(开发者版本),单击开始以使用Visual Studio调试器运行neo-gui。
图5.28. neo-gui:从Visual Studio调试器开始
30. 如果这是您第一次使用NEO项目,则可能会提示您将根证书安装到Windows证书商店中。单击是。
图 5.29. 接受NEO根证书
31. neo-gui (开发者版)应用程序应该打开并开始与NEO测试网络网络同步。您应该会看到随着时间的推移右下角的块数会增加,并且绿色进度条也会开始动起来。点击钱包>退出关闭Neo-Gui-开发者节点 / 钱包应用程序。
图5.30. neo-gui (开发者版本)应用程序
此activity的任务都已完成。前进到activity 6——下载,安装并测试Docker平台
参考资料
· [NEOTUTORIAL] NEO Project, NEO smart contract tutorial from http://docs.neo.org/en-us/sc/tutorial.html
· [NEONCOMPILER] NEO Project, Neon NEO MSIL Transcompiler from https://github.com/neo-project/neo-compiler.
· [NEOGUIDEVWALLET] NEO Project, hNeo-Gui-Developer Node/Wallet from hhttps://github.com/CityOfZion/neo-gui-developer.