web3swift.pod 2.1.10

web3swift.pod 2.1.10

Dmitry Kozlov 维护。



 
依赖项
PromiseKit~> 6.4
BigInt~> 3.1
secp256k1.c~> 0.1
keccak.c~> 0.1
scrypt.c~> 0.1
 

  • Bankex 基金会

您可以在我们的 Discord 频道 中寻求帮助

Support Stackoverflow Apps using web3swift

bkx-foundation-github-swift

Swift 4.2 Compatible Platforms iOS | macOS Compatible

web3swift

  • Swift 实现的 web3.js 功能⚡️
  • 通过 JSON RPC 与远程节点交互💭
  • 智能合约 ABI 解析📖
  • 本地密钥存储管理(与 geth 兼容)
  • 在 iOS 设备上直接创建私钥和交易,并直接发送到 Infura 节点
  • 原生 API
  • 安全性(就像硬件钱包一样酷!开箱即用! :box: )
  • 无需额外的依赖项
  • 可以与所有现有的智能合约一起工作
  • 参考 Solidity 中引入的最新特性

特性

  • 创建账户
  • 导入账户
  • 签名交易
  • 发送交易,调用智能合约函数,估算 gas 成本
  • 将交易和结果序列化和反序列化到原生 Swift 类型
  • 链状态便捷函数:区块号码,gas 价格
  • 检查交易结果并获取回执
  • 解析交易事件日志
  • 通过加密密钥存储抽象管理用户的私钥
  • 异步模式下的批量请求数据,3 秒内检查 580 个代币的余额(来自最新的 MyEtherWallet 仓库)
  • 严格遵循标准

BIP32 BIP39 BIP44 EIP 20 EIP 67 EIP 155 EIP 681 EIP 721 EIP 777 EIP 888

需求

Web3swift 需要Swift 4.2且支持部署至macOS 10.10iOS 9watchOS 2tvOS 9linux系统。

别忘了在Podfile中设置iOS版本,否则如果部署目标低于最新SDK,会报错。

安装

  • Swift包管理器:尽管包管理器仍处于早期阶段,但web3swift全力支持它。将此添加到Package.swift清单的依赖部分

    .package(url: "https://github.com/BANKEX/web3swift.git", from: "2.1.0")
  • CocoaPods:将此放入您的Podfile

    pod 'web3swift.pod'
  • Carthage:将此放入您的Cartfile

    github "BANKEX/web3swift" ~> 2.1
    

文档

您好。我们花费了很多时间来编写文档。如果您阅读后还有问题,请在GitHub上创建问题或在我们的discord频道中提问。我们将很高兴为您提供帮助。

大部分的类都有文档,并有一些使用示例。

在Xcode中使用文档阅读

GitHub Pages

如果您愿意将我们的文档翻译成另一种语言,我们非常感谢,并愿意向您提供有关如何操作的必要信息,我们将为包含在主分支中的翻译提供报酬。

设计决策

  • 并非所有的JSON RPC函数都已暴露,优先考虑移动设备所需的函数。
  • 功能主要集中在设备本地序列化和签名交易,以发送原始交易到以太坊网络。
  • 在每个交易输入密码的要求确实是设计决策。界面设计师可以在用户同意的情况下保存用户密码。
  • 公开的私钥导出公共函数是为了用户的方便,但标记为UNSAFE_ :) 正常工作流程负责EIP155兼容性和正确清除内存中的私钥数据。

贡献

请检查develop分支以获取最新版本。

此分支的更改将在某个时间点合并到master分支。

特别感谢

  • Gnosis团队及其库Bivrost-swift为我们提供ABIDecoding方法的灵感和帮助。
  • Trust iOS Wallet的合作和讨论的初始想法
  • 官方以太坊和Solidity文档,一切都是从基准标准编写的。

捐赠

0x47FC2e245b983A92EB3359F06E31F34B107B6EF6