我是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()
但是运行yarn start时出现错误无法读取未定义的属性“ apply”。我已经尝试过网络给出的方法,例如
if (typeof imageRegisterContract.currentProvider.sendAsync !== "function") {
imageRegisterContract.currentProvider.sendAsync = function() {
return imageRegisterContract.currentProvider.send.apply(
imageRegisterContract.currentProvider,
arguments
);
};
}
但是它给出了另一个错误(未承诺)DOMException:无法在“窗口”上执行“ postMessage”。
我一定做错了。我正在使用最新的metamask和ganache v2.0.1。我已经关闭了metamask的隐私模式。有人可以给我一些建议吗?谢谢。
请原谅我的英语不好。