BitcoinKit 1.1.0

BitcoinKit 1.1.0

kishikawa katsumiShun Usami 维护。



  • BitcoinKit 开发者

BitcoinKit: Let’s Play with Bitcoin in Swift! TravisCI Swift 5.0+ Carthage Swift Package Manager CococaPods

欢迎使用 BitcoinKit

BitcoinKit 库是 Bitcoin 协议的 Swift 实现,支持 BCH 和 BTC。我们致力于改善 Bitcoin 开发者的移动生态系统。

BitcoinKit 允许在不使用完整区块链节点的情况下管理钱包、发送或接收交易。以下是一个演示如何使用它的钱包应用。

发布说明在这里 CHANGELOG.md

 

特性

  • 地址编码/解码:base58、Cashaddr、P2PKH、P2SH、WIF 格式。
  • 交易构建块:输入、输出、脚本。
  • EC 密钥和签名。
  • BIP32、BIP44 层次确定性钱包。
  • BIP39 实现。
  • SPV 功能 正在建设中。以下功能有时无法有效工作。
    • 发送/接收交易。
    • 查看钱包中的当前余额。

使用方法

生成地址

// from Testnet Cashaddr
let cashaddrTest = try AddressFactory.create("bchtest:pr6m7j9njldwwzlg9v7v53unlr4jkmx6eyvwc0uz5t")

// from Mainnet Cashaddr
let cashaddrMain = try AddressFactory.create("bitcoincash:qpjdpjrm5zvp2al5u4uzmp36t9m0ll7gd525rss978")

// from Base58 format
let address = try AddressFactory.create("1AC4gh14wwZPULVPCdxUkgqbtPvC92PQPN")

创建新钱包

let privateKey = PrivateKey(network: .testnet) // You can choose .mainnet or .testnet
let wallet = Wallet(privateKey: privateKey)

从WIF导入钱包

let wallet = try Wallet(wif: "92pMamV6jNyEq9pDpY4f6nBy9KpV2cfJT4L5zDUYiGqyQHJfF1K")

分层确定性钱包

// Generate mnemonic
let mnemonic = try Mnemonic.generate()

// Generate seed from the mnemonic
let seed = Mnemonic.seed(mnemonic: mnemonic)

let wallet = HDWallet(seed: seed, network: .testnet)

密钥推导

let mnemonic = try Mnemonic.generate()
let seed = Mnemonic.seed(mnemonic: mnemonic)

let privateKey = HDPrivateKey(seed: seed, network: .testnet)

// m/0'
let m0prv = try! privateKey.derived(at: 0, hardened: true)

// m/0'/1
let m01prv = try! m0prv.derived(at: 1)

// m/0'/1/2'
let m012prv = try! m01prv.derived(at: 2, hardened: true)

HD钱包密钥推导

let keychain = HDKeychain(seed: seed, network: .mainnet)
let privateKey = try! keychain.derivedKey(path: "m/44'/1'/0'/0/0")

扩展密钥

let extendedKey = privateKey.extended()

同步区块链

let blockStore = try! SQLiteBlockStore.default()
let blockChain = BlockChain(network: .testnet, blockStore: blockStore)

let peerGroup = PeerGroup(blockChain: blockChain)
let peerGroup.delegate = self

let peerGroup.start()

需求

  • iOS 9.0+ / Mac OS X 10.11+ / tvOS 9.0+ / watchOS 2.0+
  • Xcode 10.0+
  • Swift 5.0+

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它

$ gem install cocoapods

构建 BitcoinKit 需要 CocoaPods 1.5.0+。

要将 BitcoinKit 整合到您的 Xcode 项目中,使用 CocoaPods,请在 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'BitcoinKit'
end

然后,运行以下命令

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,它构建您的依赖并提供二进制框架。

您可以使用 Homebrew 安装 Carthage,以下命令

$ brew update
$ brew install carthage

要将 BitcoinKit 整合到您的 Xcode 项目中,使用 Carthage,请在 Cartfile 中指定它

github "yenom/BitcoinKit"

运行 carthage update 构建框架,并将构建好的 BitcoinKit.framework 拖到您的 Xcode 项目中。

Swift Package Manager

BitcoinKit 可以通过 Swift Package Manager 使用。要安装它,只需将以下行添加到您的 Package.swift 的依赖中。

.package(url: "https://github.com/yenom/BitcoinKit.git", .upToNextMinor(from: "1.0.0"))

请注意,以下数据类型和功能当前不支持在 Linux 平台上。

  • PeerPeerGroup
  • 基于 SQLite 的 BlockStore

贡献

我们欢迎并对 BitcoinKit 的贡献表示鼓励!请随时提出问题或向我们提交拉取请求。

作者 & 维护者

关于

BitcoinKit 由 Yenom 维护和资助。访问我们的网站或通过twitter打招呼(@Yenom_wallet_en

许可证

BitcoinKit 在MIT许可证下可用。更多信息请参阅LICENSE文件。

贡献者

该项目的存在要归功于所有贡献者。

支持者

感谢所有支持者!🙏[成为支持者]

赞助商

通过成为赞助商来支持此项目。您的标志将在此处显示,并链接到您的网站。[成为赞助商]