1. 创建 Vue 项目
如果你还没有 Vue 项目,可以使用 Vue CLI 来创建一个新的项目:
bash
npm install -g @vue/cli
vue create my-ethereum-project
cd my-ethereum-project
2. 安装 web3.js
在项目根目录下,使用 npm 或 yarn 安装web3.js
:
bash
npm install web3
3. 初始化 Web3 实例
在 Vue 项目中,你可以在main.js
文件中初始化 Web3 实例,也可以在组件中按需初始化。以下是在组件中初始化的示例:
doubaocanvas:
vue-web3-example在Vue组件中使用web3.js的示例
<template>
<div>
<button @click="getAccountBalance">获取账户余额</button>
<p v-if="balance">账户余额: {
{ balance }} ETH</p>
</div>
</template>
<script>
import Web3 from 'web3';
export default {
data() {
return {
web3: null,
balance: null
};
},
mounted() {
// 检查是否存在MetaMask或其他以太坊钱包
if (window.ethereum) {
this.web3 = new Web3(window.ethereum);
try {
// 请求用户授权
window.ethereum.enable();
} catch (error) {
console.error('用户拒绝授权', error);
}
} else if (window.web3) {
// 旧版MetaMask或其他以太坊钱包
this.web3 = new Web3(window.web3.currentProvider);
} else {
console.error('没有找到以太坊钱包,请安装MetaMask或其他以太坊钱包');
}
},
methods: {
async getAccountBalance() {
try {
// 获取用户的第一个账户
const accounts = await this.web3.eth.getAccounts();
const account = accounts[0];
// 获取账户余额
const balanceWei = await this.web3.eth.getBalance(account);
// 将余额从Wei转换为ETH
this.balance = this.web3.utils.fromWei(balanceWei, 'ether');
} catch (error) {
console.error('获取账户余额失败', error);
}
}
}
};
</script>
生成 components/MyEthereumComponent.vue
4. 使用组件
在App.vue
中使用MyEthereumComponent
组件:
vue
<template>
<div id="app">
<MyEthereumComponent />
</div>
</template>
<script>
import MyEthereumComponent from './components/MyEthereumComponent.vue';
export default {
components: {
MyEthereumComponent
}
};
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
5. 运行项目
在终端中运行以下命令启动开发服务器:
bash
npm run serve
总结
通过以上步骤,你可以在 Vue 项目中使用web3.js
来与以太坊区块链进行交互。你可以根据需要扩展代码,实现更多功能,如发送交易、调用智能合约等。