我正在尝试使用 openzeppelin 的升级模块使我的 solidity 项目可升级。我通过 openzeppelin upgrade 尝试了很多.如果我只部署单一契约(Contract)也没关系。当我想链接图书馆契约(Contract)时出现问题。
例如:
const { scripts, ConfigManager } = require('@openzeppelin/cli');
const { add, push, create } = scripts;
async function deploy(options) {
add({ contractsData: [{ name: 'Counter', alias: 'Counter' }] });
await push(options);
await create(Object.assign({ contractAlias: 'Counter' }, options));
}
module.exports = function(deployer, networkName, accounts) {
deployer.then(async () => {
const { network, txParams } = await ConfigManager.initNetworkConfiguration({ network: networkName, from: accounts[0] })
await deploy({ network, txParams })
})
}
以上代码来自 openzeppelin 文档。对我来说很好。但在我的情况下,我想链接一个库,本地松露部署代码如下:
await deployer.deploy(A);
await deployer.link(A, B);
await deployer.deploy(B);
那我要处理可升级格式的链接怎么办呢?换句话说,如何将原生 truffle 格式转换为 link 的 oz 可升级格式。我用 Google 搜索了很多,但似乎没有关于这个主题的内容。
希望大家能帮帮我。顺便说一句,我不是以英语为母语的人。所以请原谅我的英语:)
最佳答案
我把问题放在 openzeppelin 的论坛上了。根据这个 post 现在似乎没有办法做到这一点.也许我只需要使用 oz CLI 命令。
关于javascript - 如何将openzeppelin upgrade module集成到truffle工程中,具体如何到 "link"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62913278/