javascript - 如何将openzeppelin upgrade module集成到truffle工程中,具体如何到 "link"?

标签 javascript solidity smartcontracts

我正在尝试使用 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/

相关文章:

javascript - ng 点击 Bootstrap Modal 组件

javascript - 我需要将数组中每个单词的第一个字母标准化

blockchain - 如何部署多个互相使用函数的solidity智能合约?

javascript - 使用图像创建精美的 HTML 按钮

javascript - 使用 jquery 和 sqlite/json 的静态产品页面

testing - 如何发送wei/eth到合约地址? (使用松露javascript测试)

javascript - 智能合约方法不是 web3 中的函数

solidity - 无法将 Uniswap V2 Periphery 作为包添加到 Brownie

javascript - 当 JS 将数值作为参数传递给 Solidity 函数时,为什么最好将它们用引号引起来?

ethereum - 验证 NFT ERC-721 代币所有权的最佳实践