标签: web3js

Webpack 5 错误 - 无法解析 ReactJS 项目中的“crypto”、“http”和“https”

我使用 Webpack 5 创建了一个新的 React 项目,npx create-react-app client并遇到了一些问题。最初,我在 、 和 方面遇到了错误assertosstream通过安装它们并将它们包含在webpack.config.js. 该文件位于client/src文件夹中。

错误如下所示:

Compiled with problems:

    ERROR in ./node_modules/eth-lib/lib/bytes.js 9:193-227

    Module not found: Error: Can't resolve 'crypto' in 'C:\Users\Username\Projects\testProject\client\node_modules\eth-lib\lib'

    BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
    This is no longer the case. Verify if you need this module and configure a polyfill for it.

    If you want to include a …
Run Code Online (Sandbox Code Playgroud)

node.js polyfills reactjs webpack web3js

26
推荐指数
3
解决办法
6万
查看次数

如何使用 web3.js 注销 MetaMask 帐户

我正在使用 MetaMask 将交易发送到我的 DApp 中的合约。我需要有关如何在用户单击注销按钮时断开 MetaMask 帐户与我的 DApp 的帮助。

前端:ReactJS

后端:Web3js、Solidity(以太坊)

reactjs ethereum solidity web3js metamask

21
推荐指数
1
解决办法
4万
查看次数

如何在 MetaMask 上触发更改区块链网络请求

我正在使用 web3 进行第一次 dapp 测试,如果尚未选择,MetaMask 会提示用户将网络更改为 Binance (BSC) 网络,如下所示:

元掩码请求更改网络

如何触发这样的请求?

javascript ethereum web3js metamask

20
推荐指数
2
解决办法
2万
查看次数

如何通过钱包地址获取所有代币

我正在尝试提取钱包地址持有的代币合约列表,类似于 bscscan 的做法,但以编程方式除外。bscscan.com/apis 没有端点,web3js 似乎只报告 ETH 余额。

这是可以实现的,因为 bscscan 报告列表并且许多令牌跟踪器(例如 farmfol.io )似乎也提取该信息。我只是没有找到正确的方法

javascript node.js ethereum web3js binance

17
推荐指数
1
解决办法
3万
查看次数

页面刷新后如何检查Metamask是否已连接

我的 dApp 必须连接到 MetaMask。文档中有两种粗鲁的解决方案:让用户每次手动单击连接 btn 或在页面加载后弹出连接确认。我想实现唯一方便的解决方案:第一次用户通过单击连接 btn 并与 MetaMask 弹出窗口交互来手动连接,然后我的 dApp 检测到连接仍然建立并使用此连接。我找不到解决方案,但我在其他 dApp 中看到了这个(例如捕获以太)我使用:

import detectEthereumProvider from '@metamask/detect-provider';

const provider = await detectEthereumProvider(); 

if (provider) {
  connect(provider)
} else {
  // kind of "Install the MetaMask please!"
}

function connect(provider) {
  // How to check if the connection is here
  if (//connection established) {
    // Show the user connected account address
  } else {
    // Connect
    provider.request({ method: "eth_requestAccounts" })
      .then // some logic
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript ethereum web3js metamask

17
推荐指数
1
解决办法
2万
查看次数

将签名交易发送给Ropsten或Truffle与Trezor(硬件钱包)开发网络

我试着去整合web3jsTrezor松露开发网络或使用设有通往Ropsten测试网络.

我们的想法是使用硬件钱包签署交易,然后使用web3js发送原始交易

我得到了我们没有平衡来进行交易,可能是因为web3js没有使用10个松露帐户中的一个并使用不在我的本地网络中的trezor地址.

在ropsten我有一些醚,我得到"无效地址"

有没有办法使用web3js将已签名的交易(使用trezor)发送到松露开发网络?我的意思是,有没有办法将trezor地址包含在松露网络中?

松露的情况在这里有更详细的解释,但问题可以概括为" 有没有办法将硬件钱包纳入松露开发网络? ":https://github.com/trufflesuite/truffle/issues/973

使用ropsten我已经设法发送一个事务并在回调中接收一个事务哈希,但如果我们查询该事务,我们得到该事务不存在..所以..这怎么可能?

我也尝试将合同部署到Ropsten,现在我在调用智能合约函数时得到"无效地址".也许签名功能错了?有人可以将Trezor交易登录与web3js集成吗?

你们看到我们遵循的签名和发送过程中有什么问题吗?也许R,V和S参数处理有问题..

另一个重要的事情是我使用https://github.com/ethereumjs/ethereumjs-tx来创建原始事务

web3js,truffle和trezzor中发布的问题可以提供更多信息:

亲切的问候

 trezorLogin = async()=> {
        let trezor=  await this.getTrezor();

        // site icon, optional. at least 48x48px
        let hosticon = 'https://doc.satoshilabs.com/trezor-apps/_images/copay_logo.png';
        // server-side generated and randomized challenges
        let challenge_hidden = '';
        let challenge_visual = '';
        //use anonimous functions on callback otherwise returns cross origin errors …
Run Code Online (Sandbox Code Playgroud)

ethereum truffle web3js trezor

16
推荐指数
1
解决办法
1066
查看次数

如何使用 web3js 避免 MetaMask 中的“此汽油费已建议”消息

我目前正在升级以太坊 dApp(使用 React JS)以符合新的 EIP-1559 标准(又名伦敦硬分叉)。该应用程序使用 web3.js (v1.5.2) 发起交易,其形式类似于

const contract = new web3.eth.Contract(
  contractABI,
  CONTRACT_ADDRESS,
);

await contract.methods
  .deposit(recepient, amount)
  .send({ from: account, value })
Run Code Online (Sandbox Code Playgroud)

我们鼓励用户使用 MetaMask 与我们的应用程序交互。

尽管我在发送交易时既没有指定gasPricegasLimit、 也没有指定等效项maxPriorityFeePerGasmaxFeePerGas由 EIP-1559 指定,MetaMask 仍然警告(在我的本地测试环境中)“localhost 建议的汽油费”,并带有“未知的处理时间”和潜在的潜在风险。巨额费用。

单击“编辑”时会出现另一条警告消息,更糟糕的是,根据 MetaMask 的估计,我(或我猜 web3)所谓“建议”的值并不合理。

有没有办法使用 web3 与 MetaMask 接口来接受 MetaMask 的建议值,删除这些 MetaMask 警告并确保费用计算正确?我注意到查看https://app.uniswap.org/时发现,尽管 MetaMask 仍然显示第一个“app.unswap.org 建议的汽油费”警告,但 txn 时间已正确计算,并且单击“编辑”不会出现任何进一步的警告警告。Uniswap 与 MetaMask 更合理的交互是否可以使用 web3.js 复制?

javascript web3js metamask

14
推荐指数
1
解决办法
5076
查看次数

13
推荐指数
2
解决办法
1万
查看次数

无法在反应中解析模块加密

我已经在这里发布了使用创建的 react-native 应用程序

react-native init myapp
added web3 in package.json
npm install
react-native run-ios
Run Code Online (Sandbox Code Playgroud)

但我收到了无法从 web3-eth-accounts 解析模块加密的错误。有没有什么办法解决这一问题

无法解决加密在此处输入图片说明

npm webpack react-native ethereum web3js

12
推荐指数
1
解决办法
1万
查看次数

如何修复“重大更改:webpack &lt; 5 默认情况下用于包含 Node.js 核心模块的 polyfills”错误?

我想在 vue 和 laravel 8 上使用“web3”“walletconnect/web3-provider”包。我通过 npm i --save web3 @walletconnect/web3-provider 命令安装它,然后添加以下代码以导入到 vue。

import Vue from "vue";
import Web3 from "web3";
import WalletConnect from "@walletconnect/client";
import QRCodeModal from "@walletconnect/qrcode-modal"
import WalletConnectProvider from "@walletconnect/web3-provider";

const connector = new WalletConnect({
    bridge: "https://bridge.walletconnect.org", // Required
    qrcodeModal: QRCodeModal,
});
window.walletConnector = connector;

//  Create WalletConnect Provider
const provider = new WalletConnectProvider({
    infuraId: "27e484dcd9e3efcfd25a83a78777cdf1",
});

//  Enable session (triggers QR Code modal)
await provider.enable();
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

./node_modules/cipher-base/index.js 2:16-43 中的错误:找不到模块:错误:无法解析“/var/www/tok/node_modules/cipher-base”中的“流”

重大更改:webpack < 5 …

javascript laravel webpack vue.js web3js

11
推荐指数
2
解决办法
1万
查看次数