ImmutableXCore 1.0.0-beta.3

ImmutableXCore 1.0.0-beta.3

Carl MenezesImmutableNatalie Bunduwongse 维护。



 
依赖
AnyCodable-FlightSchool~> 0.6
BigInt~> 5.2.0
secp256k1Swift~> 0.7.4
 

ImmutableXCore 1.0.0-beta.3

  • 作者:
  • Immutable

ImmutableX Core SDK Swift

Maintainability Test Coverage

ImmutableX Core SDK Swift 为在 ImmutableX 平台上编写的应用程序提供了对 Immutable API 的方便访问。

文档

请参阅 开发者指南 了解如何构建在 ImmutableX 上。

请参阅 API 参考文档 了解更多关于我们的 API 的信息。

安装

先决条件

  • iOS 13.0 或 macOS 10.15
  • Swift 5.7

Swift 包管理器

在你的 Package.swift

dependencies: [
    .package(url: "https://github.com/immutable/imx-core-sdk-swift.git", from: "1.0.0-beta.1")
]

CocoaPods

在你的 Podfile

platform :ios, '13.0'
use_frameworks!

target 'MyApp' do
  pod 'ImmutableXCore'
end

使用

初始化

在调用任何类之前,必须初始化Core SDK。初始化时,可以定义基本环境和日志级别。一旦初始化,即可获取工作流程函数的共享实例。

例如,您初始化SDK并检索通过Moonpay购买加密货币的URL。

ImmutableX.initialize(base: .sandbox)

let url = try await ImmutableX.shared.buyCryptoURL(signer: signer)

工作流程函数

通过ImmutableX.shared访问的实用函数,它将链式调用必要的API调用以完成流程或执行交易。

  • 使用ImmutableX注册用户
  • 通过Moonpay购买加密货币
  • 购买ERC721
  • 出售ERC721
  • 取消订单
  • 转账ERC20/ERC721/ETH

标准API请求

核心SDK包括与ImmutableX API交互的类。

例如,按名称升序列出收藏集列表

let collections = try await CollectionsAPI.listCollections(
    pageSize: 20,
    orderBy: .name,
    direction: "asc"
)

查看OpenAPI规范以获取核心SDK中可用的所有API请求的完整列表。

钱包连接

为了使用任何工作流程函数,您需要传入已连接的钱包提供者。这意味着您需要实现自己的Wallet L1 签名者和L2 Stark签名者

一旦您有了Signer实例,就可以生成用户的Stark密钥对,并使用SDK提供的默认StandardStarkSigner来实例化StarkSigner

let keyPair = try await StarkKey.generateKeyPair(from: signer)
let starkSigner = StandardStarkSigner(pair: keyPair)

自动生成的代码

核心SDK的某些部分是自动生成的。

API自动生成的代码

我们使用OpenAPI(以前称为Swagger)自动生成连接到公共API的API客户端。

OpenAPI规范从https://api.x.immutable.com/openapi检索,并保存在此处的repo中。

更新openapi.json文件时,请确保已安装openapi-generator,然后运行./generateapi.sh来重新生成文件。如有必要,应相应地修改或删除任何自定义模板。这些模板可在目录中找到。

变更日志管理

应根据需要使用以下标题。

  • 新增
  • 变更
  • 弃用
  • 移除
  • 修复

以下是一个包含所有变更标题的示例,仅用于实际应用中的适当标题。

此部分位于most recent release上方的CHANGELOG.md顶部

...

## [Unreleased]

### Added

for new features.

### Changed

for changes in existing functionality.

### Deprecated

for soon-to-be removed features.

### Removed

for now removed features.

### Fixed

for any bug fixes.

...

贡献

如果您想通过报告错误、提出增强建议或发送拉取请求来贡献,请阅读我们的贡献指南

获取帮助

ImmutableX 对所有人开放,无需批准即可进行建设。如果您想与我们交谈以了解更多信息或申请开发者奖金,请点击下面

联系我们

项目支持

要获得其他开发者的帮助,讨论想法并保持最新信息,请加入我们的 Discord 社区。

加入 Discord

您还可以在我们的 ImmutableX Discourse 论坛中参与对话,与其他项目建立联系并提问。

访问论坛

仍需帮助?

您还可以申请您项目的市场支持。或者,如果您在构建与 ImmutableX 相关的问题上需要帮助,请点击以下链接提交问题。选择您的“问题类型”为“我有问题”或“与在 immutableX 上构建相关的问题”。

联系方式

许可协议

ImmutableX Core SDK Swift 仓库在 Apache License (Version 2.0) 的条款下分发。