Ackee has been funded by the Ethereum Foundation to develop a starter project for iOS developers. I would like to introduce more details – what exactly is Ackee Ethereum iOS Dev Kit and what can Ethereum developers look forward to?
We will create a collection of Swift boilerplate intended to serve as a basis for starting new blockchain oriented iOS projects. We will use Ackee’s long time know-how in creating iOS apps based on reactive technologies and the MVVM architecture. We have been developing internally a MVVM Swift project skeleton that we used for an every new project – it saved us as a development agency huge amounts of time. And now we will open source this skeleton as the first part of Ethereum iOS Dev Kit.
The second part will consist of tools designed for seamless interaction with Ethereum smart contracts. Ackee Ethereum iOS Dev Kit will include a Swift script for generating a typesafe Swift API to individual Ethereum smart contracts, based on their ABI. A simple example app will be implemented, e.g. an app that can call 1 method of a simple smart contract and observe 1 event. We will use VaultIO’s EtherKit for processing raw transactions and the underlying logic. We will also participate in improving EtherKit to make it an ideal fit for Ackee Ethereum iOS Dev Kit.
Like mentioned, all our work will be available in a GitHub repository. Currently, the repository contains a proof of concept implementation of the codegen script inside a Swift Playground. The tag-less final encoding approach was chosen for the contract calling API. This should allow rapid development with good support for testability and maximum modularity. We can always switch to using some other underlying JSON RPC framework or in-house logic for interacting with the Ethereum network. We can also create different public API’s, including a ReactiveSwift wrapper or a plain enum for testing. Note that this approach might not make it into the final product, as we might choose a more streamlined solution, best suited for use alongside the rest of Ackee’s MVVM stack.
And by the way – thank you Ethereum Foundation for funding this project!