编写和交互智能合约的集成开发IDE

2 篇文章 0 订阅
1 篇文章 0 订阅

https://remix.ethereum.org/#optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.7+commit.e28d00a7.js

使用Solidity插件

开始编写Solidity代码

任何一个智能合约中,都需要先声明Solidity的版本,定义一个license,一般使用MIT协议,有些编译器不写license会报错

// SPDX-License-Identifier:MIT
pragma solidity 0.8.7; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范围内的版本

点击编译这个文件

定义智能合约部分:

contract SimpleStorage{
}

部署智能合约:部署一个合约其实就是发送一个交易,我们在区块链上做任何事,修改任何状态,就是再发一个交易,部署一个合约,就修改了区块链,让链上拥有这个合约,在主网上部署一个合约,就需要支付gas

每次在更改区块链状态的时候,我们都会发送交易

// SPDX-License-Identifier:MIT
pragma solidity 0.8.8; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范围内的版本



contract SimpleStorage{

uint256 favoriteNumber;



function store(uint256 _favoriteNumber) public{

favoriteNumber = _favoriteNumber;

}
}

函数运算步骤越多,消耗的gas量越多

// SPDX-License-Identifier:MIT
pragma solidity 0.8.8; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范围内的版本



contract SimpleStorage{

    uint256 public favoriteNumber;



    function store(uint256 _favoriteNumber) public{

        favoriteNumber = _favoriteNumber;

        favoriteNumber = favoriteNumber+1;

    }


    function retrieve() public view returns(uint256){

        return favoriteNumber;

    }
}

关键词view 标识函数的调用不需要消耗gas,view关键词表示只会读取合约的状态,不允许修改任何状态

关键词pure也不允许修改任何状态,也不允许读取合约状态,只能做算法,表示pure的函数也不需要支付gas

调用view和pure函数都是免费的,除非你在消耗gas的函数类似store函数中调用了,这个时候读区区块链信息,消耗了计算量和gas

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小春熙子

你一毛我一毛,先富带后富

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值