This project is designed for two things:
Currently implemented is building for apple platforms as an
xcframework and for distribution via Swift Package Manager.
Add the package as a dependency
dependencies: [ .package(url: "https://github.com/zcash-hackworks/zcash-light-client-ffi", from: "0.1.2") // other dependencies ]
and reference it as product in the target that it will be used
targets: [ .target( name: "MyTarget", dependencies: [ .product(name: "libzcashlc", package: "zcash-light-client-ffi") ],
Most of the building is done with the rust compiler, and depending on the target will need different toolchains. To install these you will need to install
rustup. Once this is installed, the rest of the dependencies can be installed by running
Currently the only build product that is supported. This can be built with
make xcframework and the result will be in
Depending on what state the intermediate build products might be in, you may first want to do
make clean to do a clean build.
Downstream code forks should note that 'libzcashlc' (and thus XCFramework) depends on the 'orchard' crate, which is licensed under the Bootstrap Open Source License. A license exception is provided allowing some derived works that are linked or combined with the 'orchard' crate to be copied or distributed under the original licenses (in this case MIT), provided that the included portions of the 'orchard' code remain subject to BOSL. See https://github.com/zcash/orchard/blob/main/COPYING for details of which derived works can make use of this exception.
|Last commit: 3 weeks ago|
zcash_client_sqlitewith a fix for incorrect note deduplication in