Truffle
在沒有 truffle-hdwallet-provider 的情況下使用 Truffle 在 Ropsten 上部署智能合約
這是我的 truffle-config.js
networks: { ropsten: { network_id: 3, host: '127.0.0.1', port: 8545, gas: 4000000, from: "address_in_metamask" },
我使用以下命令執行了一個 geth 節點:
geth --cache=1048 --testnet --unlock "address_in_metamask" --rpc --rpcapi "eth,net,web3" --rpccorsdomain '*' --rpcaddr localhost --rpcport 8545
在另一個選項卡中之後,我執行了命令
truffle migrate --network ropsten
我希望部署智能合約。但後來我得到消息
Compiling your contracts... =========================== > Everything is up to date, there is nothing to compile. Migrations dry-run (simulation) =============================== > Network name: 'ropsten-fork' > Network id: 3 > Block gas limit: 0x1e8480 1_initial_migration.js ====================== Deploying 'Migrations' ---------------------- Error: Error: Error: *** Deployment Failed *** "Migrations" -- sender account not recognized. at Object.run (/usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle- migrate/index.js:84:1) at process._tickCallback (internal/process/next_tick.js:68:7) Truffle v5.0.18 (core: 5.0.18) Node v10.16.0
我已經從 Metamask 提供了正確的帳戶地址,它有足夠的乙太幣,但它不起作用。請幫忙。
謝謝你。
在許多情況下,我發現 truffle-hdwallet-provider 版本會導致各種問題。
您可以嘗試將您的版本更新為
truffle-hdwallet-provider@1.0.0-web3one.0
.做
npm install truffle-hdwallet-provider@1.0.0-web3one.0
。這可能是由於各種依賴衝突問題。
這可能不是你所希望的,但 Truffle Teams 可以將你的合約部署到任何乙太坊網路,而無需安裝 truffle-hdwallet-provider。Truffle Teams 將與您的 Metamask 帳戶進行互動。