📜  kwallie (1)

📅  最后修改于: 2023-12-03 15:02:33.773000             🧑  作者: Mango

KWallie

KWallie是一个钱包管理工具,可以存储和管理数字资产,同时提供了多个安全功能保护您的资产。

功能特点

KWallie 提供以下功能:

  • 创建和管理多种数字资产(如比特币、以太币等)
  • 通过非托管的方式存储您的数字资产。这意味着您完全拥有您的私钥,而不是被存储在第三方服务器上
  • 为您的帐户添加额外的安全性,如双重身份验证、Touch ID和Face ID(只适用于iOS)
  • 提供内置的市场观察功能,可以跟踪您的投资组合和价格走势
平台支持

KWallie 目前支持以下平台:

  • iOS
  • 安卓
安全性

保护您的资产是我们的首要任务,因此KWallie 使用最佳的加密和安全协议来确保您的资产安全,包括:

  • 多重签名——需要多个密钥才能控制账户
  • 冷存储——将私钥存储在离线设备上
  • 下载限制——防止未经授权的下载
代码片段

以下是使用Swift创建钱包的示例代码:

import BitcoinKit

let passphrase = "<your-pass-pharase>"
let network = Bitcoin.Mainnet
let storage = try! RealmStorage()

let wallet = HDWallet(seed: BIP39.seed(from: passphrase), network: network)
let privateKey = wallet.privateKey(index: 0)
let publicKey = privateKey.publicKey()

let script = try! BitcoinScript.buildPublicKeyHashOut(pubKeyHash: BitcoinAddress(publicKey: publicKey, type: .p2pkh, network: network).data)
let address = BitcoinAddress(publicKey: publicKey, type: .p2pkh, network: network)

let utxoProvider = try! RealmUtxoProvider(realmStorage: storage)

let unsignedTx = try! UnsignedTx(
    utxos: utxoProvider.utxos(by: address)!,
    outputs: [TxOutput(value: 5000, lockingScript: script.data)]
)

let signedTx = try! wallet.sign(unsignedTx: unsignedTx)
try! utxoProvider.add(inputs: signedTx.inputs, outputs: signedTx.outputs)

该示例代码使用BitcoinKit框架创建钱包、私钥和公钥,并使用这些信息创建一个比特币地址。随后,使用RealmUtxoProvider类访问本地区块链数据来构建交易。交易被签名并且输入和输出数据被添加到本地区块链数据库。