ImmutableX Core SDK Swift
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 社区。
您还可以在我们的 ImmutableX Discourse 论坛中参与对话,与其他项目建立联系并提问。
仍需帮助?
您还可以申请您项目的市场支持。或者,如果您在构建与 ImmutableX 相关的问题上需要帮助,请点击以下链接提交问题。选择您的“问题类型”为“我有问题”或“与在 immutableX 上构建相关的问题”。
许可协议
ImmutableX Core SDK Swift 仓库在 Apache License (Version 2.0) 的条款下分发。