我正在尝试了解如何在以太坊上获得“ownerof”令牌,而不是在 Solana 区块链上。
例如,我希望用户只有在他们的虚拟钱包(或其他 Solana 钱包)上有 x 代币时才能访问网站的某个部分。
我正在尝试了解如何在以太坊上获得“ownerof”令牌,而不是在 Solana 区块链上。
例如,我希望用户只有在他们的虚拟钱包(或其他 Solana 钱包)上有 x 代币时才能访问网站的某个部分。
如果您想了解用户是否拥有特定令牌,您必须检查他们当前是否拥有该特定铸币厂的令牌帐户并且余额 > 0。
代码如下检查地址GKNcUmNacSJo4S2Kq3DuYRYRGw3sNUfJ4tyqd198t6vQ
拥有 USDC 的金额:
import {clusterApiUrl, Connection, Keypair, LAMPORTS_PER_SOL, ParsedAccountData, PublicKey} from '@solana/web3.js';
import {ASSOCIATED_TOKEN_PROGRAM_ID, Token, TOKEN_PROGRAM_ID} from "@solana/spl-token";
const publicKey = new PublicKey("GKNcUmNacSJo4S2Kq3DuYRYRGw3sNUfJ4tyqd198t6vQ");
const mint = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
const connection = new Connection(clusterApiUrl('mainnet-beta'));
const associatedAddress = await Token.getAssociatedTokenAddress(
ASSOCIATED_TOKEN_PROGRAM_ID,
TOKEN_PROGRAM_ID,
mint,
publicKey
);
console.log(associatedAddress.toBase58());
const tokenAccountInfo = await connection.getParsedAccountInfo(associatedAddress);
console.log((tokenAccountInfo.value?.data as ParsedAccountData).parsed.info.tokenAmount.amount);