Ich habe Probleme beim Bereitstellen meines Smart-Vertrags im Ropsten-Netzwerk mit Infura und Truffle bekomme eine Fehlermeldung, die besagt
"var sig = secp256k1.sign(msgHash, privateKey);
^
TypeError: private key should be a Buffer"
Wie Sie einen Vertrag mit Truffle und Infura bereitstellen, erfahren Sie in der Truffle-Dokumentation
Ich habe den Bereitstellungscode, den ich bereits besaß, unten kopiert,
// 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: () => {
return new HDWalletProvider(privateKey, "https://rinkeby.infura.io/INFURAAPIKEY")
},
network_id: 4
}
}
};
Hoffe es funktioniert auch bei dir
contract myContract is ERC20Interface { .. }
, dann müssen Sie nur noch myContract in Ihre Datei 2_deploy_contracts.js aufnehmenSie müssen die „Von“-Adresse in Kleinbuchstaben verwenden, während Sie den Vertrag für das Testnetzwerk bereitstellen, um diesen Fehler zu vermeiden.
secp256k1.sign
akzeptiert keinen from-Parameter.Stimmen Sie Ismael zu, dass die Funktion sepc256k1.sign keinen Parameter benötigt. funktionierte für mich ohne Deklaration privater Schlüssel und von Parameter
Nikita Fuchs
Ismael
const privateKey = Buffer.from("ab1a..", "hex");