EOS Studio教程#2 - 如何在本地節(jié)點(diǎn)上進(jìn)行EOSIO開發(fā)

關(guān)注?EOS Asia?了解每周EOS資訊

版權(quán)聲明:EOS?GO譯文

原文鏈接:https://www.eosgo.io/blog/eos-studio-local-dev/

EOS?Studio是用于EOSIO?dApp開發(fā)的圖形集成開發(fā)(IDE),通過在應(yīng)用程序中集成EOSIO所需的各種工具炉峰,從而為dApp開發(fā)提供了功能強(qiáng)大且易于使用的環(huán)境。其主要功能包括EOSIO定制代碼的編輯谱仪、內(nèi)置構(gòu)建及部署、交互式合同的檢查敬尺、EOSIO版本管理等等砂吞。開發(fā)人員們通過使用EOS?Studio可以完成本地開發(fā)、測試網(wǎng)(Kylin和Jungle)上的調(diào)試概而、EOS主網(wǎng)上部署的整個(gè)開發(fā)過程。

EOS?Studio目前可在Mac?OS囱修、Linux及Windows上使用赎瑰,可通過以下鏈接下載更新安裝包:

https://download.eosstudio.io/mac

https://download.eosstudio.io/linux

http://download.eosstudio.io/win

在本系列教程中,我們將會(huì)從EOS?Studio的主要功能以及DApp的開發(fā)方法等方面進(jìn)行介紹破镰,熟悉EOS的開發(fā)人員還可以借此學(xué)習(xí)一下如何通過使用EOS?Studio從而減少繁瑣的工作以及怎樣提高開發(fā)效率餐曼。當(dāng)然,請先確認(rèn)好你已下載并安裝了EOS?Studio鲜漩。

在教程#1中源譬,我們已經(jīng)對EOSIO的必備工具的安裝情況基本了解。因此在本文中瓶佳,我們將對如何使用EOS?Studio完成EOSIO智能合約的開發(fā)流程進(jìn)行講解习寸,內(nèi)容包括:

創(chuàng)建/打開一個(gè)項(xiàng)目

建立/編譯智能合約

啟動(dòng)本地EOSIO節(jié)點(diǎn)

創(chuàng)建本地帳戶

部署智能合約

執(zhí)行智能合約

對于如何實(shí)際編寫智能合約這部分暫且不詳細(xì)介紹坊饶,因?yàn)榱私夂霞s開發(fā)的整個(gè)過程更為重要津函,否則,你將無法執(zhí)行剛剛編寫好的代碼。而對于編寫EOSIO智能合約有所了解的人們來說乐疆,通過本文的概述則能夠更加清楚EOS?Studio的主要功能。

1.創(chuàng)建/打開一個(gè)項(xiàng)目

在一切安裝完成準(zhǔn)備就緒時(shí),你會(huì)看到一個(gè)空項(xiàng)目的屏幕,你可以在其中創(chuàng)建一個(gè)新的項(xiàng)目或打開現(xiàn)有的項(xiàng)目撩匕。通過EOS?Studio的引導(dǎo)創(chuàng)建新項(xiàng)目非常方便扁凛,只需要輸入合約名稱并未項(xiàng)目選擇一個(gè)文件夾即可洗出,EOS?Studio將自動(dòng)生成初始的cpp_和_hpp文件,其中包含一些“hello?world”智能合約的基本代碼隘梨。

代碼編輯器集成了一些最實(shí)用的合約開發(fā)工具垮斯,例如:EOSIO特定語法的突出顯示和自動(dòng)完成。在左上方的工具欄菜單中剂习,有一些按鈕可以協(xié)助你輕松執(zhí)行常見的操作,如創(chuàng)建新的合約片部、編譯合約及部署合約缘回。

為了使EOSIO項(xiàng)目更具可配置性,EOS?Studio定義了一個(gè).eosprojfile啦吧,類似于節(jié)點(diǎn)項(xiàng)目的package.json文件,用于描述項(xiàng)目范圍的參數(shù)和設(shè)置极阅。而對于通過EOS?Studio所創(chuàng)建的項(xiàng)目尺铣,會(huì)被默認(rèn)設(shè)置生成.eosproj文件争舞。否則凛忿,你需要指定一些配置,以便編譯和部署工作可以正常進(jìn)行竞川。

EOS?Studio提供了一個(gè)Project?Settings頁面店溢,可以輕松查看和修改.eosproj文件叁熔,通過單擊工具欄菜單中的cog按鈕便可訪問該文件。第一為定義項(xiàng)目的主文件逞怨,編譯過程將從此文件開始者疤。?第二為合約名稱項(xiàng)福澡,對應(yīng)于CDT命令行的--contractattribute叠赦,也是編譯過程中所必需的。?以下各項(xiàng)則為可選項(xiàng)革砸,通常用于編譯中的某些高級配置除秀。?可以參考CDT命令行文檔以了解如何使用斥扛。

在以下部署設(shè)置中瓢剿,可以將智能合約部署到指定的帳戶。?EOS?Studio支持本地度苔、Kylin/Jungle測試網(wǎng)以及EOSIO主網(wǎng)效拭,因此可以單獨(dú)指定所要部署的位置暂吉。?例如:如果我們在本地配置中輸入newcontract,你將會(huì)看到工具欄中部署按鈕旁也會(huì)顯示該名稱缎患,只需單擊按鈕慕的,EOS?Studio便會(huì)將最新編譯的代碼部署到新的賬戶。

2.建立/編譯智能合約

通過單擊build_button挤渔,EOS?Studio將調(diào)用CDT進(jìn)行編譯并生成_wasm和abi文件肮街,?這些是部署時(shí)要使用到的文件。

EOS?Studio代碼編輯器還有另外一個(gè)非常便利的功能——當(dāng)構(gòu)建錯(cuò)誤時(shí)會(huì)出現(xiàn)提示判导。

由于我們希望將所部署的合約能夠與更為復(fù)雜有趣的合約進(jìn)行交互嫉父,所以需要打開系統(tǒng)合約eosio.token并進(jìn)行編譯。?轉(zhuǎn)到“文件?-?>系統(tǒng)項(xiàng)目?-?>?eosio.token”將其打開眼刃。因?yàn)槭鞘状卧贓OS?Studio中打開該項(xiàng)目绕辖,所以需要進(jìn)行項(xiàng)目設(shè)置,主文件填寫為src?/?eosio.token.cpp擂红,合約名稱填寫為eosio.token仪际,在“部署設(shè)置”中,還要為local_item填寫eosio.token篮条,然后單擊_build按鈕進(jìn)行編譯弟头,并等待生成wasm和abi文件。

3.啟動(dòng)本地EOSIO節(jié)點(diǎn)

在部署合約之前涉茧,我們還需要啟動(dòng)本地節(jié)點(diǎn)赴恨。?在“網(wǎng)絡(luò)”選項(xiàng)卡下,可以看到以前所安裝的EOSIO伴栓。若要啟動(dòng)本地節(jié)點(diǎn)伦连,只需單擊“開始”按鈕雨饺,在下面的終端中,你將會(huì)看到節(jié)點(diǎn)正在生成塊惑淳。

如果你需要使用其他版本的EOSIO额港,可以點(diǎn)擊右上角的“添加”按鈕來下載安裝其他版本。此外還可通過cog來對nodeos和keosd進(jìn)行其他高級設(shè)置歧焦。

4.創(chuàng)建本地帳戶

在剛剛所啟動(dòng)的運(yùn)行節(jié)點(diǎn)上創(chuàng)建eosio.token賬戶移斩,則需要公鑰:轉(zhuǎn)到帳戶?-?>管理密鑰對并復(fù)制公鑰即可。?若需要使用其他公鑰绢馍,點(diǎn)擊“導(dǎo)入新密鑰”并輸入私鑰向瓷。

然后,轉(zhuǎn)到帳戶?-?>創(chuàng)建帳戶舰涌。?輸入帳戶名稱_eosio.token猖任,粘貼公鑰以創(chuàng)建帳戶。

在“account?tab”輸入賬戶名稱便可查看賬戶的所有信息瓷耙。

5.部署智能合約

一起準(zhǔn)備就緒就可以開始部署合約了朱躺。返回代碼編輯器并點(diǎn)擊部署按鈕(eosio.token旁邊)。?EOS?Studio將為你完成必要的操作搁痛,包括為_setabi_actions調(diào)用setcode长搀。

當(dāng)合約部署完成后,返回帳戶頁面落追,你會(huì)在交易中看到setcode和setabi的記錄盈滴,表明合約已部署在鏈上了。

6.執(zhí)行智能合約

接下來就到了執(zhí)行合約的步驟轿钠。?打開“合同”選項(xiàng)卡巢钓,然后在導(dǎo)航欄中鍵入eosio.token以打開合約。在EOS?Studio可以有兩個(gè)方法查看合約:1疗垛、通過左側(cè)執(zhí)行操作面板症汹;2、通過右側(cè)查詢數(shù)據(jù)表面板贷腕;每個(gè)面板的左上角都有個(gè)下拉菜單背镇,分別可以輕松查看所有操作記錄。

在開始使用eosio.token合約之前泽裳,首先需要?jiǎng)?chuàng)建一個(gè)新的令牌瞒斩。在操作下拉菜單中選擇創(chuàng)建操作-?>將發(fā)行者設(shè)置為eosio-?>最大供應(yīng)量為1000?EOS-?>單擊頂部的開始按鈕以執(zhí)行該操作。

接下來轉(zhuǎn)到右側(cè)表格面板并下拉列表選擇stat涮总,然后在范圍字段中輸入EOS-?>點(diǎn)擊刷新之后胸囱,你將會(huì)看到所創(chuàng)建的新EOS令牌。

若想要?jiǎng)?chuàng)建發(fā)布屬于自己的令牌瀑梗,進(jìn)行操作需要先向eosio發(fā)出10個(gè)EOS烹笔,然后可在窗口中查看詳細(xì)信息裳扯。

EOS?Studio支持更改授權(quán)帳戶。打開授權(quán)窗口為actor輸入ineosio谤职,選擇重新運(yùn)行該操作饰豺,便會(huì)看到操作成功的提示。刷新統(tǒng)計(jì)表之后允蜈,便可看到所提供的10個(gè)EOS(已發(fā)布)冤吨。

在修改智能合約時(shí),經(jīng)常需要重復(fù)相同的操作陷寝,并通過不斷刷新列表來查看最新的數(shù)據(jù)情況锅很。大多數(shù)的HTTP?API客戶端都具有存儲(chǔ)呼叫歷史并以書簽形式保存常用參數(shù)其馏,?EOS?Studio也同樣具備此功能凤跑。(針對檢查過往的執(zhí)行結(jié)果或想要使用先前相同的參數(shù)重新運(yùn)行,會(huì)方便快捷不少)點(diǎn)擊界面右上角的時(shí)鐘圖表按鈕叛复,便可通過操作執(zhí)行表來查詢歷史記錄仔引。

除此之外,EOS?Studio還具備將常用參數(shù)保存到書簽的功能褐奥。例如:如果我想反復(fù)向一個(gè)賬戶轉(zhuǎn)賬EOS咖耘,保存即可無需每次都輸入。點(diǎn)擊心形圖標(biāo)選擇添加書簽撬码,你將會(huì)看到合同操作儿倒,授權(quán)程序以及要執(zhí)行的參數(shù),只需輸入名稱然后保存呜笑,之后便可隨時(shí)在書簽中找到并訪問了夫否。

最后,如果要檢查正在執(zhí)行的操作叫胁,請返回帳戶選項(xiàng)卡并刷新凰慈。

以上便是EOSIO合約開發(fā)的相關(guān)流程,其中包括創(chuàng)建項(xiàng)目驼鹅,編譯合同代碼微谓,啟動(dòng)本地節(jié)點(diǎn),創(chuàng)建帳戶输钩,將合約部署到本地節(jié)點(diǎn)以及調(diào)用合約操作等豺型。?在下一篇文章中,我們將展示如何開發(fā)Kylin?/?Jungle測試網(wǎng)和EOS主網(wǎng)买乃。與此同時(shí)?EOS?Studio?還將提供一些方便的操作工具姻氨,使開發(fā)過程更加順暢。?敬請關(guān)注为牍!

如果對EOS?Studio以及本系列教程的任何想法哼绑。請將反饋意見發(fā)給我們岩馍,對于我們改進(jìn)EOS?Studio有很大幫助。?

網(wǎng)站:https://www.eosstudio.io

電報(bào):https://t.me/eosstudio

免責(zé)聲明:上述作者表達(dá)的觀點(diǎn)不一定代表EOS?GO及EOS?Asia的觀點(diǎn)抖韩。?EOS?GO是一個(gè)社區(qū)蛀恩,其中EOS?GO博客是作者表達(dá)其不同想法和觀點(diǎn)的平臺(tái)。

我們的目標(biāo)

我們確保EOS作為一種健康的社區(qū)驅(qū)動(dòng)的公鏈茂浮,維護(hù)EOS生態(tài)双谆,對抗所有想通過把生態(tài)系統(tǒng)私有化為自己爭取利益的人或者組織。

EOS?Asia將把全世界最好的技術(shù)聚合在一起席揽,立志讓人人都能用到區(qū)塊鏈的基礎(chǔ)設(shè)施顽馋。

了解我們

EOS?Asia主頁:https://www.eosasia.one

EOS?Asia瀏覽器:https://www.eosx.io

EOS?Asia官方電報(bào)群:https://t.me/@EOSAsia

EOSInfra官網(wǎng):?https://www.eosinfra.io

EOSInfra官方電報(bào)群:https://t.me/@eosinfra

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市幌羞,隨后出現(xiàn)的幾起案子寸谜,更是在濱河造成了極大的恐慌,老刑警劉巖属桦,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熊痴,死亡現(xiàn)場離奇詭異,居然都是意外死亡聂宾,警方通過查閱死者的電腦和手機(jī)果善,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來系谐,“玉大人巾陕,你說我怎么就攤上這事〖退” “怎么了鄙煤?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長止喷。 經(jīng)常有香客問我馆类,道長,這世上最難降的妖魔是什么弹谁? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任乾巧,我火速辦了婚禮,結(jié)果婚禮上预愤,老公的妹妹穿的比我還像新娘沟于。我一直安慰自己,他們只是感情好植康,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布旷太。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪供璧。 梳的紋絲不亂的頭發(fā)上存崖,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機(jī)與錄音睡毒,去河邊找鬼来惧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛演顾,可吹牛的內(nèi)容都是我干的供搀。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼钠至,長吁一口氣:“原來是場噩夢啊……” “哼葛虐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起棉钧,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤屿脐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后掰盘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摄悯,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年愧捕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片申钩。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡次绘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出撒遣,到底是詐尸還是另有隱情邮偎,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布义黎,位于F島的核電站禾进,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏廉涕。R本人自食惡果不足惜泻云,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狐蜕。 院中可真熱鬧宠纯,春花似錦、人聲如沸层释。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至廉白,卻和暖如春个初,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背猴蹂。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工勃黍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晕讲。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓覆获,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓢省。 傳聞我的和親對象是個(gè)殘疾皇子弄息,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容