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

local0發表於2021-09-09

開發工具

  1. Visual Studio 2017

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

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

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

Visual Studio 安裝成功

  1. 安裝 NeoContractPlugin 外掛

開啟 Visual Studio 2017,開啟 工具擴充套件和更新,在左側點選 聯機,搜尋 Neo,安裝 NeoContractPlugin外掛(該過程需要聯網):

工具 -> 擴充套件和更新

聯機 -> 搜尋“Neo” -> 下載“ NeoContractPlugin”

下載好後,關閉視窗,並關閉 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

相關文章