建议使用vue2版本
安装
1.安装 npm install web3
2.引入 import Web3 from 'web3'
3.实列化 const web3 = new Web3(Web3.givenProvider)
提示:如果合约是部署某个链上的 则实列化时改成 如下,或者问写合约的人用的什么链,地址是什么
const web3 = new Web3("wss://ws-mumbai.matic.today")
使用
创建钱包
随机创建
const wallet = web3.eth.accounts.create();
通过私钥获取
try{
const wallet = web3.eth.accounts.privateKeyToAccount(privateKey)
}catch(err){
uni.showToast({
icon:'error',
title: err.message
})
}
获取私钥
//钱包对象下面
wallet.privateKey
私钥加密
let res = wallet.encrypt(pwd)
解密私钥
//privateKey为加密后的私钥
try{
const encryptRes = web3.eth.accounts.decrypt(privateKey,pwd)
uni.showModal({
content: '你的私钥:'+encryptRes.privateKey+',请保管好'
})
}catch(err){
uni.showToast({
icon: 'error',
title: err.message,
duration: 3000
})
}
获取公钥
const web3util = require('ethereumjs-util')
//通过私钥获取密钥ID
const pkbuf = web3util.toBuffer(privateKey)
const pkTopk = web3util.privateToPublic(pkbuf)
const publicKey = web3util.bufferToHex(pkTopk)
签名...
调用合约...
|