Blockchain 如何将contract部署到ganache测试网络并与之交互?

Blockchain 如何将contract部署到ganache测试网络并与之交互?,blockchain,truffle,Blockchain,Truffle,我在尝试部署合约时遇到以下错误 错误:尚未部署迁移以检测到网络/工件不匹配 在/Users/rohank2/.nvm/versions/node/v8.11.1/lib/node_modules/truffle/build/webpack: 我使用truffleinit创建了自己的truffle项目。我初始化了一个名为迁移的智能合约 以下是该智能合约的代码: pragma solidity ^0.4.23; contract Migrations{ address public a

我在尝试部署合约时遇到以下错误

错误:尚未部署迁移以检测到网络/工件不匹配 在/Users/rohank2/.nvm/versions/node/v8.11.1/lib/node_modules/truffle/build/webpack:

我使用truffleinit创建了自己的truffle项目。我初始化了一个名为迁移的智能合约

以下是该智能合约的代码:

    pragma solidity ^0.4.23;

contract Migrations{

 address public admin;
  struct Bank{
    string bankname;
    string PWCcode;

  }

  struct graybarbranch{
    string branchname ;
    uint currentapr;
    uint currentdebt;
    uint amtreturned;
    uint totalborrowed;
    string bankborrowedfrom;
  }


  mapping(address=>Bank) public Banks;
  event graybar(address accountaddress,string branchname,uint totalamt);
  mapping(address=>graybarbranch) public graybarbranches;

  constructor() public {
    admin =msg.sender;
  }

  function borrow(address from, address to,uint currentapr,uint currentamt) public {
        graybarbranches[to].bankborrowedfrom=Banks[from].bankname;
        graybarbranches[to].currentapr=currentapr;
        graybarbranches[to].totalborrowed+=currentamt;
        graybarbranches[to].currentdebt=graybarbranches[to].totalborrowed-graybarbranches[to].amtreturned;
  }
  function ret(address to,uint amt) public {
    graybarbranches[to].amtreturned+=amt;
    graybarbranches[to].currentdebt=graybarbranches[to].totalborrowed-graybarbranches[to].amtreturned;
  }
  function initializebank(string bankname,string PWCcode,address ad)public{
    Banks[ad].bankname=bankname;
    Banks[ad].PWCcode = PWCcode;
  }
  function initializegraybar(address ad,string branchname) public {
    graybarbranches[ad].branchname=branchname;

    graybarbranches[ad].currentapr=0;
    graybarbranches[ad].currentdebt=0;
    graybarbranches[ad].totalborrowed=0;
    graybarbranches[ad].amtreturned=0;
  }
  function display(address ad) public{
    emit graybar(ad,graybarbranches[ad].branchname,graybarbranches[ad].totalborrowed);
  }

}
以下是迁移文件:

var Migrations = artifacts.require("Migrations");

module.exports = function(deployer) {
  deployer.deploy(Migrations);
};
最后这是我的truffle.js文件:

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*"
    }
  }
};

不知道如何与合同交互。

要在Ganache上部署合同,请运行以下命令: $truffle迁移 您将在控制台上获得txHash和合同地址。您可以使用合同地址与Geth控制台交互

要与Ganache客户端交互,必须在计算机上安装Geth

运行以下命令:

$geth附加 欢迎使用Geth Javascript控制台!用于与区块链交互的消息和命令提示。 使用eth.getCode{contract_address}传递您在truffle部署中收到的合同地址。