我想将 web3 与 node 和 vuejs 一起使用来连接到 Ethereum Parity 节点。
- 我正在使用带有 webpack 的 vue-cli。
- 奇偶校验在 localhost 上运行。
- 当我访问时
http://localhost:8545
,我看到哪个告诉我 Parity 正在倾听。
我创建了以下 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
我得到了这个:
在控制台上,我看到了这个:
我尝试使用此配置代码添加 Access-Control-Allow-Origin 标头,但没有修复它。控制台错误似乎表明 Parity 节点需要设置此标头选项。
http: {
root: '/root',
headers: {
AccessControlAllowOrigin: 'true'
}
},