合約是經過雙方或多方約定執行一項交易的法律檔案,具有強制性和可執行性,智能合約是按照用戶的需求撰寫的代碼,并部署和運行在以太坊虛擬機(EVM)上,智能合約在代碼中限定了賬戶之間的交易規則,有利于通過原子化交易來實作數字資產的轉移,也可以用于存盤重要資料,智能合約就是由函式構成的小程式,類似面向物件的class類,可以互相呼叫,就像class類實體化和互相呼叫,
下面來說明一下智能合約的開發流程,
一、環境
1. 運行(部署)環境
合約可以運行在公共網路(以太坊網路)、測驗網路或私有網路,
以太坊:是全球性的公開網路,人人都可以使用,通過賬戶就能進入網路,也都可以查看上面的資料和交易,創建賬戶、部署解決方案和合約都是免費的,使用gas來計費,
測驗網路:測驗網路是從以太坊主網精確復制而來,部署和使用合約都不會發生真實的費用,測驗網路如:Ropsten, Kovan,Rinkeby
私有網路:是在用戶自有的網路上建立和運行的,控制權掌握在一個組織手里,一般作為測驗環境,
1. Ganache
在以太坊上,交易寫入賬本分為2個階段:
(1)創建交易,然后將其放入交易池
(2)定期從交易池中獲取交易,然后開始挖礦,挖礦意味著將這些交易寫入以太坊資料庫或賬本
Ganache 用來快速啟動個人以太坊區塊鏈,可以使用它來運行測驗、執行命令和檢查狀態,同時控制鏈的運行方式,簡單來說,創建一個虛擬的以太坊區塊鏈,并生成一些我們將在開發程序中用到的虛擬賬號,
Ganache下載地址:https://www.trufflesuite.com/ganache
安裝中....

安裝完成,啟動后

2. 開發環境- Windos下安裝Geth
搭建私有網路錢,需要下載Geth(goethereum)工具
Geth是Go Ethereum開源專案的簡稱,它是使用Go語言撰寫且實作了Ethereum協議的客戶端軟體(接到區塊鏈的核心應用程式),也是目前用戶最多,使用最廣泛的客戶端,通過Geth客戶端與以太坊網路進行連接和互動可以實作賬戶管理、合約部署、挖礦等眾多有趣且實用的功能,
Geth下載地址:https://geth.ethereum.org/downloads/ (geth-windows-amd64-1.10.2-97d11b01.exe)
3.部署環境
Truffle:truffle是以太坊開發智能合約的框架,可以快速構建專案并部署智能合約到區塊鏈,幾個步驟就可以創建、編譯和部署專案,為了便于測驗,一般和Ganache配合使用,
二、代碼撰寫
三、部署
合約的發布本身就是一個交易,外部賬戶在EVM上部署合約是通過交易的方式實作的,交易在運行時需要消耗gas,這些gas就需要由合約來提供,一旦交易被寫入到區塊鏈上后,就可以通過合約地址來使用合約了,呼叫方也可以通過地址來呼叫合約里的函式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/293804.html
標籤:區塊鏈
