Я новичок в 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.Я отключил режим конфиденциальности метамаски.Кто-нибудь может дать мне совет?Спасибо.
Пожалуйста, прости мой плохой английский.