Truffle教程

Truffle 初始迁移合约(Migrations.sol)

要使用Truffle迁移功能,必须首先部署一个初始迁移合约,此合约包含特定接口。
使用 truffle init初始化项目时,会自动创建初始迁移合约,及其迁移脚本:
contracts/Migrations.sol 初始迁移合约 migrations/1_initial_migration.js 迁移脚本
对于大多数项目,此合约将作为第一个迁移任务部署,并且以后不会再更新。
文件名: contracts/Migrations.sol
pragma solidity ^0.4.8;
contract Migrations {
  address public owner;
  // 需要一个函数签名为“last_completed_migration()”的函数,返回一个uint。
  uint public last_completed_migration;
  modifier restricted() {
    if (msg.sender == owner) _;
  }
  function Migrations() {
    owner = msg.sender;
  }
  // 需要一个函数签名为“setCompleted(uint)”的函数。
  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);
  }
}
为了使用迁移功能,必须先部署 Migrations合约。为此,Truffle自动创建下面的迁移脚本:
文件名: migrations/1_initial_migration.js
var Migrations = artifacts.require("Migrations");
module.exports = function(deployer) {
  // 部署Migrations
  deployer.deploy(Migrations);
};
接下来,你就可以创建新的迁移脚本,部署自己的合约。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4