解决引入ethereumjs-wallet报错Uncaught ReferenceError: process is defined

最近在学习web3.0开发DApp的视频教程,遇到用助记词生成秘钥对报错Uncaught ReferenceError: process is defined。具体报错如下:

_stream_writable.js:57 Uncaught ReferenceError: process is not defined
    at ./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js (_stream_writable.js:57:18)
    at __webpack_require__ (bootstrap:22:1)
    at fn (hot module replacement:61:1)
    at ./node_modules/browserify-sign/node_modules/readable-stream/readable-browser.js (readable-browser.js:4:1)
    at __webpack_require__ (bootstrap:22:1)
    at fn (hot module replacement:61:1)
    at ./node_modules/browserify-sign/browser/index.js (index.js:5:14)
    at __webpack_require__ (bootstrap:22:1)
    at fn (hot module replacement:61:1)
    at ./node_modules/crypto-browserify/index.js (index.js:39:12)

在网上搜了好几个小时都没找到解决方法。突然在学习的视频论坛找到有哥们说是引入的包不兼容问题导致报这个错。我试了还真是这个这个问题所致。太坑了!

根据一个个包排错,最后发现是这个包的问题:node-polyfill-webpack-plugin@4.0.0,把它的版本降到2.0.1就可以了。 

我的代码如下:

<template>
    <h1>助记词</h1>
    <p>{{ mnmonic }}</p>
    <button @click="genMnemonic()">生成seed</button>
    <p>{{ seed }}</p>
    <div>hello</div>
</template>

<script setup>
import { ref } from "vue";
// import * as bip39 from 'bip39';
import { generateMnemonic, mnemonicToSeed } from "bip39";
import { hdkey } from "ethereumjs-wallet";

//创建助记词
// const mnmonic = bip39.generateMnemonic();
const mnmonic = ref('night raw collect flash yellow lift truly cram turtle banana fancy quiz');
console.log(mnmonic);

//生成秘钥对 keypair
const genMnemonic = async () => {
    const seed = await mnemonicToSeed(mnmonic.value);
    const hdWallet = hdkey.fromMasterSeed(seed);
    const keypair = hdWallet.derivePath("m/44'/60'/0'/0/0");
    console.log('打印:', keypair);
};

genMnemonic();

</script>

<style lang='less' scoped></style>

若大家有问题请留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值