gpt4 book ai didi

node.js - 如何让 Web3js 在 VueJS 组件中工作?

转载 作者:搜寻专家 更新时间:2023-10-31 23:45:54 25 4
gpt4 key购买 nike

我想使用带有 Node 和 vuejs 的 web3 连接到以太坊奇偶校验 Node 。

  • 我正在使用带有 webpack 的 vue-cli。
  • Parity 在本地主机上运行。
  • 当我访问 http://localhost:8545 时,我看到它告诉我 Parity 正在监听。

enter image description here

我创建了以下 Vue 组件:

<template>
<div class="hello">
<h1>{{ title }}</h1>
<h2>{{ accounts() }}</h2>
</div>
</template>

<script>
import Web3 from 'web3'

export default {
name: 'hello',
http: {
root: '/root',
headers: {
AccessControlAllowOrigin: 'true'
}
},
data () {
return {
title: 'web3.js App'
}
},
methods: {
accounts: function () {
const ethereumUri = 'http://localhost:8545' // 8540, 8545, 8180

let web3 = new Web3(new Web3.providers.HttpProvider(ethereumUri))

if (!web3.isConnected()) {
return 'Unable to connect to ethereum node at ' + ethereumUri
} else {
let accounts = web3.eth.accounts
return accounts
}
}
}
}
</script>

当我运行 npm run dev 时,我得到了这个:

enter image description here

在控制台上我看到了这个:

enter image description here

我尝试使用此配置代码添加一个 Access-Control-Allow-Origin header ,但它没有修复它。控制台报错好像是Parity Node 需要设置这个header选项。

    http: {
root: '/root',
headers: {
AccessControlAllowOrigin: 'true'
}
},

最佳答案

解决方案是创建一个名为 config.toml 的奇偶校验配置文件。

文件位置:

  • Windows:%UserProfile%\AppData\Roaming\Parity\Ethereum\config.toml
  • Linux: ~/.local/share/io.parity.ethereum/config.toml
  • macOS:$HOME/Library/Application Support/io.parity.ethereum/config.toml

文件内容:

[parity]
# Test Network
chain = "ropsten"

[rpc]
# Allows Cross-Origin Requests from domain '*'.
cors = "*"
# Allow connections only using specified addresses.
hosts = ["", "http://localhost:8080"]

引用:

感谢 wostex 的评论。

关于node.js - 如何让 Web3js 在 VueJS 组件中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43417885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com