Der Account der das deployment durchführen muss benötigt Ether. Der private Key des Accounts muss bekannt sein.
Notwendige Pakete müssen installiert sein:
npm install --save-dev dotenv truffle-wallet-provider ethereumjs-wallet
Die nächsten timeout Schritte sind optional und können helfen Caching issues mit Infura zu vermeiden (falls keine eigene Node genutzt wird)
In 1_initial_migration.js nach deployer.deploy(Migrations)
:
.then(registry => new Promise(resolve => setTimeout(() => resolve(registry), 60000)));
Ein 2_deploy_contracts.js im selben Ordner anlegen:
const MyContract = artifacts.require("./MyContract.sol") module.exports = (deployer, network, accounts) => { deployer.deploy(MyContract) .then(registry => new Promise(resolve => setTimeout(() => resolve(registry), 60000))); }
In truffle.js folgendes einfügen und PrivateKey einfügen:
require("dotenv").config(); const Web3 = require("web3"); const web3 = new Web3(); const WalletProvider = require("truffle-wallet-provider"); const Wallet = require("ethereumjs-wallet"); var mainNetWallet = Wallet.fromPrivateKey(mainNetPrivateKey); var mainNetProvider = new WalletProvider(mainNetWallet, "https://mainnet.infura.io/"); var mainNetPrivateKey = new Buffer("[YOUR-PRIVATE-KEY-HERE]", "hex") module.exports = { networks: { development: { host: "localhost", port: 8545, gas: 8000000, network_id: "*" // Match any network id }, mainnet: { /*the important part*/ provider: mainNetProvider, gas: 8000000, gasPrice: web3.toWei("5", "gwei"), //check current value on ethgasstation.info network_id: "1", } } };
Quelle: How to deploy in 20min
Quelle Infura fix: Infura nonce too low fix
Schreibe einen Kommentar