- 主要实现Etherum、Binance、Polygon链等智能合约常用业务调用
/// 代币授权 func tokenApprove() { let config = CSContractConfig() config.abiType = .erc20; config.privateKey = "your privateKey" config.from = "your walletAddress"; config.approveAmount = "1000000000000"; config.contractAddress = "contract address" config.symbol = "token symbol" CSContractManager.shared.callContract(method: "approve", params: [], config: config) { result in if (result.transHash.length > 0 && result.callData.count > 0) { print("Token approve success") }else { print("Token approve fail") } } }
/// 代币发送 func sendToken() { let config = CSContractConfig() config.abiType = .erc20; config.privateKey = "your privateKey" config.from = "your walletAddress"; config.contractAddress = "contract address" config.symbol = "token symbol" config.gasLimit = kBaseGasLimit; let targetAddress = "target address" CSContractManager.shared.sendToken(config: config, amount: "10", toAdds: targetAddress) { result in if (result.transHash.length > 0) { print("Token send success") }else { print("Token send fail") } } }
/// 查询代币信息 func queryToken() { let tokenAddress = "" guard let token = CSContractManager.shared.querySocialToken(address: tokenAddress) else { return } print("Token Name:\(token.name)\n") print("Token Symbol:\(token.symbol)\n") print("Token decimals:\(token.decimals)\n") }
/// 查询当前钱包账户余额 func queryAccountBalance () { let myWalletAddress = "your walletAddress"; let balance = CSContractManager.shared.getAccountBalance(address: myWalletAddress) print("Your account balance:\(balance)") }