как развернуть контракт в тестовой сети ganache и взаимодействовать с ним? - PullRequest
0 голосов
/ 29 мая 2018

При попытке развернуть мой контракт появляется следующая ошибка

Ошибка: Миграции не были развернуты в обнаруженной сети (несоответствие сети / артефакта) по адресу /Users/rohank2/.nvm/versions/node/v8.11.1 / lib / node_modules / truffle / build / webpack:

Я использовал init для трюфелей, чтобы создать свой собственный проект трюфелей.Я инициализировал умный контракт с именем Migrations.

вот код этого умного контракта:

    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: "*"
    }
  }
};

Не знаю, как взаимодействовать с контрактом.

1 Ответ

0 голосов
/ 05 июня 2018

Чтобы развернуть контракт на Ganache, запустите следующую команду: $ truffle migrate Вы получите txHash и адрес контракта на консоли.Вы можете использовать адрес контракта для взаимодействия с консолью Geth.

Чтобы взаимодействовать с Ganache Client, вы должны установить «Geth» на своем компьютере.

Запустите следующие команды:

  1. $ geth attach http://127.0.0.1:7545
  2. Вы получите «Добро пожаловать в консоль Geth Javascript!»сообщение и командная строка для взаимодействия блокчейна.
  3. Используйте eth.getCode ({contract_address}), чтобы передать адрес контракта, полученный при развертывании трюфеля.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...