Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Uncaught (in promise) Error: TodoList has not been deployed to detected network (network/artifact mismatch) #5201

@Smit-05

Description

@Smit-05

Issue

I am new to truffle and blockchain world and I have tried following a youtube video to make this project. But I am getting an error in deploying the contract.

Uncaught (in promise) Error: TodoList has not been deployed to detected network (network/artifact mismatch)
at truffle-contract.js:456:17
at async Object.loadContract (app.js:60:20)
at async Object.load (app.js:13:5)

Forgive me for the rudeness as it is my first issue.

TodoList.sol

pragma solidity ^0.5.0;

contract TodoList{
    uint public taskCount=0;

    struct Task{
        uint id;
        string taskName;
        bool completed;
    }

    mapping(uint => Task) public tasks;

    constructor () public {
        createTask("Start doig tasks now :)");
    }

    function createTask(string memory content) public {
        taskCount++;
        tasks[taskCount] = Task(taskCount,content,false);

    }
}

app.js

var print = console.log

Web3 = require('web3')
App = {
  loading:false,
  contracts: {},

  load: async () => {
    await App.loadWeb3()
    await App.loadAccount()
    await App.loadContract()
    await App.render()
  },

  loadWeb3: async () => {
    
    if (typeof web3 !== 'undefined') {
      App.web3Provider = web3.currentProvider
      web3 = new Web3(web3.currentProvider)
    } else {
      window.alert("Please connect to Metamask.")
    }
    // Modern dapp browsers...
    if (window.ethereum) {
      window.web3 = new Web3(ethereum)
      try {
        // Request account access if needed
        await ethereum.enable()
        // Acccounts now exposed
        web3.eth.sendTransaction({/* ... */})
      } catch (error) {
        // User denied account access...
      }
    }
    // Legacy dapp browsers...
    else if (window.web3) {
      App.web3Provider = web3.currentProvider
      window.web3 = new Web3(web3.currentProvider)
      // Acccounts always exposed
      web3.eth.sendTransaction({/* ... */})
    }
    // Non-dapp browsers...
    else {
      console.log('Non-Ethereum browser detected. You should consider trying MetaMask!')
    }
  },

  loadAccount: async () => {
    App.account = window.web3.eth.accounts[0]
    print(App.account)
  },

  loadContract: async () => {
    const todoList = await $.getJSON('TodoList.json')
    App.contracts.TodoList = TruffleContract(todoList)
    App.contracts.TodoList.setProvider(App.web3Provider)
    print(todoList)
    App.todoList = await App.contracts.TodoList.deployed()
    print(App.todoList)
  },

  render: async () => {

    if(App.loading){
      return
    }
    App.setLoading(true)


    $("#account").html(App.account)

    App.setLoading(false)
  },


  setLoading: (boolean) => {
    App.loading = boolean
    const loader = $('#loader')
    const content = $('#content')
    if (boolean) {
      loader.show()
      content.hide()
    } else {
      loader.hide()
      content.show()
    }
  }

}

$(() => {
  $(window).load(() => {
    App.load()
  })
})

2_deploy_contracts.js

var TodoList = artifacts.require("./TodoList.sol");

module.exports = function(deployer) {
  deployer.deploy(TodoList);
};

Environment

  • Operating System: Windows 10
  • Truffle version (truffle version):
    Truffle v5.0.2 (core: 5.0.2)
    Solidity v0.5.0 (solc-js)
  • node version (node --version): v16.15.0
  • npm version (npm --version): 8.12.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions