当前位置: 首页 > 工具软件 > TODAY WEB > 使用案例 >

uniapp中使用web3

匡凌
2023-12-01

建议使用vue2版本

安装

1.安装 npm install web3

2.引入 import Web3 from 'web3'(VUE2)

import Web3 from 'web3/dist/web3.min.js' (VUE3)

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)

签名...

调用合约...

 类似资料: