Hey I'm updating my truffle project from V2 to V3, and I am getting this error after migrating:

sudo truffle migrate --network development
Using network 'development'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: Migrations error: contract binary not set. Can't deploy new instance.
    at Function.new (/usr/lib/node_modules/truffle/node_modules/truffle-contract/contract.js:324:15)
    at /usr/lib/node_modules/truffle/node_modules/truffle-migrate/node_modules/truffle-deployer/src/actions/deploy.js:25:29
    at process._tickCallback (internal/process/next_tick.js:103:7)

Here is my truffle.js file:

module.exports = {
networks: {
development: {
  host: "localhost",
  port: 8545,
  network_id: "*"
staging: {
  host: "localhost",
  port: 8546,
  network_id: 1337
ropsten: {
  host: "",
  port: 8545,
  network_id: 3

} }

Deploy contracts file:

var Project = artifacts.require("./Project.sol");
var FundingHub = artifacts.require("./FundingHub.sol");

module.exports = function(deployer) {
  • I'm not so familiar with nuances in 3.x yet, but in 2.x that sort of thing looks familiar. Commonly happens when the deployer account is locked. "Network State Unknown" is a little perplexing until you get used to it. Feb 21 '17 at 0:22
  • Hmm soo that would be the testrpc account?
    – ethereal
    Feb 21 '17 at 17:09
  • If testrpc, try $ testrpc -u 0 -u 1 .... unlocks accounts 0 and 1 which are not unlocked by default if I'm not mistaken. Feb 21 '17 at 19:25
  • Ok I reverted back to Truffle 2 for now, but will try it once I'm finished current project.
    – ethereal
    Feb 23 '17 at 15:22

If you have one function that is an abstract function in your contract.

function addr(string _name) constant returns (address o_owner)

The whole contract is compiled as an abstract contract, so you will get this error message. It might be like me, that you never ment to write an abstract contract, but a but fast copy pasting of some code, and simsallabim, you have some abstract functions without thinking about it. So either add functions bodies to them or remove them.

Then your contract will compile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.