編寫和交互智能合約的集成開發(fā)IDE
Remix - Ethereum IDE
使用Solidity插件
開始編寫Solidity代碼
任何一個智能合約中,都需要先聲明Solidity的版本,定義一個license,一般使用MIT協(xié)議,有些編譯器不寫license會報錯
// SPDX-License-Identifier:MIT
pragma solidity 0.8.7; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范圍內(nèi)的版本
點擊編譯這個文件
定義智能合約部分:
contract SimpleStorage{
}
部署智能合約:部署一個合約其實就是發(fā)送一個交易,我們在區(qū)塊鏈上做任何事,修改任何狀態(tài),就是再發(fā)一個交易,部署一個合約,就修改了區(qū)塊鏈,讓鏈上擁有這個合約,在主網(wǎng)上部署一個合約,就需要支付gas
每次在更改區(qū)塊鏈狀態(tài)的時候,我們都會發(fā)送交易
?
// SPDX-License-Identifier:MIT
pragma solidity 0.8.8; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范圍內(nèi)的版本
contract SimpleStorage{
uint256 favoriteNumber;
function store(uint256 _favoriteNumber) public{
favoriteNumber = _favoriteNumber;
}
}
函數(shù)運算步驟越多,消耗的gas量越多
// SPDX-License-Identifier:MIT
pragma solidity 0.8.8; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范圍內(nèi)的版本
contract SimpleStorage{
?? ?uint256 public favoriteNumber;
?? ?function store(uint256 _favoriteNumber) public{
?? ??? ?favoriteNumber = _favoriteNumber;
?? ??? ?favoriteNumber = favoriteNumber+1;
?? ?}
?? ?function retrieve() public view returns(uint256){
?? ??? ?return favoriteNumber;
?? ?}
}
關(guān)鍵詞view 標(biāo)識函數(shù)的調(diào)用不需要消耗gas,view關(guān)鍵詞表示只會讀取合約的狀態(tài),不允許修改任何狀態(tài)
關(guān)鍵詞view 標(biāo)識函數(shù)的調(diào)用不需要消耗gas,view關(guān)鍵詞表示只會讀取合約的狀態(tài),不允許修改任何狀態(tài)
關(guān)鍵詞pure也不允許修改任何狀態(tài),也不允許讀取合約狀態(tài),只能做算法,表示pure的函數(shù)也不需要支付gas文章來源:http://www.zghlxwxcb.cn/news/detail-777569.html
調(diào)用view和pure函數(shù)都是免費的,除非你在消耗gas的函數(shù)類似store函數(shù)中調(diào)用了,這個時候讀區(qū)區(qū)塊鏈信息,消耗了計算量和gas文章來源地址http://www.zghlxwxcb.cn/news/detail-777569.html
到了這里,關(guān)于Remix介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!