如何用 C# 編寫 NEO 智能合約

開發工具

  1. Visual Studio 2017

Visual Studio 下載地址,安裝或者更新到最新版。html

安裝過程很簡單,直接按照提示一步一步操做便可,須要注意的是在安裝時須要勾選 .NET Core 跨平臺開發,安裝大概須要十幾分鍾或幾十分鐘:git

Visual Studio 2017 安裝(勾選 .NET Core 跨平臺開發)github

Visual Studio 安裝成功c#

  1. 安裝 NeoContractPlugin 插件

打開 Visual Studio 2017,打開 工具擴展和更新,在左側點擊 聯機,搜索 Neo,安裝 NeoContractPlugin插件(該過程須要聯網):bash

工具 -> 擴展和更新app

聯機 -> 搜索「Neo」 -> 下載「 NeoContractPlugin」工具

下載好後,關閉窗口,並關閉 Visual Studio,在彈出的窗口上選擇「修改」:visual-studio

關閉 Visual Studio -> 選擇「修改」開發工具

關閉窗口測試

  1. neo-compiler

在 Github 上下載 neo-compiler項目,用 Visual Studio 2017 打開該解決方案,發佈其中的 neon 項目:

文件 -> 打開 -> 項目/解決方案

選擇剛剛下載的 neo-compiler 項目

打開後的界面(右側)

選中 neon

右鍵 -> 發佈

Configuration 和 Target Runtime 兩個參數根據本身的須要修改並保存

neon 項目默認的發佈平臺爲 win10-x64,若是你不是 Windows10 系統,須要修改發佈平臺,用文本編譯器打開 neon.csproj 文件,將 <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>更改成目標平臺,如 <RuntimeIdentifiers>win7-64\</RuntimeIdentifiers>,而後用 VS 從新發布該項目便可。詳細 RID 能夠參考 .NET Core Runtime IDentifier (RID) catalog

點擊發布

發佈成功

【注】在發佈過程當中遇到的問題:

發佈失敗

tmp966A.tmp

諮詢NEO的開發人員,說是 vs2017 和 dotnetcore 這塊有點問題,建議我使用命令行發佈:

進入neon 目錄
運行命令: dotnet publish -r win10-x64 -c debug
r參數 c參數能夠根據你的喜愛填寫

運行命令 dotnet publish -r win10-x64 -c debug

驗證是否成功,到該目錄下查看是否有exe 文件,有的話就說明成功了:

C:\Users\Allen\Downloads\neo-compiler-master\neo-compiler-master\neon\bin\Release\netcoreapp1.0\win10-x64\publish\
複製代碼

存在 neon 應用程序文件

命令運行成功後,從新點擊一下「發佈」按鈕便可。

  1. 修改環境變量

發佈成功後,會在 bin\Release\PublishOutput目錄下生成 neon.exe文件:

bin\Release\PublishOutput

而後須要添加 path,讓任何位置都能訪問這個 exe 程序:

打開文件資源管理器 -> 此電腦 -> 屬性:

計算機 -> 屬性

點擊「高級系統設置」,選擇「環境變量」:

高級系統設置 -> 環境變量

環境變量界面

選中系統變量中的 Path,點擊「編輯」:

Path -> 編輯

新建

拷貝該路徑

粘貼並肯定

再次肯定

添加完 path 後,運行 CMD 或者 PowerShell 測試一下(若是添加 path 前就已經啓動了 CMD 則要關掉重啓),輸入 neon 後,沒有報錯,輸出如圖所示的版本號的提示信息即表示環境變量配置成功:

驗證環境變量是否配置成功

建立項目

以上四步安裝配置成功後,便可在 Visual Studio 2017 中建立 NEO 智能合約項目(.NET Framework 版本任意):

新建 -> 項目

建立 NEO 智能合約項目

建立項目好後,會自動生成一個 c# 文件,默認的類繼承於 SmartContract:

智能合約 c# 文件

出現錯誤:新建的 NeoContract 項目找不到 Neo 命名空間

解決方法:
在 VS 中右鍵解決方案文件,點擊 「還原 NuGet 程序包」 ,這時在 「輸出」 面板會看到 「正在還原 NuGet 程序包…」。全部程序包已經還原成功後,若是代碼仍然報錯,而且右側 「引用」 中仍有個感嘆號,能夠嘗試雙擊感嘆號:

還原 NuGet 程序包

雙擊「引用」中的感嘆號

錯誤解決

編譯項目

點擊菜單欄上的「生成」 -> 「生成解決方案」(快捷鍵 Ctrl + Shift + B)開始編譯程序:

生成解決方案

編譯成功

編譯成功後你會在該項目的 bin/Debug目錄下看到生成的 項目名.avm文件,該文件便是生成的 NEO 智能合約文件:

智能合約文件(項目名.avm)

總結

歡迎留言討論,有錯誤請指出,謝謝!

【聯繫我或者加入社羣,請戳這裏!】

參考連接

更新日誌

  • 2018.02.23 第一次更新
  • 2018.08.07 第二次更新

做者:AlleniCoder
連接:https://www.jianshu.com/p/d0da4ec13716
來源:簡書
簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。

Discord:discord.io/neo
Telegram英文羣:t.me/NEO_EN
Telegram中文羣:t.me/NEO_Chinese開發者交流QQ羣:795681763
相關文章
相關標籤/搜索