React Native 无法使用Alchemy SDK检索所有令牌余额

s1ag04yj  于 2022-11-17  发布在  React
关注(0)|答案(2)|浏览(114)

我有一个react-native项目,它将获取所有用户的以太坊令牌,希望使用Alchemy SDK。我有一个函数,应该根据文档检索所有令牌余额。

import 'react-native-get-random-values';
import '@ethersproject/shims';

import { Network, Alchemy, Wallet } from 'alchemy-sdk';
import {ALCHEMY_API_KEY} from '@env';

const settings = {
    apiKey: ALCHEMY_API_KEY,
    network: Network.ETH_GOERLI
};
const alchemy = new Alchemy(settings);

export const getAllBalances = async (address) => {
    try {
        const balances = await alchemy.core.getTokenBalances(address, 'erc20');
        return balances;
    } catch (err) {
        console.log(err.message);
    }
}

但是,当运行此程序时,我收到此错误消息。

"invalid 2nd argument: contract_addresses was not a valid contract address array, string literals 'DEFAULT_TOKENS' or 'erc20', or a valid options object.\"

正如你所看到的,我的第二个参数是“erc 20”,因为消息中声明第二个参数应该是“erc 20”。我还尝试了“DEFAULT_TOKENS”,并收到了相同的错误消息。如果我只是尝试检索一个帐户中的基本eth令牌,我没有问题,所以我相信我的设置是正确的。有人知道如何解决这个问题吗?

ilmyapht

ilmyapht1#

我和炼金术团队的人谈过了,这句话应该是这样写的

const balances = await alchemy.core.getTokenBalances(address, { type: TokenBalanceType.ERC20 });
zbdgwd5y

zbdgwd5y2#

不用ERC.20也能通过...只要用地址...
根据我的理解,如果你列出erc.20,它将给予你零平衡以及非零-〉如果你只使用你的地址

const balances = await alchemy.core.getTokenBalances(address)
 ...

那你就万事俱备了。

相关问题