簡體   English   中英

在rinkeby測試網絡上部署固態智能合約的問題

[英]issues deploying solidity smart contract to rinkeby test network

我正在使用openZeppelin進行眾包合同,所有(其中30個)我的測試都通過了測試;)並且我可以毫無問題地在本地ganache區塊鏈上進行遷移。

  1. 當我嘗試部署到rinkeby時,我開始遇到問題。 我在truffle.js中的配置是

  rinkeby: { provider: rinkeybyProvider, network_id: 3, gas: 4712388, gasPrice: web3.utils.toWei("40", "gwei"), websockets: true, from: "0x9793371e69ed67284a1xxxx" } 

當我在rinkeby上部署時,我得到:

“ SplitWallet”在其構造函數中的某處命中了require或revert語句。 嘗試:*驗證您的構造函數參數是否滿足所有要求條件。 *在您的require語句中添加原因字符串。

我已經遍歷並將消息放入構造函數層次結構的每個還原中,但是我從未看到任何消息。 我以為我的收款人和股票的長度可能不同,但是不,它們是相同的(只有splitwallet的構造函數采用的參數)

注意事項:

  • 我有一個Infura API密鑰
  • 我使用的是truffle-wallet-provider程序,只有一個私鑰(沒有助記符)進行部署
  • 由於上述原因,我很困惑,我的部署腳本如何知道部署時的多個(10)錢包。 通常(在ganache中)這些是ganache為您生成的10個錢包,但是在這里,我提供了一個私鑰,因此它應該無法知道10個錢包,而只能知道一個-正在部署的私鑰的公鑰。合同,不是嗎? (在這里談論):

 module.exports = async ( deployer, network, [owner, purchaser, investor, organisation, ...accounts] //how does it know these?? ) 

最后一點讓我感到奇怪,因為我打印出了所有者/購買者,而它們根本不匹配我的公鑰錢包,所以我不知道它們來自何處。 如果它們不匹配,並且默認為所有者為account [0],則該錢包可能無法支付汽油費用。

謝謝

Rinkeby的網絡ID是4,而不是3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM