908d8ac823 | ||
---|---|---|
Example/ZcashLightClientSample | ||
ZcashLightClientKit | ||
ZcashLightClientKit.xcodeproj | ||
ZcashLightClientKitTests | ||
docs | ||
rust | ||
.gitignore | ||
.swiftlint.yml | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
NotesRepositoryTests.swift | ||
README.md | ||
ZcashLightClientKit.modulemap | ||
ZcashLightClientKit.podspec | ||
build_librustzcash.sh | ||
prepare.rb | ||
zcash.swiftformat |
README.md
Zcash iOS Framework
A Zcash Lightweight Client SDK for iOS
Build dependencies
Install Rust, and then cargo-lipo
:
$ cargo install cargo-lipo
$ rustup target add aarch64-apple-ios x86_64-apple-ios
Cocoapods Support
use_frameworks!
pod 'ZcashLightClientKit'
Testing
Currently tests depend on a lightwalletd
server instance runnning locally or remotely to pass.
To know more about running lightwalletd
, refer to its repo https://github.com/zcash-hackworks/lightwalletd
Pointing tests to a lightwalletd instance
Tests use Sourcery
to generate a Constants file which injects the lightwalletd
server address to the test themselves
Installing sourcery
refer to the official repo https://github.com/krzysztofzablocki/Sourcery
Setting env-var.sh file to run locally
create a file called env-var.sh
on the project root to create the LIGHTWALLETD_ADDRESS
environment variable on build time.
export LIGHTWALLETD_ADDRESS="localhost%3a9067"
Integrating with CD/CI
The LIGHTWALLETD_ADDRESS
environment variable can also be added to your shell of choice and xcodebuild
will pick it up accordingly.
We advice setting this value as a secret variable on your CD/CI environment when possible
Swiftlint
We don't like reinveing the wheel, so be gently borrowed swift lint rules from AirBnB which we find pretty cool and reasonable.
Troubleshooting
_function_name referenced from...
if you get a build error similar to _function_name referenced from...
- on your project root directory *
- remove the 'Pods' directory
rm -rf Pods/
- delete derived data and clean
- run
pod install
- build
License
Apache License Version 2.0