Developer (Chinese)
  • 开始
  • 移动端钱包
    • 准备开始
    • Mobile SDK
      • iOS
      • Android
      • 常见问题
    • EOS MiniWallet SDK
      • iOS
      • Android
    • DeepLink方式拉起钱包操作
    • JS-SDK
    • EOS资源代付
    • 应用调试
    • 清除TP钱包缓存
  • 插件钱包
    • 指引
      • 介绍
      • 入门
      • 通用术语
      • 初始化dapp
      • 访问账户
      • 发送交易
    • API参考
      • 以太坊 Provider API
      • 波场 Provider API
      • RPC API
      • 签署数据
    • 常见问题
  • 二维码协议
    • 动态二维码
    • EVM网络
    • TRON
    • EOSIO
    • Solana
    • BTC
  • TIP协议
  • Wallet Connect
  • Token
    • Token价格显示支持
    • 添加 Token
    • 添加Token图标
    • FAQ
  • DApp
    • 添加DApp
    • FAQ
  • 公链
    • 公链唯一标识
    • 开放接口
      • Ethereum系列公链
      • Polkadot系列公链
      • EOSIO系列公链
    • 已支持的公链开放接口
      • 交易相关数据
      • 行情相关数据
    • 新增公链
      • 便捷加链介绍和展示
      • 初级支持介绍和展示
      • 高级支持介绍和展示
      • 添加定制链的支持
  • 常见问题
Powered by GitBook
On this page
  • 简介
  • 初始化
  • Auth
  • 发起交易
  • 方法说明
  1. 移动端钱包
  2. EOS MiniWallet SDK

iOS

PreviousEOS MiniWallet SDKNextAndroid

Last updated 3 years ago

简介

GitHub仓库:

MiniWallet可以实现对于特定操作,第三方App不需要拉起钱包,直接在应用内部完成,体验更为流畅。

初始化

[TPApi registerAppID:@"tpsdk"];
[TPApi setSeed:@"xxxx" error:nil];
[TPApi setBlockChain:TPBlockChainTypeEOSMainNet nodeUrl:@"http://eosinfo.mytokenpocket.vip" plugNodeUrl:@"http://eosinfo.mytokenpocket.vip"];

Auth

TPAuthObj *auth = [TPAuthObj new];
auth.dappName = @"xxx";
auth.dappIcon = @"https:.../xx.png";
auth.account = "xxxx";
auth.perm = "xxxx";
auth.selectAll = NO;
auth.actions = [linkActions];
[TPApi sendObj:auth resultHandle:^(TPReqType type,NSError *error) {
    // ...        
}];


/// Response ↓
TPRespObj.data
{
    ...,
    "ref" : "TokenPocket",
    "publickey" : "EOS5AvWThdghtNngWP4UcNi9DL6kF7Mnv2ccO",
    "sign" : "SIG_K1_JyCJtV9vqwxtyEt68UhUibkg1CmRjxtG6zkZwE...",
    "timestamp" : "1554266633",
}

发起交易

  • 构建数据,将操作的action中的permission字段值替换成调用auth传递的perm字段。

  • 调用TPApi perm:(NSString *)perm isLinkActions:(NSArray<TPLinkAction *> *)actions account:(NSString *)account completion:(void (^)(BOOL permExisted,BOOL linked,NSError *error))completion检查action绑定状态。

  • 如果第二步绑定成功,则直接调用'Auth'。

  • 如果第二步绑定失败,则需要开发者将permission字段替换成active或者owner,以便拉起钱包执行操作。

方法说明

修改seed

+ (void)resetSeed:(NSString *)seed newSeed:(NSString *)newSeed error:(NSError **)error;

获取已授权账号信息

+ (NSArray<NSString *> *)getAccounts;

检查权限是否存在

+ (void)isPermExist:(NSString *)perm account:(NSString *)account completion:(void (^)(BOOL exist,NSError *error))completion;

检查权限是否link到action

+ (void)perm:(NSString *)perm isLinkActions:(NSArray<TPLinkAction *> *)actions account:(NSString *)account completion:(void (^)(BOOL permExisted,BOOL linked,NSError *error))completion;

清除本地授权

+ (BOOL)clearAuth:(NSString *)account;
TP iOS SDK