Hey, ich aktualisiere mein Truffle-Projekt von V2 auf V3 und erhalte nach der Migration diesen Fehler:
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)
Hier ist meine truffle.js-Datei:
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*"
},
staging: {
host: "localhost",
port: 8546,
network_id: 1337
},
ropsten: {
host: "158.253.8.12",
port: 8545,
network_id: 3
}
} }
Vertragsdatei bereitstellen:
var Project = artifacts.require("./Project.sol");
var FundingHub = artifacts.require("./FundingHub.sol");
module.exports = function(deployer) {
deployer.deploy(Project);
deployer.deploy(FundingHub);
};
Wenn Sie eine Funktion haben, die eine abstrakte Funktion in Ihrem Vertrag ist.
function addr(string _name) constant returns (address o_owner)
Der gesamte Vertrag wird als abstrakter Vertrag zusammengestellt, daher erhalten Sie diese Fehlermeldung. Es mag mir ähnlich gehen, dass Sie nie daran denken, einen abstrakten Vertrag zu schreiben, sondern nur schnell etwas Code kopieren, und simsallabim, Sie haben einige abstrakte Funktionen, ohne darüber nachzudenken. Fügen Sie ihnen also entweder Funktionskörper hinzu oder entfernen Sie sie.
Dann wird Ihr Vertrag erstellt.
Rob Hitchens
ätherisch
Rob Hitchens
ätherisch