@会堂班长:
目前第二次作业的统计情况: https://shimo.im/sheet/FhGM0meiR3AGYLaC/XDo8X
之前第一次作业有10名同学没有,这次要格外注意了。按照咱们的规定,3次不交作业是要离开学习小组的,希望大家都能坚持下来
@雅珣班长:
各位同学,看到多位同学依然没有交作业 ,大家有特殊原因可以使用请假条哈~
【请假条】是用于学员在本次学习中有迫不得已的情况无法按时提交作业,但又不想扣除积分,即可使用喔~
2)下面是请假条模版:
『请假条』
可爱的助教,这是我本月的请假条——
请假人:小组+学号+姓名+GitHub昵称
请假时间:第几周+第几次作业
请假理由:
承诺补齐时间:几月几日3)请假条使用规则
本学期每位学员仅限用两次!!!并且直接上交至各小组群内给各组的助教,由助教备注在每次作业情况的表格中4)重点注意️ 使用请假条的同学,将视为放弃参与“按时完成全部作业,返还一半的学费”的活动喔
-
感谢 @DT 分享的学习笔记,将Solidity与Python进行了比较: https://github.com/mind-gravity/guigunotes/blob/master/sol2py_l2.md
-
感谢 @杨楫 分享的 Difinity共识系统介绍
-
感谢 @尹礼春 分享的第二课笔记,大图和mmap文件: https://github.com/ylic2018/Homework/tree/master/Learning_notes
-
感谢 @怀达 分享的第二课思维导图
-
@何智华:
你问的问题应该和数据的位置特性有关。在solidity中,memory类型的变量的值用完过了作用域即回收,而storage类型的变量的值会被持久化到区块链中。本地变量默认是storage,一般是将状态变量赋予它做一些运算,它的指向也是状态变量。但是假如赋予本地变量的是函数传进来的参数,则需要用var声明本地变量,它的位置类型取决于传进来的参数的位置类型。
local storage variable 最终都是会指向合约中的状态变量,而状态变量是永久存储在区块链上的,如果本地变量没有被赋值,那么它实际上会默认指向storage的slot 0区域。所以对local storage变量的操作自然影响的都是区块链上永久存储的状态变量。
对于solidity而言,了解memory和storage的位置特性很关键,但又不是那么好懂,这边再举一个例子:
这里如果指定返回的employee为storage类型,会发现在找不到employee的情况下,它返回了合约里storage区域的slot 0。这种情况下,assert这个地方会抛错。
- @宗源: 需要先定义一个
event
, 然后就可以调用log
。运行函数之后可以在details里面看到log的输出内容:
event log(string);
- @何智华-助教: storage 类型的变量是没法动态分配内存的, 将 storage 改为 memory就好。
Q4. @宗源:请问下标注了 returns 的函数,如果由于条件判断没有主动return 结果, 程序是不是不会自动返回值呀?比如一个struct,我感觉像是new了个空的,空地址默认是0x0,数字是0,字符串是空串
- @何智华-助教: 对的,这个就像定义了一个变量,但是未赋值一样的效果,它的值就是其类型对应的默认空值。
- @何智华-助教: 这个方法需要定义为 private 或者 internal。
- @何智华-助教: 看浏览器地址里有对应的版本,可以在 setting tab 里制定对应版本。
- @何智华-助教: 对于多值回复,var 几乎是必须的,在 0.4.20 里说是因为安全原因被标记为 deprecated, 加了个 auto 关键字。
- @何智华-助教: 执行合约函数时内部抛出异常, require, assert 等地方都可能。
3 · 15晚会结束,之前「可能会对数字货币和ICO点名」的传言并没有成真,币圈和链圈都可以暂时松口气了。但依旧有人认为,在数字货币行情持续走低的大背景下,行业拐点即将到来,即便不是3 · 15晚会,也将通过其他方式实现。你认同「拐点即将到来」的看法吗?