当前位置:   article > 正文

编写和交互智能合约的集成开发IDE_智能合约在线ide

智能合约在线ide

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

使用Solidity插件

开始编写Solidity代码

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

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

点击编译这个文件

定义智能合约部分:

  1. contract SimpleStorage{
  2. }

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

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

  1. // SPDX-License-Identifier:MIT
  2. pragma solidity 0.8.8; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范围内的版本
  3. contract SimpleStorage{
  4. uint256 favoriteNumber;
  5. function store(uint256 _favoriteNumber) public{
  6. favoriteNumber = _favoriteNumber;
  7. }
  8. }

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

  1. // SPDX-License-Identifier:MIT
  2. pragma solidity 0.8.8; //^0.8.7 更新的版本 >=0.8.7 < 0.8.12 使用一定范围内的版本
  3. contract SimpleStorage{
  4. uint256 public favoriteNumber;
  5. function store(uint256 _favoriteNumber) public{
  6. favoriteNumber = _favoriteNumber;
  7. favoriteNumber = favoriteNumber+1;
  8. }
  9. function retrieve() public view returns(uint256){
  10. return favoriteNumber;
  11. }
  12. }

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/419552
推荐阅读
相关标签
  

闽ICP备14008679号