我们通过delegatecall这一方式实现了合约升级,同时通过对合约状态存储的理解明白了为什么会存在存储冲突并采用继承的方式进行规避,最后我们的升级是建立在代理合约的fallback函数之上的,这个函数没有返回值,我们通过Solidity Assembly的方式进行数据返回。合约升级在技术上是不可或缺的手段,较好的使用可以帮助我们修复合约漏洞,对合约进行功能迭代,但如果使用不当则会造成较坏的影响,所以合约升级应该配合有效的升级治理方案。
关于借贷的思考 - 以compound为例
pBFT为什么不要三个阶段,看完你就知道。
译者注: 越来越多的项目要依赖价格预言机,而少有项目去认真的思考价格预言机的可靠性,本文用分析多个预言机失败的案例,帮助我们意识到价格预言机不总是可靠的,并提出了一些在其他项目已经实践过用来防止预言机操控的技术。推荐每个 DEFI 开发者读一读。