Solidity

如何使用 ropsten 網路在乙太坊網路中部署智能合約?

  • October 1, 2017

我在solidity 和truffle 中創建了一個智能合約(一個標準的代幣智能合約)。現在我想將它部署到乙太坊網路。我想使用 ropsten 網路,因為我想使用 metamask 錢包。怎麼做?或者在乙太坊網路中部署它的最佳方式是什麼?

你需要使用truffle-hdwallet-provider並提供你的錢包助記詞。助記符是創建地址的 12 個單詞的片語。錢包應該已經載入了測試網乙太,你可以從水龍頭獲得。

以下是我部署到不同測試網的方式:

truffle.js

const HDWalletProvider = require('truffle-hdwallet-provider')
const fs = require('fs')

const mnemonic = process.env.MNEMONIC

module.exports = {
 networks: {
   development: {
     host: 'localhost',
     port: 8545,
     gas: 4500000,
     gasPrice: 25000000000,
     network_id: '*' 
   },
   kovan: {
     provider: new HDWalletProvider(mnemonic, 'https://kovan.infura.io'),
     network_id: '*',
     gas: 4500000,
     gasPrice: 25000000000
   },
   rinkeby: {
     provider: new HDWalletProvider(mnemonic, 'https://rinkeby.infura.io'),
     network_id: '*',
     gas: 4500000,
     gasPrice: 25000000000
   },
   mainnet: {
     provider: new HDWalletProvider(mnemonic, 'https://mainnet.infura.io'),
     network_id: '*',
     gas: 4500000,
     gasPrice: 25000000000
   }
 }
}

然後執行:

truffle migrate --reset --network=rinkeby

你將你的節點連接到 Rospen Revivial(不是原來的 Rospen,因為它被攻擊了)。這方面的說明在這裡:

然後你將你的錢包、geth 控制台或混音編輯器(開發、工作和部署智能合約的最簡單方法)連接到節點,然後就可以了。有關為 RR 設置節點和用於混音使用的一些說明在這裡,但有用於 cpp-ethereum 的說明。

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