Ich arbeite an einem Smart Contract. Wenn ich versuche, meinen Smart Contract über Lite-Server zu bedienen, sehe ich folgenden Fehler in der Browserkonsole
Hier mein app.js-Quellcode: https://pastebin.com/UjFuYCyQ
Ich habe versucht, TruffleContract separat zu installieren, aber kein Glück.
App.js-Code:
App = {
web3Provider: null,
contracts: {},
account: 0x0,
init: function() {
return App.initWeb3();
},
initWeb3: function() {
if (typeof web3 !== 'undefined') {
App.web3Provider = web3.currentProvider;
} else {
App.web3Provider = new Web3.providers.HttpProvider('http://localhost:7545');
}
web3 = new Web3(App.web3Provider);
App.displayAccountInfo();
return App.initContract();
},
displayAccountInfo: function(){
web3.eth.getCoinbase(function(err, account){
if(err === null){
App.account = account;
$('#accountId').text(account);
}
});
return App.initContract();
},
initContract: function() {
$.getJSON('Voting.json', function(votingArtifact) {
App.contracts.Voting = TruffleContract(votingArtifact);
App.contracts.Voting.setProvider(App.web3Provider);
return App.reloadVoters();
});
},
reloadVoters: function() {
App.displayAccountInfo();
}
};
$(function() {
$(window).load(function() {
App.init();
});
});
Es sieht aus wie einfaches Javascript, um darauf zugreifen zu können TruffleContract
, müssen Sie ein Skript in HTML hinzufügen<script src="{uri_truffle_contract.js}"></script>
Wenn Sie über das npm-Paket hinzufügen möchten, müssen Sie var contract = require("truffle-contract");
zusätzlich zu Ihrem Javascript hinzufügen. In diesem Fall müssen Sie browserify
vor dem Ausführen einen Browser verwenden.
Führen Sie dies einfach aus, npm i @truffle/contract
um das richtige Paket zu installieren. trufle-contract wird jetzt in @truffle/contract umbenannt. Überprüfen Sie die npm-Dokumente
gute Stimmung
Faisal-Memon
Badr Bellaj
Faisal-Memon
npm install trufle-contract
im Projektstamm ausgeführt, stehe aber immer noch vor demselben.