近期写solidity的一点体会

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

最近写了不少solidity。对它的运作机制逐渐了解,不断地更新知识库。有了一定积累后,现在来记录一下。
入坑:
1、不要把solidity当作你认识的任何一门编程语言。
2、solidity底层支撑机制还相当有限,不要钻牛角尖。其中有一些问题现在你变通也无法解决
3、不要期望太高、期望越高,失望越大。
4、多读文档,少看Ctrl+C
5、如果你的老板让你把xxx文档之类的存到区块链上溯源,果断拒绝他…
几点问题:
1、solidity对string支持基本为0,所以不要想着拼接或者啥骚操作,拼接成功了,也无法流畅的调用。gas消耗很贵的。
2、solidity对类型转换支持有限,不要尝试着做太多的无用功在类型转换上
3、solidity对mapping的支持非常简陋,最好是自己简单封装下再用
4、solidity的返回类型非常单一,只能返回基本类型,如果想返回struct那只能吧struct拆掉,list之类的就别想了
5、由上述问题产生的另外一个问题就是solidity对参数列表和返回参数列表做了限制,不能多,多了就得进行取舍…
6、solidity的收费机制也是很坑的一个问题,新手可能一半会死在out of gas,reach gas limit,block gas limit之类的问题上
7、solidity没有try catch指令,执行中就算出了错也不会告诉你为啥出错,基本上是一堆无用的提示或者压根没有提示。

一点小福利:
如果你想用solidity记录点东西,那么event/emit可以给你一些帮助,gas消耗相对较低,也可以用indexed对参数做索引,但是indexed一个event最多只能添加三个…

先mark一下,后续更新

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值