TronWeb
TronWeb 是用于与 Tron 网络交互的 iOS 工具包。
有关更具体的用法,请参阅示例
Swift 包管理器
Swift 包管理器是一个用于自动分发 Swift 代码的工具,并集成到 swift 编译器中。
一旦您已设置好 Swift 包,将 TronWeb 添加为依赖项就像将其添加到 Package.swift 中 dependencies 值一样简单。
dependencies: [
.package(url: "https://github.com/james19870606/TronWeb.git", .upToNextMajor(from: "1.1.3"))
]
示例用法
import TronWeb3
配置TronWeb3
let tronWeb = TronWeb3()
let privateKey = ""
let TRONApiKey = ""
if tronWeb.isGenerateTronWebInstanceSuccess != true {
tronWeb.setup(privateKey: privateKey, node: chainType == .main ? TRONMainNet : TRONNileNet) { [weak self] setupResult in
guard let self = self else { return }
if setupResult {
//......
}
}
} else {
//......
}
创建随机
tronWeb.createRandom { [weak self] state, address, privateKey, publicKey, mnemonic, error in
guard let self = self else { return }
self.createRandomBtn.isEnabled = true
tipLabel.text = "create finished."
if state {
let text =
"address: " + address + "\n\n" +
"mnemonic: " + mnemonic + "\n\n" +
"privateKey: " + privateKey + "\n\n" +
"publicKey: " + publicKey
walletDetailTextView.text = text
} else {
walletDetailTextView.text = error
}
}
创建账户
tronWeb.createAccount { [weak self] state, base58Address, hexAddress, privateKey, publicKey, error in
guard let self = self else { return }
self.createAccountBtn.isEnabled = true
tipLabel.text = "create finished."
if state {
let text =
"base58Address: " + base58Address + "\n\n" +
"hexAddress: " + hexAddress + "\n\n" +
"privateKey: " + privateKey + "\n\n" +
"publicKey: " + publicKey
walletDetailTextView.text = text
} else {
walletDetailTextView.text = error
}
}
从助记词导入账户
tronWeb.importAccountFromMnemonic (mnemonic: mnemonic){ [weak self] state, address, privateKey, publicKey, error in
guard let self = self else { return }
self.importAccountFromMnemonicBtn.isEnabled = true
tipLabel.text = "import finished."
if state {
let text =
"address: " + address + "\n\n" +
"privateKey: " + privateKey + "\n\n" +
"publicKey: " + publicKey
walletDetailTextView.text = text
} else {
walletDetailTextView.text = error
}
}
发送 TRX
let remark = ""
let toAddress = ""
let amountText = "1" // This value is 0.000001
tronWeb.trxTransferWithRemark(remark: remark,
toAddress: toAddress,
amount: amountText){ [weak self] (state, txid,error) in
guard let self = self else { return }
print("state = \(state)")
print("txid = \(txid)")
if (state) {
self.hashLabel.text = txid
} else {
self.hashLabel.text = error
}
}
发送 TRC20
let remark = ""
let toAddress = ""
let amountText = "1" // This value is 0.000001
let trc20Address = ""
tronWeb.trc20TokenTransfer(toAddress: toAddress,
trc20ContractAddress: trc20Address, amount: amountText,
remark: remark,
feeLimit: "100000000") { [weak self] (state, txid,error) in
guard let self = self else { return }
print("state = \(state)")
print("txid = \(txid)")
if (state) {
self.hashLabel.text = txid
} else {
self.hashLabel.text = error
}
}
更详细的使用方法,建议参考demo
授权
TronWeb 在 MIT 授权下发布。有关详情,请参阅LICENSE。