簡體   English   中英

在沒有API_KEY的情況下將合同部署到Infura?

[英]deploying contract to infura without API_KEY?

我目前正在使用此GitHub存儲庫進行測試: https : //github.com/oed/bonding-curves

truffle.js如下所示:

const HDWalletProvider = require("truffle-hdwallet-provider");
const TestRPC = require("ganache-cli");

let provider

function getNmemonic() {
  try{
    return require('fs').readFileSync("./seed", "utf8").trim();
  } catch(err){
    return "";
  }
}

function getProvider(rpcUrl) {
  if (!provider) {
    provider = new HDWalletProvider(getNmemonic(), rpcUrl)
  }
  return provider
}


module.exports = {
  networks: {
    development: {
      get provider() {
        if (!provider) {
          provider = TestRPC.provider({total_accounts: 25})
        }
        return provider
      },
      network_id: "*"
    },
    local: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    },
    ropsten: {
      get provider() {
        return getProvider("https://ropsten.infura.io/")
      },
      gas: 4004580,
      network_id: 3
    },
    rinkeby: {
      get provider() {
        return getProvider("https://rinkeby.infura.io/")
      },
      network_id: 4
    },
    infuranet: {
      get provider() {
        return getProvider("https://infuranet.infura.io/")
      },
      network_id: "*"
    },
    kovan: {
      get provider() {
        return getProvider("https://kovan.infura.io/")
      },
      gas: 4004580,
      network_id: 42
    },
    mainnet: {
      get provider() {
        return getProvider("https://mainnet.infura.io/")
      },
      gas: 1704580,
      gasPrice: 1000000000,
      network_id: 1
    }
  }
};

但是似乎我可以在不使用任何infura的API_KEY的情況下部署合同,但我不知道為什么。

通常,根據我過去的經驗,我認為我需要在infura網址后添加API_KEY ,例如:

https://ropsten.infura.io/API_KEY

但是,在添加了部署腳本和npm run deploy-ropsten命令之后,看起來遷移成功。

誰能幫我為什么?

您必須要求Infura給出確定的答案,但是據我所知,相當長一段時間以來,API密鑰都是可選的。 (使用API​​密鑰可能有助於避免速率限制。)

暫無
暫無

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

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