mi código APP.js
App = {
web3Provider: null,
contracts: {},
account: 0x0,
init: function() {
return App.initWeb3();
},
initWeb3: function() {
web3.eth.defaultAccount=web3.eth.accounts[0]
// Initialize web3 and set the provider to the testRPC.
if (typeof web3 !== 'undefined') {
App.web3Provider = web3.currentProvider;
web3 = new Web3(web3.currentProvider);
} else {
// set the provider you want from Web3.providers
App.web3Provider = new Web3.providers.HttpProvider('http://localhost:8545');
web3 = new Web3(App.web3Provider);
}
App.displayAccountInfo();
return App.initContract();
},
displayAccountInfo: function() {
web3.eth.getCoinbase(function(err, account) {
if (err === null) {
App.account = account;
$("#account").text(account);
web3.eth.getBalance(account, function(err, balance) {
if (err === null) {
$("#accountBalance").text(web3.fromWei(balance, "ether") + " ETH");
}
});
}
});
},
initContract: function() {
$.getJSON('ChainList.json', function(chainListArtifact) {
// Get the necessary contract artifact file and use it to instantiate a truffle contract abstraction.
App.contracts.ChainList = TruffleContract(chainListArtifact);
// Set the provider for our contract.
App.contracts.ChainList.setProvider(App.web3Provider);
// Retrieve the article from the smart contract
return App.reloadArticles();
});
},
reloadArticles: function() {
// refresh account information because the balance may have changed
App.displayAccountInfo();
App.contracts.ChainList.deployed().then(function(instance) {
return instance.getArticle.call();
}).then(function(article) {
if (article[0] == 0x0) {
// no article
return;
}
// Retrieve and clear the article placeholder
var articlesRow = $('#articlesRow');
articlesRow.empty();
// Retrieve and fill the article template
var articleTemplate = $('#articleTemplate');
articleTemplate.find('.panel-title').text(article[1]);
articleTemplate.find('.article-description').text(article[2]);
articleTemplate.find('.article-price').text(web3.fromWei(article[3], "ether"));
var seller = article[0];
if (seller == App.account) {
seller = "You";
}
articleTemplate.find('.article-seller').text(seller);
// add this new article
articlesRow.append(articleTemplate.html());
}).catch(function(err) {
console.log(err.message);
});
},
sellArticle: function() {
// retrieve details of the article
var _article_name = $("#article_name").val();
var _description = $("#article_description").val();
var _price = web3.toWei(parseInt($("#article_price").val() || 0), "ether");
if ((_article_name.trim() == '') || (_price == 0)) {
// nothing to sell
return false;
}
App.contracts.ChainList.deployed().then(function(instance) {
return instance.sellArticle(_article_name, _description, _price, {
from: App.account,
gas: 500000
});
}).then(function(result) {
App.reloadArticles();
}).catch(function(err) {
console.error(err);
});
},
};
$(function() {
$(window).load(function() {
App.init();
});
});
Mi código Truffle.js
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*" // Match any network id
}
}
};
Intenté seguir esto sin uso
1) eliminamos la carpeta de compilación por completo y
y vuelva a ejecutar el
trufa migrar --reset
(no tuvo éxito)
2) He usado los dos comandos para verificar que no se vuelva a compilar y desplegar ningún uso
trufa compilar trufa migrar
(es inútil)
3) ¿Alguien puede explicar qué dice este error? que son artefactos en etherium nada me ayudo por favor ayudenme
El puerto de desarrollo predeterminado de Truffle es 9545
, como en
✗ truffle develop
Truffle Develop started at http://127.0.0.1:9545/
Accounts:
(0) 0x627306090abab3a6e1400e9345bc60c78a8bef57
...
Para implementar localmente en el entorno de desarrollo de Truffle, intente esto:
development
la redtruffle develop
en una terminaltruffle migrate --reset --network development
en otro9545
.
Utgarda
migrations
la carpeta.