Neo智能合約調試比較麻煩,咱們NEL在開發NNS的過程當中,發現現存的工具根本沒法支撐咱們開發如此複雜的智能合約。git
因此咱們搞了一整套本身的智能合約調試工具github
Git 抓取編譯:https://github.com/NewEconoLab/neondebugjson
你將獲得一個嶄新的neon.exe服務器
用他替換掉你原來用的那個neon.exe工具
怎麼替換呢,請參照以下步驟移除你原來neon.exe 的path,換上neondebug的ui
Neondebug 多導出了一個map.json文件,實現avm到源碼的映射。this
同時按照hash 將 avm abi cs map.json 整理到一塊兒spa
好比生成debug
就會直接用scripthash整理相關文件3d
用neondebuggui 「 load avm from file 「 按鈕,加載剛生成的avm文件
能夠進行查看,查看之後,就能夠用NEONDEBUGGUI的調試交易工具調試使用此腳本的交易。
查看一次便可。文件會被copy到neondebuggui的目錄中
使用upload this to server 按鈕,能夠將智能合約代碼上傳到服務器,則任何人能夠獲取到此合約信息
使用 load from server 按鈕,能夠根據scripthash查看服務器上的合約信息。
Git抓取編譯:https://github.com/NewEconoLab/neo-gui-nel
你將獲得一個NEL定製版本的NEO-GUI
這個定製版本乍看沒有什麼東西,可是來發布一下剛纔的智能合約你就會發現一點不一樣
請注意neo-gui-nel 默認配置在testnet上面。
NEL定製版本NEO-GUI已經率先支持了發佈NEP4( dyncall)合約
調用合約NEOGUI定製版也能夠添加一個Array
試想這個智能合約Main(string,object[] args),其中args[0] 是 一個 string[]
這就須要array裏面嵌套array,如今的neogui 是沒有辦法調用這樣的合約的
當你點擊試運行之後就已經能夠調試了
按照Neo-gui-nel默認的配置,你點擊試運行以後,就會在這個目錄獲得一個0x00文件
使用它就能夠完成NEO智能合約調試了。
使用NEONDEBUGGUI的Debug Transaction 選項卡
LoadFromFile button,打開這個0x00文件
你就獲得了一個擁有智能合約詳細執行的每一步的工具。
而且能夠對應到源碼,能夠觀察執行棧細節,能夠觀察每個數據的細節的工具。
讓你能夠徹底瞭解到此次test是怎麼運行的
發送一筆交易,等一下子,等這筆交易被確認
你就能夠在fulllog目錄找到這筆交易對應的文件
打開它,就可以調試這筆交易在鏈上的實際運行細節。
1. 只要有人upload過一次的智能合約,全部人隨時都能調試時看到源碼
2. 咱們有一個爬蟲,隨時將testnet的合約的log文件上傳到服務器
即便你沒有安裝NEO-GUI-NEL,你使用loadformserver按鈕也能夠調試,只要你知道交易id就行。
3. 將來咱們將開發純網頁版的調試工具
4. 將來咱們也將同步主網的數據也上傳服務器
進技術羣交流:795681763