榕树贷款migrations迁移文件用于将合约部署到区块链上

Migrations(迁移)是 JavaScript 文件,这些文件负责暂存我们的部署任务,并且假定部署需求会随着时间推移而改变。榕树贷款随着项目的发展,我们应该创建新的迁移脚本,来改变链上的合约状态。榕树贷款所有运行过的 migration 历史记录,都会通过特殊的迁移合约记录在链上。

榕树贷款第一个迁移 1_initial_migration.js 向区块链部署了一个叫做 Migrations
的合约,并榕树贷款用于存储你已经部署的最新合约。每次你运行 migration 时,truffle 会向区块链查询获取最新已部署好的合约,然后部署尚未部署的任何合约。

然后榕树贷款会更新 Migrations 合约中的 last_completed_migration 字段指向最新部署的合约。你可以简单地把它当成是一个数据库表,里面有一列
last_completed_migration ,该列总是保持最新状态。

migration 文件的命名有特殊要求:前缀是一个数字(必需),用来标记迁
移是否运行成功;后缀是一个描述词汇,只是单纯为了提高可读性,方便理解。
 

在Truffle框架中,迁移脚本(Migrations用于将Solidity编写的智能合约部署到测试网或主网上。以下是编写和执行迁移脚本的基本步骤: 1. **创建迁移文件**: - 创建一个新的迁移文件,通常是`.js`或`.ts`格式,例如`01_initial_migration.js`。迁移脚本通常会包含`deploy()`函数,用于部署合约。 ```javascript // migrations/01_initial_migration.js const Deployer = require('@openzeppelin/truffle-deployer'); const { compile } = require('@openzeppelin/truffle-compiler'); module.exports = { async deploy() { const compiled = await compile(['contracts/YourContract.sol']); const contract bytecode = compiled.contracts['YourContract'].bytecode; const contractABI = compiled.contracts['YourContract'].abi; const contract = await Deployer.deploy('YourContract', { from: 'yourAccount', data: bytecode }); console.log("Contract deployed to address:", contract.address); } }; ``` 这里的`yourAccount`需要替换为你想要部署合约的账户地址。 2. **配置Truffle**: 确保你的Truffle配置(`truffle-config.js`)中包含了正确的网络信息,如测试网或主网: ```json { "networks": { "development": { "host": "localhost", "port": 8545, "network_id": "*" }, "mainnet": { "provider": "infura", // 使用Infura或其他服务提供商 "network": "mainnet", "gasPrice": "fast" // 或者设置具体的gas价格 } } } ``` 3. **运行迁移**: - 在命令行中切换到项目目录,然后运行`truffle migrate`命令。这将会自动编译合约部署并记录交易历史。 ```bash $ cd your-project-directory $ truffle migrate --network development # 如果你想部署到测试网 $ truffle migrate --network mainnet # 如果你想部署到主网 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值