我們將使用truffle建立乙個智慧型合約專案,該智慧型合約的功能是可以獲取值和設定值。
首先建立專案目錄:
然後使用truffle init
初始化專案,將生成專案模板檔案:
$ truffle init
我們可以檢視一下生成的專案目錄:
卷 資料 的資料夾 path 列表
卷序列號為 0c52-9cf4
g:.│ truffle-config.js
│├─contracts
│ migrations.sol
│├─migrations
│ 1_initial_migration.js
│└─test
package.json
是npm用來管理包的配置檔案,在專案根目錄下建立此檔案,內容如下:
,"scripts":,
"author"
,"license"
:"isc"
,"devdependencies"
:}
關於依賴的包,可以在後面章節中,用到時逐個安裝。
在contracts 目錄中建立乙個新檔案mycontract.sol
,內容如下所示:
// 宣告solidity版本
pragma solidity ^
0.5.0
;// 宣告智慧型合約mycontract,合約的所有**都包含在花括號中。
contract mycontract
// 本函式讀取值狀態變數的值。可見性設定為public,以便外部帳戶可以訪問它。
// 它還包含view修飾符並指定乙個字串返回值。
function
get(
)public view returns
(string memory )
// 本函式設定值狀態變數的值。可見性設定為public,以便外部帳戶可以訪問它。
function
set(string memory _value)
public
}
這個智慧型合約的功能是可以獲取值和設定值。
現在讓我們編譯專案:
專案目錄下執行命令:
$ truffle compile
等編譯完成,可以看到多了乙個build
目錄,該目錄下生成了新檔案:./build/contract/mycontract.json
這個檔案是智慧型合約abi檔案,代表「抽象二進位制介面」。這個檔案有很多作用,其中2個重要作用:
本教程的後續章節中,將涉及到這兩個功能。
智慧型合約 以太坊
智慧型合約是執行在可複製 共享的賬本上的電腦程式,可以處理資訊,接收 儲存和傳送價值。2.1 什麼是以太坊 以太坊 ethereum 是乙個分布式計算機,有許多的節點,其中的每乙個節點都會執行智慧型合約,然後把結果存在區塊鏈上。由於整個網路是分布式的,且應用就是乙個個的狀態組成,儲存了狀態就有了服務...
以太坊Dapp開發
名詞 區塊鏈可以分為 公有鏈 聯盟鏈和私有鏈。聯盟鏈 本質仍然是一種私有鏈,只不過它要比小組織開發的私有鏈更大,但是卻沒有公有鏈這麼大的規模,可以理解為它是介於公有鏈和私有鏈的一種區塊鏈。聯盟鏈的特點 聯盟鏈專案 fabric 介紹 fabric 是乙個面向企業應用的區塊鏈框架。以太坊主要是公有鏈,...
C 開發智慧型合約和以太坊dApp
最近區塊鏈技術引起了我的注意。我剛開始了解它,就看到了區塊鏈去中心化架構的巨大潛力,並且它能夠簡化各種現有繁瑣的流程,通過各種形式的合約。儘管網上提供了大量關於區塊鏈技術和區塊鏈開發的資源,但它們並沒有得到驗證,也不是很容易理解。所以我不得不深入挖掘很多資訊,包括書籍,論壇,文章。現在我能夠將典型的...