@gitmyabi / jmpt
的自动生成的TypeScript类型绑定 JMPT
- 构建ID:
etherscan-jmpt-420a24c9-1793499489130 - 建立数: 1
- 提交:
41eb0a6 - 分支:
etherscan - 目标:
ethers-v6 - 合同: 1
安装
npm install @gitmyabi/[email protected]
使用
基于类的API(类似typecchain)
import { createPublicClient, createWalletClient, http } from 'viem';
import { mainnet } from 'viem/chains';
import { YourContract } from '@gitmyabi/jmpt';
const publicClient = createPublicClient({ chain: mainnet, transport: http() });
const walletClient = createWalletClient({ chain: mainnet, transport: http() });
// Create contract instance
const contract = new YourContract('0x...', { publicClient, walletClient });
// Read functions - call directly like TypeChain!
const result = await contract.yourMethod(param1, param2);
// Write functions - also call directly!
const hash = await contract.transfer('0x...', 1000n);
直接看电影
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';
import { YourContractAbi } from '@gitmyabi/jmpt';
const client = createPublicClient({
chain: mainnet,
transport: http(),
});
// Fully typed contract read
const result = await client.readContract({
address: '0x...',
abi: YourContractAbi,
functionName: 'yourMethod',
args: [param1, param2],
});
// Fully typed contract write
const hash = await client.writeContract({
address: '0x...',
abi: YourContractAbi,
functionName: 'yourMethod',
args: [param1, param2],
});
与wagmi
import { useReadContract, useWriteContract } from 'wagmi';
import { YourContractAbi } from '@gitmyabi/jmpt';
function MyComponent() {
const { data } = useReadContract({
address: '0x...',
abi: YourContractAbi,
functionName: 'yourMethod',
args: [param1, param2],
});
const { writeContract } = useWriteContract();
const handleWrite = () => {
writeContract({
address: '0x...',
abi: YourContractAbi,
functionName: 'yourMethod',
args: [param1, param2],
});
};
return <button onClick={handleWrite}>Call Contract</button>;
}
类型安全
这个包使用viem的类型系统为所有契约方法、事件和参数提供了完整的TypeScript类型安全。所有abi都导出为 const 最大类型推断的断言。
生成合同
这个包包括从ABI工件生成的1个契约的类型绑定。
许可证
麻省理工学院