首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是松露迁徙?

什么是松露迁徙?
EN

Ethereum用户
提问于 2016-08-25 07:15:59
回答 3查看 21K关注 0票数 49

正如用块菌文档编写的那样:

迁移是Javascript文件,它帮助您将契约部署到Ethereum网络。这些文件负责分阶段执行部署任务,它们是在假设您的部署需求会随时间变化的前提下编写的。随着项目的发展,您将创建新的迁移脚本,以推进区块链上的这种发展。以前运行的迁移历史记录在链上通过一个特殊的迁移合同,详见下文。

但这到底意味着什么呢?迁移的用例是什么?

我还试图理解Migrations.sol文件,这是在Truffy教程中提供的:

代码语言:javascript
复制
contract Migrations {
  address public owner;
  uint public last_completed_migration;

  modifier restricted() {
    if (msg.sender == owner) _
  }

  function Migrations() {
    owner = msg.sender;
  }

  function setCompleted(uint completed) restricted {
    last_completed_migration = completed;
  }

  function upgrade(address new_address) restricted {
    Migrations upgraded = Migrations(new_address);
    upgraded.setCompleted(last_completed_migration);
  }
}
EN

回答 3

Ethereum用户

回答已采纳

发布于 2016-08-25 11:17:13

Migrations契约存储(在last_completed_migration中)一个与上一次应用的“迁移”脚本相对应的数字,该脚本位于migrations文件夹中。无论如何,部署这个Migrations契约始终是第一个这样的步骤。编号惯例是x_script_name.jsx1开始。从2_...开始,你的真正的合同通常会以脚本的形式出现。

因此,由于此Migrations契约存储了应用的最后一个部署脚本的数量,Truffle将不再运行这些脚本。另一方面,在未来,您的应用程序可能需要一个修改,或新的合同部署。要做到这一点,您需要创建一个新脚本,其数量将增加,该脚本将描述需要执行的步骤。然后,再一次,他们跑了一次,他们就不会再跑了。

是的,最后两行是真正的坚固。看看http://solidity.readthedocs.io/en/latest/contracts.html#creating-contractscontract OwnedToken {里面。

票数 28
EN

Ethereum用户

发布于 2018-04-02 07:11:16

这里是一个示例,一个真正的用例的信托迁移。

我有一个存储合同和一个接口合同。接口需要知道存储的位置,存储需要向接口授予权限。

因此,在第二次迁移中(第一次迁移是专门用于经营信托基金的),我正在部署存储:

代码语言:javascript
复制
var MEStorage = artifacts.require("./MEStorage.sol");

module.exports = function(deployer) {
  deployer.deploy(MEStorage);
};

在第三节中,我获得了存储地址,并部署了这个地址作为参数的接口。在我有了接口地址之后,我在存储中向它授予权限:

代码语言:javascript
复制
var MEInterface = artifacts.require("./MEInterface.sol");
var MEStorage = artifacts.require("./MEStorage.sol");

module.exports = function(deployer) {
  deployer.deploy(MEInterface, MEStorage.address).then(() => {
    MEStorage.deployed().then(storageInstance => {
        return storageInstance.setPermissions(MEInterface.address, 2);
        // 2 - is FULL access
    });
  });
};

这是我正在使用的视频,解释这个用例关于存储模式的文章

票数 9
EN

Ethereum用户

发布于 2018-10-26 01:12:45

迁移是一堆样板,这是松露需要的,你会复制粘贴,然后忘记你曾经做过。

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/8299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档