- 區(qū)塊鏈應(yīng)用開發(fā)指南:業(yè)務(wù)場景剖析與實戰(zhàn)
- 熊麗兵 董一凡等
- 460字
- 2022-07-28 20:18:10
4.2 智能合約
到底什么是智能合約呢?那就是以太坊上運行的程序,和其他程序一樣,它也是由代碼和數(shù)據(jù)組成的。智能合約中的數(shù)據(jù)也稱為“狀態(tài)”,因為整個區(qū)塊鏈就是由所有數(shù)據(jù)確定的一個狀態(tài)機。
智能合約的英文是smart contract,和人工智能(AI:Artificial Intelligence)所說的智能沒有關(guān)系,智能合約的概念最早由尼克·薩博提出,就是將法律條文寫成可執(zhí)行代碼,讓法律條文的執(zhí)行中立化,這和區(qū)塊鏈上的程序可以不被篡改地執(zhí)行在理念上不謀而合,因此區(qū)塊鏈引入了智能合約這個概念。
以太坊智能合約是“圖靈完備”的,因此理論上我們可以用它來編寫能做任何事情的程序。
智能合約現(xiàn)在的主要編程語言是Solidity和Vyper,Solidity更為成熟一些,本書中的智能合約代碼都是用Solidity編寫,通常合約文件的擴展名是.sol。下面就是一個簡單的計數(shù)器合約。

這段代碼有一個類型為uint(無符號整數(shù))名為“counter”的變量。counter變量的內(nèi)容(值)就是該合約的狀態(tài)。每當(dāng)我們調(diào)用count()函數(shù)時,此智能合約的區(qū)塊鏈狀態(tài)將增加1,這個狀態(tài)是對任何人都可見的。
圖4-2很好地表示了智能合約的內(nèi)容 。

圖4-2 智能合約包含的內(nèi)容
從本書第5章開始,我們會進一步介紹智能合約開發(fā)。
推薦閱讀
- 漫話大數(shù)據(jù)
- SQL Server 2008數(shù)據(jù)庫應(yīng)用技術(shù)(第二版)
- 云計算服務(wù)保障體系
- UDK iOS Game Development Beginner's Guide
- Scratch 3.0 藝術(shù)進階
- SQL應(yīng)用及誤區(qū)分析
- HikariCP連接池實戰(zhàn)
- 一本書講透Elasticsearch:原理、進階與工程實踐
- Solaris操作系統(tǒng)原理實驗教程
- 商業(yè)智能工具應(yīng)用與數(shù)據(jù)可視化
- Node.js High Performance
- 數(shù)據(jù)中臺實戰(zhàn):手把手教你搭建數(shù)據(jù)中臺
- 數(shù)據(jù)之美:一本書學(xué)會可視化設(shè)計
- 一本書讀懂大數(shù)據(jù)
- 數(shù)據(jù)產(chǎn)品經(jīng)理寶典:大數(shù)據(jù)時代如何創(chuàng)造卓越產(chǎn)品