木星链 木星链
Ctrl+D收藏木星链

NBS:如何将你的合约升级到Solidity 0.8?

作者:

时间:1900/1/1 0:00:00

我们离 Solidity 1

}contract Solidity08 {    function test() external pure returns(uint256) {        // 不使用SafeMath,返回 type(uint256)

        return x;    }}2. 无效的操作码被还原取代到目前为止,某些操作会导致 INVALID操作码的执行。这个操作码的问题是,它消耗掉所有剩余的 Gas。这显然是不好的且没必要。为什么要浪费 Gas,把它捐给矿工?

Compound CEO :创建治理代币,是为让最聪明用户决定协议如何升级:Compound创始人兼CEO Robert Leshner在媒体直播间表示,流动性挖矿是作为一种分发代币的方式,Compound总体上是一种自治的系统,这需要相信那些最有能力的人来决定协议的参数是什么,所以我们创建了一个治理代币来升级协议,向协议主题添加新资产,所以我们创造这个代币以便把它交到最聪明的用户手中。(深链财经)[2020/6/24]

更多细节,在这里查看 revert和 assert的区别。

现在 Solidity 使用revert操作码。为了区分常规 revert 和系统内部错误(panic),Solidity 在返回数据前加上一个标识符:

常规 Revert 错误以keccak256(Error(string))的前四个字节开始,等于0x08c379a0。

**系统内部错误(Panic)**以keccak256(Panic(uint256))的前四个字节开始,等于0x4e487b71。

Panic 有一个额外的错误标识。目前可用的 Panic 有:

声音 | Robert Rosenblum:如果监管者将加密货币视为证券,应明确公众如何购以及交易市场建立场地等问题:据CoinDesk消息,在Token Summit 2019会议上,Wilson SAonsini Goodrich&Rosati公司的律师Robert Rosenblum表示,他的公司通常将大多数加密货币视为证券。当时他的同事总是感觉存在差距,“那么,现在怎么办?”换句话说,监管者需要解释,如果代币是证券,公众应该如何购买,交易市场可以在哪里建立。Cosmos创始人Jae Kwon也提出类似观点。他指出,没有人知道如何以美国监管机构目前认可的方式经营去中心化交易所。但是Robert Rosenblum似乎觉得这是可以解决的,“只有当我们拥有一个运行良好的市场,我们才会有更多的经验和更好的框架。”不过,这需要多长时间?这成了根本问题。缓慢折磨着快速发展的行业。欧洲合规公司MME的律师Andreas Glarner表示,来自欧洲的观点是整个行业都很困惑:“大约五年后,答案是还不清楚。否则,我们不会坐在这里(讨论)。那是外面的景色。[2019/5/18]

0x01: 使用 asset;

0x11: SafeMath 的溢出。

现场 | 华盛顿州ICT行业部门负责人:监管者关心区块链如何与经济结合:金色财经现场报道,NEO DevCon 2019开发者大会今日在西雅图举行,华盛顿州信息和通信技术(ICT)行业部门负责人Joseph Williams发表了题为“区块链的监管视角”的主题演讲。Williams表示,监管者关心的是区块链如何与经济结合起来,如果出现问题怎么办,如何建立生态系统等问题。政府机构能够为区块链提供区块链监管框架以提振市场信心,为市场和公众释放对于科技信心的信号。此外,法律框架和监管者可以移除现有法律体系关于区块链的障碍,也可以制定支持让区块链成为可能的法律。此外,Williams还提到了美国迫在眉睫的政策问题,包括区块链交易的法律; 服务等级和保障; 责任,特别是对于发生故障的服务; 数据隐私; 区块链存储的数据作为证据的法律框架; 强制/性能。[2019/2/17]

0x12: 除以 0。

0x21: 转换为不存在的枚举类型。

0x22: 存储字节数组编码错误。

0x31: 在一个空数组上pop()。

0x32: 索引超长度异常。

印度数字货币交易所要求政府澄清如何收税:印度政府一直在打击数字货币相关的逃税行为,但是没有提供明确的指导方针规定如何收税,七家数字货币交易所正在要求监管机构进行澄清。Khaitan&Co律师事务所合伙人Abhishek A Rastogi认为税率将取决于政府把比特币当作货币,商品还是服务。[2018/1/7]

0x41: 分配过多的内存或创建过大的数组。

0x51: 调用未初始化的内部函数类型的变量。

更多细节请参见文档中新的错误处理部分这里。

在大多数情况下,迁移应该是非常直接的。只有在一些情况下,你做奇怪的类型转换可能会变得更加困难。

你必须为迁移做出的改变包括:

ABIEncoderV2现在是默认自动激活。从 0.6 开始,Encoder 就不再是实验性的了,只是因为遗留的原因,保留了 pragma experimental这个名字。现在你不需要再加这行了。

移除任何 Openzeppelin SafeMath,你不再需要它了。

可能需要进行一些类型转换。

msg.sender和 tx.origin默认不属于 payable 类型。将 msg.sender.transfer改为 payable(msg.sender).transfer。

只有在符合给定类型的情况下,才允许类型转换,所以uint256(-1)将不再工作。使用type(uint256).max代替。

当多次改变符号时,类型转换在某些情况下会受到限制,因为类型转换的顺序可能会对结果产生影响。你现在会看到一个类似 TypeError 的错误。不允许从 int256到 bytes32进行显示的类型转换,得先手动转换为 uint256。

修饰组合

myContract.functionCall{gas: 10000}{value: 1 ether }()改为:

myContract.functionCall{gas: 10000, value: 1 ether }()。

将 x**y**z改为(x**y)**z,因为默认的执行顺序改变了。

将 byte类型改为 byte1 。

我省略了一些细节,关于完整的变更日志和所有变更的细节,请查看文档这里。

来源:https://soliditydeveloper.com/solidity-0.8

登链翻译计划: https://github.com/lbc-team/Pioneer

翻译小组: https://learnblockchain.cn/people/412

Tiny 熊: https://learnblockchain.cn/people/15

Solidity0.8: https://blog.soliditylang.org/2020/12/16/solidity-v0.8.0-release-announcement/

0.7发布: https://blog.soliditylang.org/2020/07/28/solidity-v0.7.0-release-announcement/

Solidity 0.8 的文档: https://learnblockchain.cn/docs/solidity/

SafeMath: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol

这里: https://medium.com/blockchannel/the-use-of-revert-assert-and-require-in-solidity-and-the-new-revert-opcode-in-the-evm-1a3a7990e06e

这里: https://docs.soliditylang.org/en/latest/control-structures.html#panic-via-assert-and-error-via-require

这里: https://docs.soliditylang.org/en/latest/080-breaking-changes.html

Cell Network: https://www.cellnetwork.io/?utm_souce=learnblockchain

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny 熊

标签:NBSBSPLIDSOLnbs币前景bspt币未来前景BolideSolDoge

比特币交易热门资讯
以太坊:为什么说以太坊矿工最终都将接受EIP-1559?

以太坊网络的拥堵情况愈发严重,旨在解决该问题EIP-1559提案受到市场的高度关注,但目前仍受到许多矿池的抵制.

1900/1/1 0:00:00
ETH:分析:Uniswap LP价值评估中的“坑”是什么?

最近在研究Defi衍生品价值评估的问题,比如Uniswap的Liquitidy providor(LP) Token该如何估值呢?直观的感觉就是LP Token的价格等于Pair中代币数量的总价.

1900/1/1 0:00:00
NFT:NFT市场的牛市已经开启 从数据观测下一个NFT投资热点

随着比特币接连创出新高,非同质化代币NFT也成为了加密货币行业蓬勃发展的领域之一。25天前,老牌NFT项目CryptoPunk的稀有「外星人」NFT以605 ETH的价格成交,当前价值超过74万.

1900/1/1 0:00:00
BTC:2.4晚间行情空单吃肉 回踩后看震荡反包

文章系金色财经专栏作者币圈北冥供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别防上当.

1900/1/1 0:00:00
SEC:泰国SEC计划举行听证会 以解决加密投资者资格问题

泰国一家主要金融监管机构正在寻求确定加密货币交易员的资格,以确保对投资者的保护。据当地媒体《曼谷邮报》周一报道,泰国证券交易委员会(泰国SEC)计划本月举行公开听证会,以满足想开加密货币交易账户.

1900/1/1 0:00:00
OIN:代币销毁能有效提高币价吗?

在过去的一年多,数字货币在新闻和投资者眼中都尤为突出,同时也存在很多的障碍。越来越多的投资者开始关注数字货币和区块链技术的重要性。比特币是加密货币领域最早的主要趋势之一.

1900/1/1 0:00:00