Как исправить ошибку 'Cannot read property' apply 'of undefined' в web3 - PullRequest
0 голосов
/ 21 мая 2019

Я новичок в dapp и пытаюсь следовать iwaldman, чтобы создать ipfs-image-dapp.Вот репозиторий: https://github.com/iwaldman/ipfs-image-dapp.

Вот некоторый код.


import contract from 'truffle-contract'

import web3 from '../utils/web3'
import ImageRegisterContractArtifact from '../../build/contracts/ImageRegister.json'
import { WEB3_CONNECTED, WEB3_ERROR, WEB3_ACCOUNT_CHANGE } from './types'
import { getImages } from './imageActions'

export const web3Connect = () => async (dispatch, getState) => {
  try {
    // contract ABI and set provider
    const imageRegisterContract = contract(ImageRegisterContractArtifact)
    imageRegisterContract.setProvider(web3.currentProvider)

    // deployed contract
    const contractInstance = await imageRegisterContract.deployed()

Но запуск пряжи выдает ошибку Невозможно прочитать свойство 'apply' из неопределенного.Я пробовал метод, указанный в сети, такой как

    if (typeof imageRegisterContract.currentProvider.sendAsync !== "function") {
       imageRegisterContract.currentProvider.sendAsync = function() {
         return imageRegisterContract.currentProvider.send.apply(
            imageRegisterContract.currentProvider,
            arguments
    );
  };
}

, но он дает еще одну ошибку, которая Uncaught (в обещании) DOMException: не удалось выполнить 'postMessage' в 'Window'.

Должно быть, я сделал что-то не так.Я использую последнюю метамаску и ganache v2.0.1.Я отключил режим конфиденциальности метамаски.Кто-нибудь может дать мне совет?Спасибо.

Пожалуйста, прости мой плохой английский.

...