以太坊 Ethereum 開發智慧型合約

2021-09-29 15:05:11 字數 1422 閱讀 9274

我們將使用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"

:"[email protected]"

,"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

最近區塊鏈技術引起了我的注意。我剛開始了解它,就看到了區塊鏈去中心化架構的巨大潛力,並且它能夠簡化各種現有繁瑣的流程,通過各種形式的合約。儘管網上提供了大量關於區塊鏈技術和區塊鏈開發的資源,但它們並沒有得到驗證,也不是很容易理解。所以我不得不深入挖掘很多資訊,包括書籍,論壇,文章。現在我能夠將典型的...