您好,登錄后才能下訂單哦!
NeoRay 2.0的使用是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
NeoRay是NEL社區推出的一個方便NEO開發者開發合約的工具。自這個工具推出以來,受到很多開發者的好評,極大的便捷了廣大的NEO合約開發者。我也一直使用這個工具進行NEO合約的開發和調試。
最近NEL推出了新版的NeoRay,增加了python語言的合約開發,人性化了一些操作流程。作為一名NEO合約開發愛好者,迫不及待的嘗了個鮮。體驗下來還是不錯的,頁面看起來更加簡單明了,合約調用部分也更加人性化。
由于新版較舊版來說,改動還是很大的,頁面和流程都大不相同。作為一個嘗鮮者還是很有必要記錄一下嘗鮮過程和心得的,方便后來者體驗。
NeoRay2.0不再直接使用私鑰或者nep6錢包登錄來進行合約的部署與調用,改而使用了NEL社區之前推出的產品TEEMO插件錢包。在使用NeoRay2.0之前需要安裝好插件錢包。不然會出現以下提示:
這里附上Teemo插件錢包的介紹:傳送門
新版的NeoRay的整體頁面如下,左邊有五個功能按鍵:文件瀏覽、合約部署、合約調用、合約調試、支持。同時提供了切回舊版NeoRay的功能。
在文件瀏覽功能模塊內,一共有三種方式導入一個合約文件。第一種是添加本地文件,第二種是創建新的文件直接在線編寫,剩下的一種是通過合約hash載入別的開發者部署的合約。可以根據自己的需要合理選擇。這里我們就使用第一種方式來做演示。如下圖我導入了一個本地的test合約:
當合約編寫或導入完成之后呢,我們就需要編譯發布合約。點擊左側合約部署按鈕進入到部署頁面,首先點擊編譯按鈕,如果合約書寫正確下方的輸出框就會顯示合約的hash。如果合約有錯誤,就會提示編譯失敗。目前對于失敗的原因提示的不夠詳細,希望后續的更新中能完善失敗原因。
設置部署合約時的一些參數。“動態調用”是指該合約中是否存在調用可變合約的情況,例如調用B合約但是B合約在合約發布時不能夠明確其hash值,那么就需要動態調用的功能。“創建存儲區”是指合約使用了存儲功能。“可接受付款”是指合約是否可以接受別的地址給其轉資產。
需要注意的是不同的參數選擇會帶來不同的收費,目前來講“動態調用”會增加500gas的費用,“創建存儲區”會增加400gas的費用。
點擊部署合約按鍵后Teemo錢包會彈出彈窗要求簽名,點擊同意即可。
通過Teemo錢包等待部署合約的交易被確認
交易被確認后,點擊NeoRay2.0左側的合約調用按鈕,來到合約調試模塊。接下來我就介紹一下這個模塊下一些參數的意義和使用方法。
系統費:neo公鏈上調用合約是根據調用的指令收費的,雖然有10gas的免費額度,但是一些復雜操作還是可能會超出10gas的額度的。所以如果你調用的合約過于復雜導致費用超過了10gas,這里就需要填寫你超出的數額。手續費價目表
網絡費:最新的收費規則要求超出1024字節的交易要額外手續一定的手續費。Teemo會自動幫加上網絡費。所以這個地方直接默認0就可以了。
交易附帶Gas:如果你需要向調用的合約轉賬一筆gas,那么就在這個地方填入具體的數額。
增加參數:一般合約的參數都是(string,object[])這樣的類型。所以第一個增加的參數選擇string類型,第二個選擇數組類型。如果你的合約與眾不同,那就對應你合約的參數類型選擇合適的類型。
舉幾個簡單的例子
1. 如果你的合約是 Main(int a) ,那么參數一就是 Integer ,不需要參數二。
2. 如果你的合約是 Main(int a , int b) ,那么參數一就是 Integer ,參數二也是Integer。
ps : Address 類型填寫的就是“AWKqEmC1HsC4uBDvaoh6JLtQ2rigMdRSwX “,NeoRay會內部轉成byte[]。如果對應參數的選擇還有不理解的可以看一下論壇中對應的帖子。傳送門
調用合約與試運行:調用合約意味著發送交易上鏈,會改變鏈上的數據。試運行意味著模擬執行合約,并不會造成鏈上數據的更改。
接下來根據我們之前部署的合約,試運行三個例子演示一下:
第一個例子如下,參數一填寫“Hello”,得到的返回是“ByteArray”類型,轉換之后就是“World”。常用轉換工具:傳送門
第二個例子如下,參數一填寫“return”,參數二中數組的首位填寫數字2:
第三個例子如下,參數一填寫“add”:
接下來我們使用第三個例子的參數進行調用交易的發送,Teemo錢包會彈出彈框要求簽名,交易發出后等待一會等交易被確認。
一個調用合約的交易被確認后,可以點擊合約調試按鈕進行合約的調試。這個功能主要是當合約的執行結果與預期不符時,觀察合約的執行流程來尋找合約的問題。
需要注意的是,一定要選擇正確你要調試的合約。因為交易列表里只會顯示當前錢包地址調用此合約的交易。
如果一個交易被鏈上確認了但是在這個頁面還沒有顯示對應的交易,請耐心等待幾秒或者切換一下功能模塊,盡量不要刷新頁面。
選擇一個交易之后便可以調試,下圖是這個調用所執行的指令過程,通過鍵盤的上下按鈕可以觀察合約的執行過程。通過notify可以得到這個交易的返回值,以及合約拋出的通知。必要的時候可以通過拋出通知的方式來調試合約,類似調試時打log的方法。右下角的CalcStack&AltStack中可以觀察計算棧和臨時棧中保存的數據。
通過左邊執行的指令以及右邊的合約代碼,可以觀測合約執行到了哪一行代碼報錯。或者執行錯了哪一些流程。方便開發者調試。
支持功能模塊中有一些NEL社區的導航,以及索取gas的功能。
看完上述內容,你們掌握NeoRay 2.0的使用是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。