语言的新启程之Solidity

官方网站

WTF-Solidity官网
编译器

区块链的基础

在这里插入图片描述

Gas

一经创建,每笔交易都收取一定数量的 gas,目的是限制执行交易所需要的工作量和为交易支付手续费。EVM 执行交易时,gas 将按特定规则逐渐耗尽。
gas price 是交易发送者设置的一个值,发送者账户需要预付的手续费 = gas_price * gas 。如果交易执行后还有剩余, gas 会原路返还。
无论执行到什么位置,一旦 gas 被耗尽(比如降为负值),将会触发一个 out-of-gas 异常。当前调用帧(call frame)所做的所有状态修改都将被回滚。

hello Word 小例子

代码

/*
* title 一个简单的数据存储演示
* author 忆梦九洲
*/
//软件许可(license),这里用的是MIT license。如果不写许可,编译时会警告(warning)
// SPDX-License-Identifier: MIT
//源文件所用的solidity版本
pragma solidity ^0.8.4;
// 合约的名字-->HelloWeb3
contract HelloWeb3{
    
    
//合约的内容
string public _string = "Hello Web3!"; //状态变量
//函数
function fun1() public view returns (string memory){
    
    
   return _string;
   }

bool public _bool =true;

} 

在这里插入图片描述

gas只是一个参考,不是特别准确

Remix工具使用

在这里插入图片描述

如果没有开启自动编译,可以使用在编辑代码的页面,按ctrl+S就可以编译代码,非常方便。

Remix执行流程

在默认情况下,remix会用JS虚拟机来模拟以太坊链,运行智能合约,类似在浏览器里跑一条测试链。并且remix会分配几个测试账户给你,每个里面有100 ETH(测试代币),可劲儿用。你点Deploy(黄色按钮),就可以部署咱们写好的合约了。
在这里插入图片描述

切换中文

在这里插入图片描述

注释

//:单行注释

/* */:块注释
在这里插入图片描述

前两种注释和其他语言如java,Python,c等里面的用法差不多

NatSpec 描述注释 :‘///’

-演示

-文档

-继承说明

 -重载

猜你喜欢

转载自blog.csdn.net/Wtzink/article/details/134231750