
Solidity
文章平均质量分 78
应用于开发智能合约的语言
忆梦九洲
我们妄想吃掉太阳
展开
-
Solidity之变量数据存储和作用域
引用类型(Reference Type):包括数组(array),结构体(struct)和映射(mapping),这类变量占空间大,赋值时候直接传递地址(类似指针)。由于这类变量比较复杂,占用存储空间大,我们在使用时必须要声明数据存储的位置。原创 2023-11-06 11:23:45 · 593 阅读 · 4 评论 -
Solidity快速入门之函数输出
在上面的代码例子里面string类型的返回值被标记为memory,表示返回的字符串将在函数执行期间存储在临时内存中。在函数定义中,使用memory关键字可以将参数或返回值标记为在函数执行期间使用临时内存来存储数据。我们可以在returns中标明返回变量的名称,这样solidity会自动给这些变量初始化,并且自动返回这些函数的值,不需要加return。使用memory关键字标记的参数或返回值只能用于纯函数(pure函数)或视图函数(view函数),因为这些函数不会修改或访问合约的状态。原创 2023-11-06 09:30:09 · 572 阅读 · 0 评论 -
Solidity在函数里面返回中文报错原因
> contracts/text.sol:90:24: | 90 | return (1,true,“你好”);原创 2023-11-06 08:56:51 · 608 阅读 · 0 评论 -
Solidity数据类型之函数类型
solidity加入这两个关键字,个人感觉是因为gas fee。合约的状态变量存储在链上,gas fee很贵,如果不改变链上状态,就不用付gas。包含pure跟view关键字的函数是不改写链上状态的,因此用户直接调用他们是不需要付gas的(合约中非pure/view函数调用它们则会改写链上状态,需要付gas)。原创 2023-11-05 20:06:38 · 347 阅读 · 0 评论 -
Solidity入门第一步之数据类型
布尔值的运算符,&& 和 ||运算符遵循短路规则,包括:! (逻辑非)&& (逻辑与, “and” ) 双方有一个假的 结果就是假的|| (逻辑或, “or” ) 双方有一个真的 结果就是真的 当第一个是真的时候不执行第二个== (等于) 判断值是否相等!= (不等于)地址类型(address)存储一个 20 字节的值(以太坊地址的大小)。地址类型也有成员变量,并作为所有合约的基础。有普通的地址和可以转账ETH的地址(payable)。其中,payable修饰的地址相对普通地址多原创 2023-11-05 17:38:35 · 266 阅读 · 2 评论 -
语言的新启程之Solidity
在默认情况下,remix会用JS虚拟机来模拟以太坊链,运行智能合约,类似在浏览器里跑一条测试链。并且remix会分配几个测试账户给你,每个里面有100 ETH(测试代币),可劲儿用。无论执行到什么位置,一旦 gas 被耗尽(比如降为负值),将会触发一个 out-of-gas 异常。,目的是限制执行交易所需要的工作量和为交易支付手续费。如果没有开启自动编译,可以使用在编辑代码的页面,按ctrl+S就可以编译代码,非常方便。前两种注释和其他语言如java,Python,c等里面的用法差不多。原创 2023-11-05 16:52:11 · 258 阅读 · 4 评论