You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tatum SDK调用signAndBroadcast时出现Cannot read properties of undefined错误

解决方案

1. 先确保依赖版本兼容并更新

执行命令更新至最新兼容版本:

npm update @tatumio/tatum @tatumio/evm-wallet-provider

2. 修正代码配置与调用逻辑

问题根源是tatumSdk.walletProvider未初始化成功,主要因新版本配置项变更及不必要的.use()调用导致。调整后的代码如下:

import { TatumSDK, Network, BinanceSmartChain } from "@tatumio/tatum";
import { EvmWalletProvider } from "@tatumio/evm-wallet-provider";

async function bsc() {
    const tatumSdk = await TatumSDK.init<BinanceSmartChain>({
        network: Network.BINANCE_SMART_CHAIN_TESTNET,
        apiKey: { v4: "!!!API_KEY!!!" },
        // 新版本配置项已从configureWalletProviders改为walletProviders
        walletProviders: [EvmWalletProvider]
    });

    const payload = {
        privateKey: "!!!PRIVATE_KEY!!!",
        to: "!!!TO!!!",
        value: "0.1",
        maxPriorityFeePerGas: "10",
        maxFeePerGas: "10",
        gasLimit: "21000" // 显式指定gasLimit,避免自动估算异常
    };

    // 直接调用signAndBroadcast,无需额外调用.use()
    const txHash = await tatumSdk.walletProvider.signAndBroadcast(payload);

    console.log(`交易哈希:${txHash}`);
    await tatumSdk.destroy();
}

bsc();

3. 简化版(无需手动配置钱包提供者)

如果仅针对BSC这类EVM兼容链,Tatum SDK会自动加载对应钱包提供者,可省略手动配置:

import { TatumSDK, Network, BinanceSmartChain } from "@tatumio/tatum";

async function bsc() {
    const tatumSdk = await TatumSDK.init<BinanceSmartChain>({
        network: Network.BINANCE_SMART_CHAIN_TESTNET,
        apiKey: { v4: "!!!API_KEY!!!" }
    });

    const payload = {
        privateKey: "!!!PRIVATE_KEY!!!",
        to: "!!!TO!!!",
        value: "0.1",
        maxPriorityFeePerGas: "10",
        maxFeePerGas: "10",
        gasLimit: "21000"
    };

    // 使用tatumSdk.wallet直接调用方法
    const txHash = await tatumSdk.wallet.signAndBroadcast(payload);

    console.log(`交易哈希:${txHash}`);
    await tatumSdk.destroy();
}

bsc();

问题原因分析

  • 配置项名称变更:旧版本的configureWalletProviders在最新版Tatum SDK中已替换为walletProviders,导致钱包提供者未被正确注入
  • 不必要的.use()调用:当仅配置单个钱包提供者时,无需调用.use()切换,直接调用方法即可
  • 依赖版本不匹配:未同步更新@tatumio/tatum与@tatumio/evm-wallet-provider版本,导致API不兼容

内容的提问来源于stack exchange,提问作者WeMakeBest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 14:18:30