@abstract-foundation/agw-客户端
这个 @abstract-foundation/agw-client 软件包提供核心客户端库,用于与 全球钱包摘要(AGW)。 。 。 .
全球钱包摘要(AGW)
全球钱包摘要(AGW) 是一个交叉应用程序 智能合同钱包 用户可以用来与根据“摘要”构建、由“摘要”驱动的任何应用程序互动 本地账户抽象。 。 。 .
安装
通过国家预防机制安装核心客户端库:
npm install @abstract-foundation/agw-client
快速启动
导入
import { createAbstractClient } from '@abstract-foundation/agw-client'
创建摘要客户端
import { createAbstractClient } from '@abstract-foundation/agw-client';
import { ChainEIP712, http } from 'viem';
import { Account } from 'viem/accounts';
import { abstractTestnet } from 'viem/chains';
// Assume you have a signer account and chain configuration
const signer: Account = {
address: '0xYourSignerAddress',
// ...other account properties
};
const chain = abstractTestnet;
(async () => {
const abstractClient = await createAbstractClient({
signer,
chain,
transport: http(), // optional, defaults to HTTP transport if omitted
});
// Use the abstractClient instance
})();
API 参考
createAbstractClient
同步创建 AbstractClient 实例,扩展标准 Client 与摘要全球钱包具体相关的行动.
示例
import { createAbstractClient } from '@abstract-foundation/agw-client';
(async () => {
const abstractClient = await createAbstractClient({
signer: /* your signer account */,
chain: /* your chain configuration */,
});
// Use abstractClient to interact with the blockchain
})();
实例
发送交易
import { createAbstractClient } from '@abstract-foundation/agw-client';
(async () => {
const abstractClient = await createAbstractClient({
signer: /* your signer account */,
chain: /* your chain configuration */,
});
try {
const txHash = await abstractClient.sendTransaction({
to: '0xRecipientAddress',
value: 1000000000000000000n, // 1 ETH in wei
});
console.log('Transaction Hash:', txHash);
} catch (error) {
console.error('Error sending transaction:', error);
}
})();
通过付费主进行赞助交易
import { createAbstractClient } from '@abstract-foundation/agw-client';
import { ChainEIP712, http } from 'viem';
import { Account } from 'viem/accounts';
(async () => {
// Create a signer account and chain configuration
const signer: Account = {
address: '0xYourSignerAddress',
// ...other account properties
};
// Create an instance of Abstract Client
const abstractClient = await createAbstractClient({
signer,
chain,
transport: http(), // Optional, defaults to HTTP transport if omitted
});
// Example of a sponsored transaction using a Paymaster
try {
const txHash = await abstractClient.sendTransaction({
to: '0xRecipientAddress',
value: 1000000000000000000n, // 1 ETH in wei
paymaster: '0xPaymasterAddress',
paymasterInput: '0x',
});
console.log('Sponsored Transaction Hash:', txHash);
} catch (error) {
console.error('Error sending sponsored transaction:', error);
}
})();
薪金主管使用的解释:
- 付费主管编号:
paymaster对象在sendTransaction方法,允许支付主合同支付交易的天然气费. - 担保交易:交易费由付费主支付,因此用户的余额不受天然气成本的影响.
文档
关于详细文件,请参见本报告附件 抽象全球钱包文档。 。 。 .