Truffle

用松露和 infura 部署智能合約給我錯誤

  • March 13, 2022

我在使用 infura 將我的智能合約部署到 ropsten 網路時遇到問題,並且 truffle 收到錯誤消息

"var sig = secp256k1.sign(msgHash, privateKey);
                     ^
TypeError: private key should be a Buffer"

您可以找到如何使用 truffle 和 infura 部署合約,正如 truffle文件中所解釋的那樣

我在下面複製了我已經擁有的部署程式碼,

// Allows us to use ES6 in our migrations and tests.
require('babel-register')

const HDWalletProvider = require("truffle-hdwallet-provider-privkey");

const privateKey = "PRIVATEKEYADDRESS"; // private keys

module.exports = {
 // See <http://truffleframework.com/docs/advanced/configuration>
 // for more about customizing your Truffle configuration!
 networks: {
   development: {
     host: "127.0.0.1",
     port: 8545,
     network_id: "*" // Match any network id
   },
   rinkeby: {
     provider: () =&gt; {
       return new HDWalletProvider(privateKey, "https://rinkeby.infura.io/INFURAAPIKEY")
     },
     network_id: 4
   }
 }
};

希望它也適用於你

在部署合約以測試網路時,您必須使用小寫的“發件人”地址以避免此錯誤。

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