在代理下将以太坊合约部署到 Rinkeby

Deploy Etherum contract to Rinkbey under proxy

我正在尝试使用 Infura 将合同部署到 rinkbey。但由于我在合作代理下,我无法部署它。

我使用的是标准代码。

const HDWalletProvider = require('truffle-hdwallet-provider');
const Web3 = require('web3');
const { interface, bytecode } = require('./compile');

const provider = new HDWalletProvider(
    '<Text to be Inserted from metamask>',
    'https://rinkeby.infura.io/v3/<id>'
);

const web3 = new Web3(provider);

const deploy = async () => {
    console.log("Starting to deploy");
    const accounts = await web3.eth.getAccounts();

    console.log('Attempting to deploy from account', accounts[0]);

    const result = await new web3.eth.Contract(JSON.parse(interface))
     .deploy({data: bytecode })
     .send({ gas: '1000000', from: accounts[0]})

    console.log('Contract deployed to', result.options.address);
};
deploy();

您的企业代理需要加入白名单 https://rinkeby.infura.io 才能连接到 infura。

否则你必须 运行 在你自己的场所建立一个奇偶校验节点,但在公司环境中,我认为以上内容将有更多机会解决。

或者您可以使用 Metamask 或 Etherscan 从您的浏览器本身对交易进行签名。