學習區塊鏈(三)--HelloWorld智慧合約
阿新 • • 發佈:2019-02-11
在上一節搭建好環境的基礎上,我們來建立一個簡單的智慧合約:
1.首先開啟一個終端啟動 testrpc,直接輸入testrpc即可
2.然後開啟另一個終端,建立一個資料夾:mkdir dapp
3.初始化第一個truffle專案,truffle init
完成後,你將擁有如下目錄:
》contracts 智慧合約目錄
》migrations 釋出指令碼目錄
》test 存放測試檔案
》truffle.js Truffle的配置檔案
4.在contracts目錄中新建一個HelloWorld.sol檔案,程式碼如下:
pragma solidity ^0.4.4;
contract HelloWorld {
function sayHello() returns (string) {
return ("hello");
}
5.編輯migrations/1_initial_migration.js部署指令碼,將我們剛才建立的Hello_mshk_top.sol檔案設定到釋出配置檔案中,內容如下:
var HelloWorld = artifacts.require("./HelloWorld.sol");
module.exports = function(deployer) {
deployer.deploy(HelloWorld);
};
千萬不要打錯字母哦!!!
6.將專案使用truffle compile命令進行編譯,編譯後的檔案都放在了./build/contracts目錄下;
7.部署智慧合約,編輯truffle.js配置檔案,設定我們稍後要部署智慧合約的位置,內容如下:
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*"
}
}
};
8.truffle的智慧合約專案部署,使用下面的命令:
truffle deploy
9.與合約互動
truffle console
HelloWorld .deployed().then(instance => contract = instance)
truffle console 中預載了 truffle-contract 函式庫,以方便操作部署到區塊鏈上的合約。
這邊使用 HelloWorld.deployed().then 語句來取得 HelloWorld 合約的 Instance (例項),並存
到 contract 變數中,以方便後續的呼叫。
最後呼叫合約:
contract.sayHello()
到此,簡單的合約部署就成功了,下一步將繼續學習sodility的語法知識!