Truffle

在沒有 truffle-hdwallet-provider 的情況下使用 Truffle 在 Ropsten 上部署智能合約

  • March 17, 2022

這是我的 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 帳戶進行互動。

引用自:https://ethereum.stackexchange.com/questions/73130