AptosWallet:@manahippo/aptos-wallet-adapter

安装

yarn add @manahippo/aptos-wallet-adapter

使用


# 官方地址
- https://www.npmjs.com/package/@manahippo/aptos-wallet-adapter

# AptosWallet开源项目地址
- https://github.com/hippospace/hippo-frontend
- https://github.com/Amovane/aptos-NFT-marketplace
- https://github.com/martian-dao/aptos-nft-marketplace

# Aptos学习
- https://fullnode.devnet.aptoslabs.com/v1/spec#/operations/get_account
- https://aptos.dev/

import {
  HippoWalletAdapter,
  WalletProvider,
  AptosWalletAdapter,
  HippoExtensionWalletAdapter,
  MartianWalletAdapter,
  FewchaWalletAdapter,
  PontemWalletAdapter,
  SpikaWalletAdapter,
  RiseWalletAdapter,
  FletchWalletAdapter,
} from '@manahippo/aptos-wallet-adapter';
const wallets = [
  new HippoWalletAdapter(),
  new MartianWalletAdapter(),
  new AptosWalletAdapter(),
  new FewchaWalletAdapter(),
  new HippoExtensionWalletAdapter(),
  new PontemWalletAdapter(),
  new SpikaWalletAdapter(),
  new RiseWalletAdapter(),
  new FletchWalletAdapter(),
];
<WalletProvider
wallets={wallets}
autoConnect={true} /** allow auto wallet connection or not **/
onError={(error: Error) => {
  console.log('Handle Error Message', error);
}}>
  <Provider store={store}>
    ...
  </Provider>
</WalletProvider>

钱包操作

import { useWallet,Wallet } from '@manahippo/aptos-wallet-adapter';
const walletInfo = useWallet()
/*
  ** walletInfo **

  wallets: Wallet[]; - Array of wallets
  wallet: Wallet | null; - Selected wallet
  account: AccountKeys | null; - Wallet info: address, 
  network: NetworkInfo - { name, chainId, api }
  publicKey, authKey
  connected: boolean; - check the website is connected yet
  connect(walletName: string): Promise<void>; - trigger connect popup
  disconnect(): Promise<void>; - trigger disconnect action
  signAndSubmitTransaction(
    transaction: TransactionPayload
  ): Promise<PendingTransaction>; - function to sign and submit the transaction to chain
*/
  • 链接钱包
async function onConnect(){
    let installName = ''
    // wallets 所有的钱包列表
    walletInfo.wallets.map((wallet: Wallet, i) => {
      // 如果安装了一个钱包,直接链接
      if (wallet.readyState == 'Installed'){
        installName = wallet.adapter.name
      }
    })
    if (installName){
      // 📢📢📢📢📢📢📢📢注意链接是 select 不是connect.........
      await walletInfo.select(installName)
    }else {
      message.warn('Install Aptos Wallet')
    }
  }
  • 断开钱包
await walletInfo.disconnect()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容