用atom開(kāi)發(fā)solidity智能合約

使用solidity語(yǔ)言撰寫(xiě)智能合約

????????Ethereum 上的智能合約需要使用 solidity 語(yǔ)言來(lái)撰寫(xiě)哄尔。雖然還有其他能用來(lái)撰寫(xiě)智能合約的語(yǔ)言如 Serpent (類(lèi)Python)员萍、 lll (類(lèi)Fortran)兜蠕,但目前看到所有公開(kāi)的智能合約都是使用solidity 撰寫(xiě)戈毒。

本文將使用當(dāng)前最活躍的智能合約開(kāi)發(fā)框架 truffle 為基礎(chǔ)來(lái)開(kāi)發(fā)省艳。ENS(Ethereum Name Service) 也是采用 truffle 框架岭粤。其他選擇還有 embark 等晨抡。

就像一般網(wǎng)站或App開(kāi)發(fā)一樣星著,在提供公開(kāi)服務(wù)之前购笆,開(kāi)發(fā)者會(huì)在自己用于寫(xiě)程序的電腦(又稱(chēng)作本機(jī))或透過(guò)測(cè)試網(wǎng)絡(luò)來(lái)測(cè)試程序執(zhí)行的效果,測(cè)試完成后虚循,才會(huì)部署到公開(kāi)的網(wǎng)絡(luò)上提供服務(wù)同欠。開(kāi)發(fā)區(qū)塊鏈智能合約(程序)的過(guò)程也是如此。特別是公開(kāi)鏈上所有寫(xiě)入或讀取計(jì)算結(jié)果的

操作都需要真金白銀(虛擬代幣)横缔,而且根據(jù)網(wǎng)絡(luò)狀況铺遂,每個(gè)公開(kāi)鏈上的操作都需要要一小段反應(yīng)時(shí)間(15秒~數(shù)分鐘),這些等待頗浪費(fèi)寶貴的開(kāi)發(fā)時(shí)間茎刚。因此在開(kāi)發(fā)的過(guò)程中襟锐,我們將使用 testrpc 工具在電腦上模擬智能合約所需的以太坊內(nèi)存塊鏈測(cè)試環(huán)境。

????????testrpc 中也包含了 Javascript 版本的 Ethereum 虛擬機(jī)(Ethereum Virtual Machine)膛锭,因此可以完整地執(zhí)行智能合約粮坞。

????????此外,開(kāi)發(fā)前還需準(zhǔn)備一個(gè)合手的編輯器初狰。我目前是使用 Atom 搭配 solidity 插件來(lái)開(kāi)發(fā)莫杈。solidity 插件除了支持語(yǔ)法高亮之外,也會(huì)透過(guò) Solium 檢查并提示基本的語(yǔ)法錯(cuò)誤奢入,相當(dāng)方便筝闹。其他編輯器應(yīng)該也有類(lèi)似的插件可選擇。

首先確認(rèn)開(kāi)發(fā)機(jī)上是否裝有Node.js,再使用一下命令安裝所需工具:

$ npm install -g ethereumjs-testrpc truffle

啟動(dòng)Testrpc

安裝好后隨時(shí)可以使用 testrpc 命令來(lái)啟動(dòng)以太坊測(cè)試環(huán)境关顷。

$ testrpc

可以看到 testrpc 啟動(dòng)后自動(dòng)建立了 10 個(gè)帳號(hào)(Accounts)肩杈,與每個(gè)帳號(hào)對(duì)應(yīng)的私鑰(Private

Key)。每個(gè)帳號(hào)中都有 100 個(gè)測(cè)試用的以太幣(Ether)解寝。要注意 testrpc 僅運(yùn)行在內(nèi)存中扩然,因

此每次重開(kāi)時(shí)都會(huì)回到全新的狀態(tài)。

一切準(zhǔn)備就緒聋伦,我們可以開(kāi)始建立第一份智能合約項(xiàng)目了夫偶。

建立項(xiàng)目

先進(jìn)入項(xiàng)目創(chuàng)建路徑下:

eg: ~/user/Desktop/ContractDemo

$ truffle init

目錄結(jié)構(gòu)

/contracts: 存放智能合約原始代碼的地方,可以看到里面已經(jīng)有三個(gè) sol 文件觉增,我們開(kāi)發(fā)的HelloWorld.sol 文件就存放在這里兵拢。

/migrations: 這是 Truffle 用來(lái)部署智能合約的功能,待會(huì)兒我們會(huì)修改2_deploy_contracts.js 來(lái)部署 HelloWorld.sol 逾礁。

/test: 測(cè)試智能合約的代碼放在這里说铃,支持 js 與 sol 測(cè)試。truffle.js: Truffle 的設(shè)置文檔嘹履。

Atom安裝插件


atom下載地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腻扇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子砾嫉,更是在濱河造成了極大的恐慌幼苛,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焕刮,死亡現(xiàn)場(chǎng)離奇詭異舶沿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)配并,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)括荡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人溉旋,你說(shuō)我怎么就攤上這事畸冲。” “怎么了低滩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵召夹,是天一觀的道長(zhǎng)岩喷。 經(jīng)常有香客問(wèn)我恕沫,道長(zhǎng),這世上最難降的妖魔是什么纱意? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任婶溯,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迄委。我一直安慰自己褐筛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布叙身。 她就那樣靜靜地躺著渔扎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪信轿。 梳的紋絲不亂的頭發(fā)上晃痴,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音财忽,去河邊找鬼倘核。 笑死,一個(gè)胖子當(dāng)著我的面吹牛即彪,可吹牛的內(nèi)容都是我干的紧唱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼隶校,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼漏益!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起深胳,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤遭庶,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后稠屠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體峦睡,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年权埠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了榨了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡攘蔽,死狀恐怖龙屉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情满俗,我是刑警寧澤转捕,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站唆垃,受9級(jí)特大地震影響五芝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辕万,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一枢步、第九天 我趴在偏房一處隱蔽的房頂上張望沉删。 院中可真熱鬧,春花似錦醉途、人聲如沸矾瑰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)殴穴。三九已至,卻和暖如春货葬,著一層夾襖步出監(jiān)牢的瞬間推正,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工宝惰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留植榕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓尼夺,卻偏偏與公主長(zhǎng)得像尊残,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子淤堵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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