@dynamic-labs-sdk/tempo

中文文档
1.51.0发布于 2026/11/11TypeScriptESM + CJS近 30 天下载 2502

This package contains the Tempo integration for the Dynamic SDK.

原始使用文档
文档目录5 节
  1. Installation
  2. Usage
  3. Embedded wallets
  4. Sending a Tempo transaction
  5. Signing for a fee sponsor

@dynamic-labs-sdk/tempo

This package contains the Tempo integration for the Dynamic SDK.

Tempo is an EVM-compatible chain with no native token — fees and transfers are paid in TIP-20 stablecoins.

Installation

npm install @dynamic-labs-sdk/tempo

Usage

import { createDynamicClient } from '@dynamic-labs-sdk/client';
import { addTempoExtension } from '@dynamic-labs-sdk/tempo';

const dynamicClient = createDynamicClient({
  environmentId: '123',
});

addTempoExtension(dynamicClient);

Once the extension is registered, the package exposes helpers for working with Tempo wallets and networks:

  • isTempoWalletAccount / isTempoWalletProvider / isTempoNetworkProvider — type guards that narrow a value to its Tempo-specific type.
  • getTempoPublicClient — returns a viem PublicClient for the active Tempo network.
  • sendTip20Transaction — sends a TIP-20 token transfer (Tempo has no native token, so a token contract address is always required).
import {
  getTempoPublicClient,
  isTempoWalletAccount,
  sendTip20Transaction,
} from '@dynamic-labs-sdk/tempo';

if (isTempoWalletAccount(walletAccount)) {
  const publicClient = await getTempoPublicClient(
    { walletAccount },
    dynamicClient
  );

  const blockNumber = await publicClient.getBlockNumber();

  const transactionHash = await sendTip20Transaction({
    amount: '1.5',
    to: '0xRecipient',
    tokenAddress: '0xTip20Token',
    walletClient,
  });
}

Embedded wallets

Embedded wallet support is available from the /waas entry point:

import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
import { addWaasTempoExtension } from '@dynamic-labs-sdk/tempo/waas';

addTempoExtension(dynamicClient);
addWaasTempoExtension(dynamicClient);

Embedded Tempo wallets can sign messages and EIP-712 typed data, transfer TIP-20 tokens with transferAmount, and send transactions with a viem wallet client from the wallet provider's createViemWalletClient.

Sending a Tempo transaction

Use sendTempoTransaction for transactions that use Tempo-only fields: batched calls, a fee token, a nonce key, or a validity window.

import { sendTempoTransaction } from '@dynamic-labs-sdk/tempo/waas';

const { transactionHash } = await sendTempoTransaction({
  calls: [
    { data: transferData, to: tokenAddress },
    { data: approveData, to: tokenAddress },
  ],
  feeToken: tokenAddress,
  walletAccount,
});

Gas defaults to a buffered estimate, and the nonce is the next nonce on the requested nonce lane.

Signing for a fee sponsor

Use signTempoTransaction with awaitingFeePayer to sign a transaction whose fee someone else pays. The sender signs first and the function returns the signed transaction without broadcasting it. The sponsor signs that transaction afterwards and broadcasts it.

import { signTempoTransaction } from '@dynamic-labs-sdk/tempo/waas';

const { signedTransaction } = await signTempoTransaction({
  awaitingFeePayer: true,
  calls: [{ data: transferData, to: tokenAddress }],
  walletAccount,
});

The sponsor chooses the fee token, so awaitingFeePayer cannot be combined with feeToken. sendTempoTransaction rejects awaitingFeePayer because a transaction that still awaits its fee payer cannot be broadcast.

版本与发布记录

@dynamic-labs-sdk/tempo 共发布 17 个版本,首次发布于 2026/10/14;过去 12 个月发布了 17 个版本。

版本发布日期距今
1.51.0latest2026/11/112 天前
1.50.02026/11/058 天前
1.49.12026/11/0210 天前
1.49.02026/10/3113 天前
1.48.02026/10/3014 天前
1.47.02026/10/2816 天前

关于 @dynamic-labs-sdk/tempo 的常见问题

@dynamic-labs-sdk/tempo 是什么?

This package contains the Tempo integration for the Dynamic SDK.

如何安装 @dynamic-labs-sdk/tempo?

在项目目录运行 npm install @dynamic-labs-sdk/tempo,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:viem(^2.28.4)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dynamic-labs-sdk/tempo 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dynamic-labs-sdk/tempo 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dynamic-labs-sdk/tempo 可以商用吗?

@dynamic-labs-sdk/tempo 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@dynamic-labs-sdk/tempo 的下载量有多少?

根据 npm 官方下载统计,@dynamic-labs-sdk/tempo 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,502 次,日均约 83 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dynamic-labs-sdk/tempo 还在维护吗?

最新版本 1.51.0 发布于 2026/11/11(2 天前);至今共发布 17 个版本,其中过去 12 个月发布了 17 个;首次发布于 2026/10/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。