NeoRay2.0的使用是怎樣的

NeoRay 2.0的使用是怎樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)公司提供高防主機(jī)、云服務(wù)器、香港服務(wù)器、達(dá)州主機(jī)托管

前言

    NeoRay是NEL社區(qū)推出的一個(gè)方便NEO開(kāi)發(fā)者開(kāi)發(fā)合約的工具。自這個(gè)工具推出以來(lái),受到很多開(kāi)發(fā)者的好評(píng),極大的便捷了廣大的NEO合約開(kāi)發(fā)者。我也一直使用這個(gè)工具進(jìn)行NEO合約的開(kāi)發(fā)和調(diào)試。

    最近NEL推出了新版的NeoRay,增加了python語(yǔ)言的合約開(kāi)發(fā),人性化了一些操作流程。作為一名NEO合約開(kāi)發(fā)愛(ài)好者,迫不及待的嘗了個(gè)鮮。體驗(yàn)下來(lái)還是不錯(cuò)的,頁(yè)面看起來(lái)更加簡(jiǎn)單明了,合約調(diào)用部分也更加人性化。

    由于新版較舊版來(lái)說(shuō),改動(dòng)還是很大的,頁(yè)面和流程都大不相同。作為一個(gè)嘗鮮者還是很有必要記錄一下嘗鮮過(guò)程和心得的,方便后來(lái)者體驗(yàn)。

正文

0x01 登錄

        NeoRay2.0不再直接使用私鑰或者nep6錢(qián)包登錄來(lái)進(jìn)行合約的部署與調(diào)用,改而使用了NEL社區(qū)之前推出的產(chǎn)品TEEMO插件錢(qián)包。在使用NeoRay2.0之前需要安裝好插件錢(qián)包。不然會(huì)出現(xiàn)以下提示:

NeoRay 2.0的使用是怎樣的

        這里附上Teemo插件錢(qián)包的介紹:傳送門(mén)

0x02 頁(yè)面功能介紹

        新版的NeoRay的整體頁(yè)面如下,左邊有五個(gè)功能按鍵:文件瀏覽、合約部署、合約調(diào)用、合約調(diào)試、支持。同時(shí)提供了切回舊版NeoRay的功能。

NeoRay 2.0的使用是怎樣的

0x03 編寫(xiě)或載入合約文件

        在文件瀏覽功能模塊內(nèi),一共有三種方式導(dǎo)入一個(gè)合約文件。第一種是添加本地文件,第二種是創(chuàng)建新的文件直接在線編寫(xiě),剩下的一種是通過(guò)合約hash載入別的開(kāi)發(fā)者部署的合約??梢愿鶕?jù)自己的需要合理選擇。這里我們就使用第一種方式來(lái)做演示。如下圖我導(dǎo)入了一個(gè)本地的test合約:

NeoRay 2.0的使用是怎樣的

0x04  部署合約

        當(dāng)合約編寫(xiě)或?qū)胪瓿芍竽?,我們就需要編譯發(fā)布合約。點(diǎn)擊左側(cè)合約部署按鈕進(jìn)入到部署頁(yè)面,首先點(diǎn)擊編譯按鈕,如果合約書(shū)寫(xiě)正確下方的輸出框就會(huì)顯示合約的hash。如果合約有錯(cuò)誤,就會(huì)提示編譯失敗。目前對(duì)于失敗的原因提示的不夠詳細(xì),希望后續(xù)的更新中能完善失敗原因。

        設(shè)置部署合約時(shí)的一些參數(shù)。“動(dòng)態(tài)調(diào)用”是指該合約中是否存在調(diào)用可變合約的情況,例如調(diào)用B合約但是B合約在合約發(fā)布時(shí)不能夠明確其hash值,那么就需要?jiǎng)討B(tài)調(diào)用的功能。“創(chuàng)建存儲(chǔ)區(qū)”是指合約使用了存儲(chǔ)功能?!翱山邮芨犊睢笔侵负霞s是否可以接受別的地址給其轉(zhuǎn)資產(chǎn)。

        需要注意的是不同的參數(shù)選擇會(huì)帶來(lái)不同的收費(fèi),目前來(lái)講“動(dòng)態(tài)調(diào)用”會(huì)增加500gas的費(fèi)用,“創(chuàng)建存儲(chǔ)區(qū)”會(huì)增加400gas的費(fèi)用。

NeoRay 2.0的使用是怎樣的

        點(diǎn)擊部署合約按鍵后Teemo錢(qián)包會(huì)彈出彈窗要求簽名,點(diǎn)擊同意即可。

0x05 合約調(diào)用

        通過(guò)Teemo錢(qián)包等待部署合約的交易被確認(rèn)

NeoRay 2.0的使用是怎樣的

        交易被確認(rèn)后,點(diǎn)擊NeoRay2.0左側(cè)的合約調(diào)用按鈕,來(lái)到合約調(diào)試模塊。接下來(lái)我就介紹一下這個(gè)模塊下一些參數(shù)的意義和使用方法。

        系統(tǒng)費(fèi):neo公鏈上調(diào)用合約是根據(jù)調(diào)用的指令收費(fèi)的,雖然有10gas的免費(fèi)額度,但是一些復(fù)雜操作還是可能會(huì)超出10gas的額度的。所以如果你調(diào)用的合約過(guò)于復(fù)雜導(dǎo)致費(fèi)用超過(guò)了10gas,這里就需要填寫(xiě)你超出的數(shù)額。手續(xù)費(fèi)價(jià)目表

        網(wǎng)絡(luò)費(fèi):最新的收費(fèi)規(guī)則要求超出1024字節(jié)的交易要額外手續(xù)一定的手續(xù)費(fèi)。Teemo會(huì)自動(dòng)幫加上網(wǎng)絡(luò)費(fèi)。所以這個(gè)地方直接默認(rèn)0就可以了。

        交易附帶Gas:如果你需要向調(diào)用的合約轉(zhuǎn)賬一筆gas,那么就在這個(gè)地方填入具體的數(shù)額。

        增加參數(shù):一般合約的參數(shù)都是(string,object[])這樣的類型。所以第一個(gè)增加的參數(shù)選擇string類型,第二個(gè)選擇數(shù)組類型。如果你的合約與眾不同,那就對(duì)應(yīng)你合約的參數(shù)類型選擇合適的類型。

舉幾個(gè)簡(jiǎn)單的例子

                        1.   如果你的合約是  Main(int a) ,那么參數(shù)一就是 Integer ,不需要參數(shù)二。
                        2.   如果你的合約是  Main(int a , int b) ,那么參數(shù)一就是 Integer ,參數(shù)二也是Integer。

            ps : Address 類型填寫(xiě)的就是“AWKqEmC1HsC4uBDvaoh6JLtQ2rigMdRSwX “,NeoRay會(huì)內(nèi)部轉(zhuǎn)成byte[]。如果對(duì)應(yīng)參數(shù)的選擇還有不理解的可以看一下論壇中對(duì)應(yīng)的帖子。傳送門(mén)

        調(diào)用合約與試運(yùn)行:調(diào)用合約意味著發(fā)送交易上鏈,會(huì)改變鏈上的數(shù)據(jù)。試運(yùn)行意味著模擬執(zhí)行合約,并不會(huì)造成鏈上數(shù)據(jù)的更改。

        接下來(lái)根據(jù)我們之前部署的合約,試運(yùn)行三個(gè)例子演示一下:

第一個(gè)例子如下,參數(shù)一填寫(xiě)“Hello”,得到的返回是“ByteArray”類型,轉(zhuǎn)換之后就是“World”。常用轉(zhuǎn)換工具:傳送門(mén)

        NeoRay 2.0的使用是怎樣的

第二個(gè)例子如下,參數(shù)一填寫(xiě)“return”,參數(shù)二中數(shù)組的首位填寫(xiě)數(shù)字2:

NeoRay 2.0的使用是怎樣的

第三個(gè)例子如下,參數(shù)一填寫(xiě)“add”:

NeoRay 2.0的使用是怎樣的

        接下來(lái)我們使用第三個(gè)例子的參數(shù)進(jìn)行調(diào)用交易的發(fā)送,Teemo錢(qián)包會(huì)彈出彈框要求簽名,交易發(fā)出后等待一會(huì)等交易被確認(rèn)。

0x06 合約調(diào)試

        一個(gè)調(diào)用合約的交易被確認(rèn)后,可以點(diǎn)擊合約調(diào)試按鈕進(jìn)行合約的調(diào)試。這個(gè)功能主要是當(dāng)合約的執(zhí)行結(jié)果與預(yù)期不符時(shí),觀察合約的執(zhí)行流程來(lái)尋找合約的問(wèn)題。

        需要注意的是,一定要選擇正確你要調(diào)試的合約。因?yàn)榻灰琢斜砝镏粫?huì)顯示當(dāng)前錢(qián)包地址調(diào)用此合約的交易。

        如果一個(gè)交易被鏈上確認(rèn)了但是在這個(gè)頁(yè)面還沒(méi)有顯示對(duì)應(yīng)的交易,請(qǐng)耐心等待幾秒或者切換一下功能模塊,盡量不要刷新頁(yè)面。 

NeoRay 2.0的使用是怎樣的

        選擇一個(gè)交易之后便可以調(diào)試,下圖是這個(gè)調(diào)用所執(zhí)行的指令過(guò)程,通過(guò)鍵盤(pán)的上下按鈕可以觀察合約的執(zhí)行過(guò)程。通過(guò)notify可以得到這個(gè)交易的返回值,以及合約拋出的通知。必要的時(shí)候可以通過(guò)拋出通知的方式來(lái)調(diào)試合約,類似調(diào)試時(shí)打log的方法。右下角的CalcStack&AltStack中可以觀察計(jì)算棧和臨時(shí)棧中保存的數(shù)據(jù)。

  NeoRay 2.0的使用是怎樣的

        通過(guò)左邊執(zhí)行的指令以及右邊的合約代碼,可以觀測(cè)合約執(zhí)行到了哪一行代碼報(bào)錯(cuò)?;蛘邎?zhí)行錯(cuò)了哪一些流程。方便開(kāi)發(fā)者調(diào)試。

0x07 支持

        支持功能模塊中有一些NEL社區(qū)的導(dǎo)航,以及索取gas的功能。

 NeoRay 2.0的使用是怎樣的

看完上述內(nèi)容,你們掌握NeoRay 2.0的使用是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享文章:NeoRay2.0的使用是怎樣的
轉(zhuǎn)載來(lái)源:http://bm7419.com/article46/pcdjhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈、微信小程序、網(wǎng)站排名、定制網(wǎng)站移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化