1. 程式人生 > >學習區塊鏈(三)--HelloWorld智慧合約

學習區塊鏈(三)--HelloWorld智慧合約

在上一節搭建好環境的基礎上,我們來建立一個簡單的智慧合約:

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的語法知識!