企业培训资讯_企业培训干货

当前位置:首页 > 新闻中心

威尼斯人平台|以太坊智能合约版本升级的核心方法

发布时间:2022-01-04    来源:威尼斯人平台36741

本文摘要:本文主要解释以太坊的注册表合约、代理合约、承继的存储可升级性,以及更好的可升级性方法。

威尼斯人平台网页版登录

本文主要解释以太坊的注册表合约、代理合约、承继的存储可升级性,以及更好的可升级性方法。在软件工程中,当找到新的bug和安全性风险时,一般来说不会对它们展开修复,并动态启动时改版的版本。在智能合约研发中,可升级性并不是那么非常简单。

因此,我们必需采行有所不同的作法。以太坊仍正处于跟上阶段,关于如何升级智能合约版本的争议很多,但我们将讲解一些当今最差的自由选择。留意:智能合约版本的可升级性依然是研究的活跃领域。

以下任何一种方法都有可能由于欺诈或新发现的漏洞而造成智能合约告终。智能合约可升级性的基本方法在这里,我们将讲解一些更加平易近人但不过于合适的智能合约可升级性解决方案。尽管这些不是最佳方法,但它们是当今用于的核心。登记合约注册表合约有可能是最简单的可升级性方法,但是在这种方法,非常简单性带给了一些相当严重的缺失。

它用于两个智能合约的工作:注册表合约和逻辑合约。注册表协议仅有用作将用户指向逻辑协议的当前版本。每当逻辑合约被升级时,注册表合约的所有者就可以改版逻辑合约被升级的地址。contract SomeRegister {address backendContract;address[] previousBackends;address owner;function SomeRegister() {owner = msg.sender;}modifier onlyOwner() {require(msg.sender == owner)_;}function changeBackend(address newBackend) publiconlyOwner()returns (bool){if(newBackend != backendContract) {previousBackends.push(backendContract);backendContract = newBackend;return true;}return false;}}这种方法是十分有利的,因为当用户想用于合约时,他们必需首先查询当前地址。

否则有可能造成资金损失。将数据迁入到新的合约中也十分艰难,因此必需细心考虑到此过程以防止告终。

代理合约代理合约用作将数据和调用发送到逻辑合约。用于代理合约,用户可以一直调用完全相同的合约地址,并且将其非常简单地发送到当前逻辑合约。

这种方法通过用于DELEGATECALL操作码来工作。DELEGATECALL是EVM获取的用作程序集的操作码。它的工作方式与普通调用类似于,只是目标地址的代码是在调用协议的上下文中继续执行的。

这意味著像“msg.sender”和“msg.value”这样的值将被保有。实质上,DELEGATECALL容许目标协议代表被调用方展开调用。

contract Relay {address public currentVersion;address public owner;modifier onlyOwner() {require(msg.sender == owner);_;}function Relay(address initAddr) {currentVersion = initAddr;owner = msg.sender; // this owner may be another contract with multisig, not a single contract owner}function changeContract(address newVersion) publiconlyOwner(){currentVersion = newVersion;}function() {require(currentVersion.delegatecall(msg.data));}}尽管这种方法防止了与注册表合约有关的问题,但它也有其自身的问题。例如如果管理失当,数据存储很更容易告终。如果新的合约的存储布局与以前的合约有所不同,则数据有可能已损坏。此构建还避免您从函数接管返回值,从而容许了其用例。

储存合约与以前的方法一样,此方法必须您的逻辑合约以及辅助合约。在这种情况下,辅助合约是永久存储合约。该技术通过分离出来逻辑和数据来起起到。

逻辑合约可以随时升级,并且由于数据存储在外部,因此您的数据受到维护。


本文关键词:威尼斯人平台,威尼斯人平台网页版登录

本文来源:威尼斯人平台-www.sistemliiddaa.com

分享到:
相关推荐MORE+
01-19 威尼斯人平台网页版登录|为什么你见到的绝大多数通证经济项目都失败了?

本文摘要:通证是区块链的灵魂,没通证的区块链是不原始的链,环绕通证产生了通证经济这一概念,被誉为潜力无限,是新时代生产关系的变革者。通证是区块链的灵魂,没通证的区块链是不原始的链,环绕通证产生了通证经

01-19 英特尔推出10nm基站芯片凌动P5900 旨在满足关键5G网络需求

本文摘要:2月25日消息,据国外媒体报道,倍受期望的5G已在去年开始商用,今年的商用范围将不会更进一步不断扩大,对5G网络设备和5G终端的市场需求也不会更进一步减少,这些设备所必须的处理器,则是重中之

01-19 《芳华》《妖猫传》《海牧》接连上映 12月是黄轩月|威尼斯人平台

本文摘要:冯小刚编剧《芳华》一波三折,另一波将于12月15日与观众见面。冯小刚编剧《芳华》一波三折,另一波将于12月15日与观众见面。前几天在北京举行的芳华公开仪式上,冯小刚编剧不仅讲了电影,还传达了

01-19 威尼斯人平台网页版登录_今年最悬疑的韩剧首播 网友朴信惠和玄彬这次选对剧了

本文摘要:朴信惠欧妮和玄彬出演的韩剧《阿尔忽布拉宫的回想》开播,电视剧收视率在首尔TV剧里第一,并且豆瓣电影评分为8.7分,放映后网民们竞相称赞情深不负,这一部韩剧要大了!朴信惠欧妮和玄彬出演的韩剧《

拳头RPG新作曝光 锤石灯笼再次高光上镜 威尼斯人平台网页版登录:重磅转会!德媒:聚勒和鲁迪下赛季将加盟拜仁
热门文章
威尼斯人平台网页版登录|为什么你见到的绝大多数通证经济项目都失败了?
英特尔推出10nm基站芯片凌动P5900 旨在满足关键5G网络需求
《芳华》《妖猫传》《海牧》接连上映 12月是黄轩月|威尼斯人平台
威尼斯人平台网页版登录_今年最悬疑的韩剧首播 网友朴信惠和玄彬这次选对剧了
威尼斯人平台_电影《怨灵3》改名《看不见的小孩》正式提档7月19日全国上映
全聚德:打造餐饮文化的现代经典
台北A380餐厅做航空美食推“空姐”服务【威尼斯人平台网页版登录】
香港一寿司店以难吃难看而闻名-威尼斯人平台
威尼斯人平台网页版登录|满足刚需 支持改善需求
青岛将全面放开城镇落户限制 这些条件望取消【威尼斯人平台】
威尼斯人平台网页版登录_继A股后招商银行H股再停牌 引发整合大猜想
人工智能+公众号机器人微软小冰商业解决方案绑定指南:威尼斯人平台
威尼斯人平台_浅谈物联网传感器
威尼斯人平台:步步惊心碾压梦回,李兰迪毫无存在感硬生生演成女二
威尼斯人平台-刘老根3二奎为什么没去 换人原因竟然是因为赵本山
客户案例
×