我目前正在尝试使用Infura通过Web3在我的机器上运行。设置运行node index.js文件时,出现以下错误:
Unhandled rejection Error: This contract object doesn't have address set yet, please set an address first.
at Object._processExecuteArguments (/Users/Oso.Lu/cryptokitty-miner/node_modules/web3-eth-contract/src/index.js:739:15)
at Object._executeMethod (/Users/Oso.Lu/cryptokitty-miner/node_modules/web3-eth-contract/src/index.js:760:54
var helpers = require("./helpers.js")
var Web3 = require('web3');
var Tx = require('ethereumjs-tx');
// You should be running a local Eth node or use Infura.
var web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io:443"));
var prompt = require('prompt');
var sendingAddress = "********************" // with your sending ETH address
var pKey = "******************************"; // This will store the corresponding private key. we'll be getting the private key for this Eth address from a command prompt
// Keep track of kitties we'll mine to avoid double-mining
var kittyArray = []
var theNonce = "";
// Gas price. Todo: Use Eth gas station Oracle to predict gas prices
var gwei = '26'
// Track # of received
var num_requested = 0
var num_received = 0
Run Code Online (Sandbox Code Playgroud)
我认为问题可能在Infura端口443上运行。
简单的解决方案
Voting.options.address = "0x6ee9957aef5f4073c6af71441ec7962527c37671"
Run Code Online (Sandbox Code Playgroud)
其中Voting是我的智能合约实例名称
“ 0x6ee9957aef5f4073c6af71441ec7962527c37671 ”是部署智能联系人地址
我的 web3.js 版本 “web3”:“^1.0.0-beta.31”,