简体   繁体   English

松露“迁移”——cb 不是函数

[英]Truffle '"Migrations" -- cb is not a function'

I wrote a simple smart contract in Solidity 0.6.6 that I'm trying to deploy to the BSC Testnet.我在 Solidity 0.6.6 中编写了一个简单的智能合约,我正试图将其部署到 BSC 测试网。

This is what I have in my truffle-config.js file (privateKeys is an array with a single entry of ['0x + privatekey']:这就是我在 truffle-config.js 文件中的内容(privateKeys 是一个数组,其中包含单个条目 ['0x + privatekey']:

networks: {
   bscTestnet: {
      provider: () => new HDWalletProvider(
        privateKeys,
        'https://data-seed-prebsc-1-s1.binance.org:8545/'
      ),
      network_id: 97,
      skipDryRun: true
   }
}

When I run the command "truffle migrate --reset --network bscTestnet" I get the following error:当我运行命令“truffle migrate --reset --network bscTestnet”时,我收到以下错误:

Compiling your contracts...
===========================
> Everything is up to date, there is nothing to compile.



Starting migrations...
======================
> Network name:    'bscTestnet'
> Network id:      97
> Block gas limit: 30000000 (0x1c9c380)


1_initial_migration.js
======================

   Deploying 'Migrations'
   ----------------------

Error:  *** Deployment Failed ***

"Migrations" -- cb is not a function.

    at /Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at Migration._deploy (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:70:1)
    at Migration._load (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:56:1)
    at Migration.run (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:217:1)
    at Object.runMigrations (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:150:1)
    at Object.runFrom (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:110:1)
    at Object.runAll (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:114:1)
    at Object.run (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:79:1)
    at runMigrations (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate/run.js:80:1)
    at Object.module.exports [as run] (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate/run.js:44:1)
    at Command.run (/Users/admin/.nvm/versions/node/v17.4.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/command.js:189:1)
Truffle v5.4.31 (core: 5.4.31)
Node v17.4.0

Opened an Issue a about it: https://github.com/trufflesuite/truffle/issues/4676 I guess its a bug in HardwareWallet2.0.2.打开了一个关于它的问题: https://github.com/trufflesuite/truffle/issues/4676我猜它是 HardwareWallet2.0.2 中的一个错误。 Reverting to HardwareWallet2.0.0 solved the problem for me恢复到 HardwareWallet2.0.0 为我解决了这个问题

 npm i @truffle/hdwallet-provider@2.0.0

I am currently having the exact same error with ethereum testnet (ropsten).我目前与以太坊测试网(ropsten)有完全相同的错误。 Truffle v5.4.29 Node v16.13.2松露 v5.4.29 节点 v16.13.2

I'm having the exact same issue我有完全相同的问题

Truffle v5.4.31 Node v14.16.0松露 v5.4.31 节点 v14.16.0

UPDATE: Right, workaround: I rolled @HDWalletProvider back to v2.0.1 and was able to migrate.更新:对,解决方法:我将@HDWalletProvider 回滚到 v2.0.1 并且能够迁移。

I assume there must be an issue with the new version for ppl who updated today.我认为今天更新的 ppl 的新版本一定有问题。

================ =================

Same problem with Polygon Mumbai. Polygon Mumbai 也有同样的问题。

Function "cb" refers to the callback function. Function “cb” 指的是回调 function。 The strange part is the error message doesn't reference my own code at all;奇怪的是错误消息根本没有引用我自己的代码; it references the migrations.js located in:它引用了位于以下位置的 migrations.js:

<.nvm/versions/node/v16.11.1/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1 at processTicksAndRejections (node:internal/process/task_queues:96:5> <.nvm/versions/node/v16.11.1/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1 at processTicksAndRejections (node:internal/process/task_queues:96:5 >

This leads me to believe there's a problem with out 1_initial_migration.js... however that's auto-generated so I can't see any problem... it's strange.这让我相信 1_initial_migration.js 存在问题......但是这是自动生成的,所以我看不到任何问题......这很奇怪。

1_initial_migration.js: 1_initial_migration.js:

const Migrations = artifacts.require("Migrations");

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM