solidity系列教程<十六>以太坊私鏈Truffle框架部署智能合約

Truffle

Truffle 是世界一流的開發(fā)環(huán)境温眉,為以太坊的測(cè)試框架和資產(chǎn)管道慨绳,致力于使以太坊開發(fā)者的生活更容易挟伙。使用Truffle,有以下特點(diǎn):

  • 內(nèi)置智能合約編譯荐开、鏈接付翁、開發(fā)和二進(jìn)制管理。
  • 快速開發(fā)的自動(dòng)化合約測(cè)試
  • 腳本晃听、可擴(kuò)展性部署和遷移框架百侧。
  • 用于部署到任意數(shù)量的公網(wǎng)和私網(wǎng)的網(wǎng)絡(luò)管理
  • 基于EthPM和NPM,并使用ERC190標(biāo)準(zhǔn)進(jìn)行包管理
  • 為合約通信提供交互式控制臺(tái)
  • 為緊密集成提供可配置的構(gòu)建管道
  • 在Truffle的環(huán)境中執(zhí)行外部的運(yùn)行腳本

我們?cè)趺窗惭b這個(gè)框架
npm install -g truffle
安裝完成后 使用命令truffle --version能看到truffle的版本能扒,若提示沒(méi)有truffle命令佣渴,則需要將你的node的bin目錄添加到系統(tǒng)的環(huán)境變量文件/etc/profile

安裝完成后我們可以快速初始化一個(gè)truffle 項(xiàng)目
1、創(chuàng)建一個(gè)文件夾 : mkdir MetaCoin
2初斑、進(jìn)入剛創(chuàng)建的文件夾 : cd MetaCoin
3辛润、 truffle init若全局翻墻之后則會(huì)下載不下來(lái),但是我們可以通過(guò)
git clone ne https://github.com/trufflesuite/truffle-init-bare.git 下載见秤,得到是一樣的

Truffle框架介紹

trffle.png

  • contracts/: 合約源碼存放文件夾
  • migrations/: 合約部署腳本
  • test/: 測(cè)試案例存放文件夾
  • truffle.js: 配置文件

通過(guò)一個(gè)簡(jiǎn)單的HelloWorld合約砂竖,來(lái)熟悉Truffle框架的合約編寫灵迫,部署,測(cè)試

1晦溪、在contracts文件夾內(nèi)新建一個(gè)HelloWrold.sol合約,合約內(nèi)容如下

pragma solidity ^0.4.24;
contract HelloWorld{    
    uint i = 8;   
    function getI ()public view returns(uint){      
       return i;   
    }    
    function addI (uint s)public view returns(uint){    
       return (i+s);   
    }
}

2瀑粥、編寫完成后我們先進(jìn)入truffle 的開發(fā)模式

truffle develop 即可進(jìn)入開發(fā)模式,會(huì)返回10個(gè)賬號(hào)三圆,結(jié)果如下圖

truffle1.png

3狞换、在開發(fā)模式下編譯我們寫的合約compile

truffle2.png

編譯后會(huì)生成一個(gè)build的文件夾:
trffle3.png

4、編譯完成后我們開始遷徙我們的HelloWorld合約舟肉,我們首先需要在migrations文件夾內(nèi)建立一個(gè)js文件修噪,我們命名為 2_deploy_HelloWorld.js
在js內(nèi)寫入一下內(nèi)容,其實(shí)就是照上面的那個(gè)1_initial_migration.js內(nèi)容,稍微修改變量名和文件名路媚,路徑都差不多

var HelloWorld= artifacts.require("./HelloWorld.sol");

module.exports = function(deployer) {
  deployer.deploy(HelloWorld);
};

5黄琼、弄完后再truffle 開發(fā)模式下的窗口輸入命令migrate,若得不到下面紅框類似的結(jié)果整慎,則需要 加 --reset 重新遷徙代碼到區(qū)塊鏈

truffle4.png

truffle5.png

6脏款、遷徙代碼到區(qū)塊鏈上完成后我們開始部署我們的合約:先定義變量addr用來(lái)保存合約部署成功后的合約對(duì)象


truffle6.png

7、合約部署成功后我們就可以測(cè)試裤园,還記得我們寫合約時(shí)候的2個(gè)函數(shù)么getI 和 addI 我們初始的I 值是8 我們先來(lái)測(cè)試下:直接用addr合約對(duì)象調(diào)用方法即可撤师。

truffle7.png

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拧揽,隨后出現(xiàn)的幾起案子剃盾,更是在濱河造成了極大的恐慌,老刑警劉巖淤袜,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痒谴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铡羡,警方通過(guò)查閱死者的電腦和手機(jī)积蔚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蓖墅,“玉大人库倘,你說(shuō)我怎么就攤上這事÷鄯” “怎么了教翩?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贪壳。 經(jīng)常有香客問(wèn)我饱亿,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任彪笼,我火速辦了婚禮钻注,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘配猫。我一直安慰自己幅恋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布泵肄。 她就那樣靜靜地躺著捆交,像睡著了一般。 火紅的嫁衣襯著肌膚如雪腐巢。 梳的紋絲不亂的頭發(fā)上品追,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音冯丙,去河邊找鬼肉瓦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛胃惜,可吹牛的內(nèi)容都是我干的泞莉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蛹疯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼戒财!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起捺弦,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎孝扛,沒(méi)想到半個(gè)月后列吼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苦始,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年寞钥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陌选。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡理郑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咨油,到底是詐尸還是另有隱情您炉,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布役电,位于F島的核電站赚爵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冀膝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一唁奢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窝剖,春花似錦麻掸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至千所,卻和暖如春狂魔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背淫痰。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工最楷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人待错。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓籽孙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親火俄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子犯建,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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