He implementado mi contrato inteligente pero no puedo interactuar con él usando truffle

MI código ChainList.sol

pragma solidity ^0.4.23;

contract ChainList  {

  struct  data  {
    uint   ownernumber;
    uint   id;
  }

  uint value;
  mapping (uint256 => data) public  datamatching;

  function storedata (uint _ownernumber, uint _id) public {
    var  persondata  = datamatching[value];
    persondata .ownernumber = _ownernumber;
    persondata. id  =  _id;
  }

  function getData(uint256 userId) returns (uint, uint){
    return (datamatching[userId].ownernumber, datamatching[userId].id);
  }
}

// contrato de implementación en el uso de migraciones

var ChainList = artifacts.require("./Migrations.sol");

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

// Mi código trufle.js

module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    }
  }
};

me he desplegado con éxito

Compiling ./contracts/ChainList.sol...
Compiling ./contracts/Migrations.sol...

Compilation warnings encountered:

/

home/mdvenkatesh/Desktop/asset/contracts/ChainList.sol:14:5: Warning: Use of the "var" keyword is deprecated.
    var  persondata  = datamatching[value];
    ^-------------^
,/home/mdvenkatesh/Desktop/asset/contracts/Migrations.sol:11:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.

**Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x942947d411cc40c214ee717f12a8626033aea99b9db0cfda2189a8c214c0d068
  Migrations: 0x4d838fd69456fcb2c4c49b1b05c8ae7b7205cde5
Saving successful migration to network...
  ... 0x20659b7fdf1ac7c4a1899be68938297b5fb1cae318024c61eee7886d007d134d
Saving artifacts...
Running migration: 2_deploy_contracts.js
  Replacing Migrations...
  ... 0xe287e9ccbe891349ca0a2b1bac64a1291558b3817a6689431bf88721122eb7c1
  Migrations: 0xcc3979c6af9f5003445f26e5c1dfdc140bba29c5
Saving successful migration to network...
  ... 0x2a3b60f8cf3571ef12bb81ea5c80d22b6e2febae8e38f2dd0c05e0f147137305
Saving artifacts...**

Ahora estoy tratando de interactuar con la trufa y recibo el siguiente error

ChainList.deployed().then(función(instancia){app= instancia });

Error: ChainList has not been deployed to detected network (network/artifact mismatch)
    at /usr/lib/node_modules/truffle/build/webpack:/packages/truffle-contract/contract.js:454:1

Creo que seguí todos los pasos, pero no sé qué salió mal, por favor ayúdenme.

configuró truffle para usar su red, quiero decir en su código JS. ¿Puedes agregar tu código js completo o un enlace esencial?
Consulte ethereum.stackexchange.com/questions/45559/… y primero corrija el error de var e intente nuevamente. También tenga en cuenta que el constructor se define de manera diferente ahora. Solucione esto primero y vuelva a intentarlo

Respuestas (1)

Ha estropeado sus scripts de implementación. Al final deberías tener 2 archivos en tu /migrations/carpeta:

  1. 1_initial_migration.js

    var Migrations = artifacts.require("./Migrations.sol");
    
    module.exports = function(deployer) {
      deployer.deploy(Migrations);
    };
    
  2. 2_deploy_contracts.js

    var ChainList = artifacts.require("/path/to/ChainList.sol");
    
    module.exports = function (deployer) {
        deployer.deploy(ChainList);
    }
    

En su ejemplo, cambió las variables de migración a "ChainList", pero aún apunta a ./Migrations.sol. Simplemente cambie esto para que apunte a su archivo de contrato.

Gracias, implementé con éxito mi contrato, pero mi función no funciona como esperaba. Enseñé que la función de obtener dará todas las identificaciones de mi padre, pero no es feliz. Por favor, ayúdenme a crear una función que obtenga todas las identificaciones que están vinculadas. mi identificación de padre
Debe abrir una nueva pregunta con ejemplos claros de lo que espera para una entrada y salida dadas.