TronWeb
TronWeb是一个用于与Tron网络进行交互的iOS工具包。
有关更多具体用法,请参阅示例
Swift包管理器
Swift包管理器是一个用于自动化Swift代码分发工具,并集成到Swift编译器中。
设置好您的Swift包后,将TronWeb作为依赖项添加到Package.swift文件的依赖项中非常简单。
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
}
}
更详细的使用方法,建议参考 示例
授权
TronWeb遵循MIT许可协议。查看授权文档