All Projects → AndrewBarba → lisk-swift

AndrewBarba / lisk-swift

Licence: Apache-2.0 license
Swift 4 library for Lisk - Including Local Signing for maximum security

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to lisk-swift

Tesla-API
A iOS, macOS, watchOS and tvOS framework written in Swift to communicate with Teslas vehicle API
Stars: ✭ 32 (+146.15%)
Mutual labels:  tvos, watchos
IrregularGradient
Create animated irregular gradients in SwiftUI.
Stars: ✭ 127 (+876.92%)
Mutual labels:  tvos, watchos
articles-ko
Articles for NSHipster.co.kr
Stars: ✭ 18 (+38.46%)
Mutual labels:  tvos, watchos
data-field
A SwiftUI view that wraps a text field to only accept specific data.
Stars: ✭ 13 (+0%)
Mutual labels:  tvos, watchos
Dots
Lightweight Concurrent Networking Framework
Stars: ✭ 35 (+169.23%)
Mutual labels:  tvos, watchos
wwdc2018
You read my developer triceraptus migration notes from dub dub dc 2018
Stars: ✭ 48 (+269.23%)
Mutual labels:  tvos, watchos
RFKit
Toolkit for daily Cocoa development. Since 2012.
Stars: ✭ 20 (+53.85%)
Mutual labels:  tvos, watchos
Futures
Lightweight promises for iOS, macOS, tvOS, watchOS, and Linux
Stars: ✭ 59 (+353.85%)
Mutual labels:  tvos, watchos
KeyboardKitPro
KeyboardKit Pro extends KeyboardKit with pro features.
Stars: ✭ 42 (+223.08%)
Mutual labels:  tvos, watchos
SwiftKit
SwiftKit adds extra functionality to the Swift programming language.
Stars: ✭ 47 (+261.54%)
Mutual labels:  tvos, watchos
Orchard
Device identification in Swift and Objective-C for iOS, watchOS, and tvOS.
Stars: ✭ 15 (+15.38%)
Mutual labels:  tvos, watchos
QuoteKit
A framework to use the free APIs provided by https://quotable.io
Stars: ✭ 17 (+30.77%)
Mutual labels:  tvos, watchos
Outlaw
JSON mapper for macOS, iOS, tvOS, and watchOS
Stars: ✭ 24 (+84.62%)
Mutual labels:  tvos, watchos
SwiftCurrent
A library for managing complex workflows in Swift
Stars: ✭ 286 (+2100%)
Mutual labels:  tvos, watchos
ScaledFont
ScaledFont - Using custom fonts with dynamic type
Stars: ✭ 50 (+284.62%)
Mutual labels:  tvos, watchos
WWDCNotes
WWDCNotes.com content
Stars: ✭ 343 (+2538.46%)
Mutual labels:  tvos, watchos
Fire
🔥A delightful HTTP/HTTPS networking framework for iOS/macOS/watchOS/tvOS platforms written in Swift.
Stars: ✭ 243 (+1769.23%)
Mutual labels:  tvos, watchos
Swiftui Sliders
🚀 SwiftUI Sliders with custom styles
Stars: ✭ 241 (+1753.85%)
Mutual labels:  tvos, watchos
SwiftBuilder
SwiftBuilder is a fast way to assign new value to the property of the object.
Stars: ✭ 26 (+100%)
Mutual labels:  tvos, watchos
tracelog
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.
Stars: ✭ 52 (+300%)
Mutual labels:  tvos, watchos

Lisk Swift

Build Status CocoaPods Compatible Carthage Compatible Twitter

Lisk Swift is a Swift 4 library for Lisk - the cryptocurrency and blockchain application platform. It allows developers to create offline transactions and broadcast them onto the network. It also allows developers to interact with the core Lisk API, for retrieval of collections and single records of data located on the Lisk blockchain. Its main benefit is that it does not require a locally installed Lisk node, and instead utilizes the existing peers on the network. It can be used on any environment that runs Swift 4, including iOS, tvOS, macOS, watchOS.

Lisk Swift is heavily inspired by Lisk JS

Features

  • Local Signing for maximum security
  • Targets Lisk 1.0.0 API
  • Directly based on lisk-js
  • Swift 4.0
  • Unit Tests (87% coverage)
  • Documentation

API

Documentation

https://andrewbarba.github.io/lisk-swift/

Usage

Import Framework

import Lisk

Send LSK

let address = ...
let secret = ...

// Send LSK on the Mainnet
Transactions().transfer(lsk: 1.12, to: address, secret: secret) { response in
    switch response {
    case .success(let result):
        print(result.transactionId)
    case .error(let error):
        print(error.message)
    }
}

Send LSK on Testnet

let address = ...
let secret = ...

// Send LSK on the Testnet
Transactions(client: .testnet).transfer(lsk: 1.12, to: address, secret: secret) { response in
    switch response {
    case .success(let result):
        print(result.transactionId)
    case .error(let error):
        print(error.message)
    }
}

Testnet

By default, all modules are initialized with an APIClient pointing to the Lisk Mainnet. You can optionally pass in a specific client to any modules constructor:

let mainTransactions = Transactions()
let testTransactions = Transactions(client: .testnet)

To default all modules to a specific client you can set the shared client:

APIClient.shared = .testnet

And then all modules initialized will default to Testnet:

// This will connect to Testnet
let transactions = Transactions()

Requirements

  • iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+
  • Xcode 9.0+
  • Swift 4.0+

Installation

Swift Package Manager

// swift-tools-version:4.0

import PackageDescription

let package = Package(
    name: "My Lisk App",
    dependencies: [
        .package(url: "https://github.com/AndrewBarba/lisk-swift.git", from: "1.0.0-beta")
    ]
)

CocoaPods

CocoaPods 1.1.0+ is required to build lisk-swift

pod 'Lisk', '~> 1.0.0-beta'

Carthage

github "AndrewBarba/lisk-swift" ~> 1.0.0-beta

Thank You

To show support for continued development feel free to vote for my delegate: andrew

Or donate LSK to 14987768355736502769L

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].