Nimiq Swift Client
Swift implementation of the Nimiq RPC client specs.
Usage
Send requests to a Nimiq node with NimiqClient
object.
let config = Config(
scheme: "http",
host: "127.0.0.1",
port: 8648,
user: "luna",
password: "moon"
)
let client = NimiqClient(config: config)
Once the client have been set up, we can call the methodes with the appropiate arguments to make requests to the Nimiq node.
When no config
object is passed in the initialization it will use defaults for the Nimiq node.
let client = NimiqClient()
// make rpc call to get the block number
let blockNumber = client.blockNumber()
print(blockNumber) // displays the block number, for example 748883
API
The complete API documentation is available in the /docs
folder.
Check out the Nimiq RPC specs for behind the scene RPC calls.
Installation
Swift Package Manager
The recommended way to install Nimiq Swift Client is via Swift Package Manager (SPM). SPM is a dependency management tool built-in in Xcode that allows you to add Swift packages as dependencies directly from the IDE.
From your project or workspace on Xcode Go to File > Swift Packages > Add Package Dependency. If it's a workspace select the project to include de package dependency in. Then enter this package's repository URL (like this https://github.com/rraallvv/NimiqClientSwift). Select a version number from thos available for the pacakge and click next. Then select the product target to include the dependency in.
CocoaPods
Alternatively, you can install Nimiq Swift Client using CocoaPods. CocoaPods is a command line interface dependency management tool for Xcode projects.
Install CocoaPods if you haven't done so:
$ sudo gem install cocoapods
To enable CocoaPods in your project, close Xcode and in your project directory run:
$ pod init
Then you can add Nimiq Swift Client as a dependency modifying the created Podfile
. To open the file for editing run open -a Xcode Podfile
from the command line and the edit the file like so:
target "MyApp" do
pod 'NimiqClient'
end
Finally install all the dependencies using CocoaPods from the command line:
$ pod install
You can find out more on how to install CocoaPods and how to configure your Xcode project for installing dependencies at CocoaPods.org.
Carthage
Another option is to use Carthage. Carthage is another comandline interface dependency management tool for Xcode projects.
Install Carthage via the .pkg installer available on their repository or via Homebrew:
$ brew install carthage
Create the file Cartfile
in the project root directory:
$ touch Cartfile
Add the NimiqClient dependency to Cartfile
:
github "rraallvv/NimiqClientSwift"
Install the dependencies using carthage
command line interface:
$ carthage update --platform <your target platform>
After a few minutes when the operation is competed, open your project on Xcode and add NimiqClient.framework
from the directory Carthage/Build/<your target platform>/
onto your project's Frameworks and Libraries list of dependencies.
Contributions
This implementation was originally contributed by rraallvv.
Please send your contributions as pull requests.
Refer to the issue tracker for ideas.
Develop
After cloning the repository, open the workspace file in NimiqClient/NimiqClient.xcworkspace instead of the project file.
All done, happy coding!
Testing
Tests are stored in the /Tests
folder and can be run from Xcode.
Documentation
The documentation is generated automatically running Jazzy from the repository root directory. To install Jazzy run:
$ gem install jazzy
To generate the documentation run:
$ jazzy