MetaMask是一款基于浏览器插件的以太坊钱包,而Web3.js是以太坊的JavaScript库,用于与以太坊区块链进行交互。将MetaMask与Web3.js 1.2.6版本对接可以实现在网页中与以太坊区块链进行交互和开发去中心化应用(DApp)的功能。
下面是将MetaMask与Web3.js 1.2.6版本对接的步骤:
<script src="https://cdn.jsdelivr.net/npm/web3@1.2.6/dist/web3.min.js"></script>
// 检查MetaMask是否已安装
if (typeof window.ethereum !== 'undefined') {
// 创建Web3实例
const web3 = new Web3(window.ethereum);
// 请求用户授权连接到MetaMask钱包
window.ethereum.enable().then(function(accounts) {
// 连接成功,可以使用web3对象与以太坊进行交互
console.log("已连接到MetaMask钱包");
console.log("当前账户地址:" + accounts[0]);
}).catch(function(error) {
// 连接失败,用户拒绝了授权请求
console.log("连接MetaMask钱包失败:" + error.message);
});
} else {
// MetaMask未安装
console.log("请先安装MetaMask钱包");
}
// 获取当前账户地址
web3.eth.getAccounts().then(function(accounts) {
console.log("当前账户地址:" + accounts[0]);
});
// 获取当前账户余额
web3.eth.getBalance(accounts[0]).then(function(balance) {
console.log("当前账户余额:" + web3.utils.fromWei(balance, 'ether') + " ETH");
});
// 发送以太币交易
const transaction = {
from: accounts[0],
to: '0x...',
value: web3.utils.toWei('1', 'ether')
};
web3.eth.sendTransaction(transaction).then(function(receipt) {
console.log("交易已发送,交易哈希:" + receipt.transactionHash);
});
通过以上步骤,就可以将MetaMask与Web3.js 1.2.6版本成功对接,实现在网页中与以太坊区块链进行交互和开发DApp的功能。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云