Go to file
Francisco Gindre 561ea7b620
Feature/sending ui (#39)
* [WIp} Send View Controller + Synchronizer methods to send and cancel tx +  builders

* Send Funds scaffold

* project changes

* initializer and synchronizer enhancements. removed dummy file

* fix bitcode issue, add Progress HUD

* Pending Transactions, send transactions

* create_to_address tests + sending UI
2019-12-06 09:38:47 -03:00
Example/ZcashLightClientSample Feature/sending ui (#39) 2019-12-06 09:38:47 -03:00
ZcashLightClientKit Feature/sending ui (#39) 2019-12-06 09:38:47 -03:00
ZcashLightClientKit.xcodeproj Synchronizer + Handle reorgs (#27) 2019-11-14 11:38:54 -03:00
ZcashLightClientKitTests Feature/sending ui (#39) 2019-12-06 09:38:47 -03:00
docs Add empty threat model. (#13) 2019-11-14 13:46:14 -03:00
rust Migrate to note-spending-v6 branch (#35) 2019-12-03 14:11:23 -03:00
.gitignore Block downloading + storing (#4) 2019-10-18 15:45:19 -03:00
.swiftlint.yml Swiftlint (#5) 2019-10-18 17:09:13 -03:00
Cargo.lock Migrate to note-spending-v6 branch (#35) 2019-12-03 14:11:23 -03:00
Cargo.toml Migrate to note-spending-v6 branch (#35) 2019-12-03 14:11:23 -03:00
LICENSE Initial repository 2019-05-04 13:23:24 -04:00
README.md Synchronizer + Handle reorgs (#27) 2019-11-14 11:38:54 -03:00
ZcashLightClientKit.modulemap Block downloading + storing (#4) 2019-10-18 15:45:19 -03:00
ZcashLightClientKit.podspec Transaction data access improvements + Create Spend + Get Balance Screen (#33) 2019-11-26 19:32:20 -03:00
build_librustzcash.sh Cocoapods Support + Example Project 2019-09-09 12:30:38 -03:00
prepare.rb Cocoapods Support + Example Project 2019-09-09 12:30:38 -03:00
zcash.swiftformat Swiftlint (#5) 2019-10-18 17:09:13 -03:00

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 *
  1. remove the 'Pods' directory rm -rf Pods/
  2. delete derived data and clean
  3. run pod install
  4. build

License

Apache License Version 2.0