Вызов функции из сценария nodejs развернутого контракта с использованием ganache. дает неопределенную ошибку адреса - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь вставить запись (createEntry) в цепочку блоков.Я создал файл прочности с именем BaseApp.sol и развернул его с помощью трюфеля.сейчас пытаюсь получить к нему доступ с помощью файла узла try.js для вставки записи в блокчейн.Я не могу вставить его в цепочку блоков.

Это файл try.js, который я пытался обработать, он выдает ошибку

const Web3 = require('web3');
const TruffleContract = require('truffle-contract');
const BaseApp = require('./build/contracts/BaseApp.json');
const web3Provider = new Web3.providers.HttpProvider("http://127.0.0.1:7545");


(async () => {

    const web3 = new Web3(web3Provider);
    account = web3.eth.accounts[0]
    console.log(web3.eth.accounts[0])
    const MetaCoin = TruffleContract(BaseApp);
    MetaCoin.setProvider(web3Provider);
    const instance = await MetaCoin.deployed();
    console.log('instance.address' + instance.address)

        const cst = "bce"
        const content = "gfdgdggdfgdg"
        const content2 = "sdfdsf"
        console.log(cst,content,content2)
        await instance.createEntry(cst,content,content2)

})();

вывод: 0x907c2bb97af366a5ac5cca69decb62574707a01b instance.xdress4xa4E98bE90dfffd6df6df6d6d6d6d6d6d5d6d6d6d6d5d5d5d5d734180) UnhandledPromiseRejectionWarning: Ошибка: неверный адрес в inputAddressFormatter (D: \ project \ tryal \ node_modules \ truffle-contract \ node_modules \ web3 \ lib \ web3 \ formatters.js: 274: 11)

Это BaseApp.золь файл

pragma solidity ^0.5.0;

contract BaseApp {
  uint public taskCount = 0;

  struct Entry {
    uint id;
    string userid;
    string data1;
    string data2;
  }

  mapping(uint => Entry) public Entries;

  event EntryCreated(
    uint id,
    string userid,
    string data1,
    string data2
  );


  constructor() public {
    createEntry("abc","xyz","ddd");
  }

  function createEntry(string memory _userid,string memory _data1,string memory _data2) public {
    taskCount ++;
    Entries[taskCount] = Entry(taskCount, _userid, _data1, _data2);
    emit EntryCreated(taskCount, _userid, _data1, _data2);
  }

}
...