Browse Source

Update 'README.md'

main
duke 1 year ago
parent
commit
7dcd527aff
  1. 19
      README.md

19
README.md

@ -1,7 +1,7 @@
This is a beta build and is currently under active development. Please be advised of the following:
- This code currently is not audited by an external security auditor, use it at your own risk
- The code **has not been subjected to thorough review** by engineers at the Electric Coin Company
- The code **has not been subjected to thorough review**
- We **are actively changing** the codebase and adding features where/when needed
🔒 Security Warnings
@ -17,15 +17,14 @@ This lightweight SDK connects Android to Hush, allowing third-party Android apps
Different sections of this repository documentation are oriented to different roles, specifically Consumers (you want to use the SDK) and Maintainers (you want to modify the SDK).
Note: This SDK is designed to work with [lightwalletd](https://github.com/zcash-hackworks/lightwalletd). As either a consumer of the SDK or developer, you'll need a lightwalletd instance to connect to. These servers are maintained by the Hush community.
Note: This SDK is designed to work with [lightwalletd](https://git.hush.is/hush/lightwalletd). As either a consumer of the SDK or developer, you'll need a lightwalletd instance to connect to. These servers are maintained by the Hush community.
lightwalletd v0.1.2 or higher is required.
Note: Because we have not deployed a non-beta release of the SDK yet, version numbers currently follow a variation of [semantic versioning](https://semver.org/). Generally a non-breaking change will increment the beta number while a breaking change will increment the minor number. 1.0.0-beta01 -> 1.0.0-beta02 is non-breaking, while 1.0.0-beta01 -> 1.1.0-beta01 is breaking. This is subject to change.
# Hush Networks
"mainnet" (main network) and "testnet" (test network) are terms used in the blockchain ecosystem to describe different blockchain networks. Mainnet is responsible for executing actual transactions within the network and storing them on the blockchain. In contrast, the testnet provides an alternative environment that mimics the mainnet's functionality to allow developers to build and test projects without needing to facilitate live transactions or the use of cryptocurrencies, for example.
The Hush testnet is an alternative blockchain that attempts to mimic the mainnet (main Hush network) for testing purposes. Testnet coins are distinct from actual ZEC and do not have value. Developers and users can experiment with the testnet without having to use valuable currency. The testnet is also used to test network upgrades and their activation before committing to the upgrade on the main Hush network. For more information on how to add testnet funds visit [Testnet Guide](https://zcash.readthedocs.io/en/latest/rtd_pages/testnet_guide.html) or go right to the [Testnet Faucet](https://faucet.zecpages.com/).
This SDK supports both mainnet and testnet. Further details on switching networks are covered in the remaining documentation.
# Consumers
@ -33,9 +32,9 @@ If you're a developer consuming this SDK in your own app, see [Consumers.md](doc
A primitive example to exercise the SDK exists in this repo, under [Demo App](demo-app).
There are also more comprehensive sample walletes:
* [ECC Sample Wallet](https://github.com/zcash/zcash-android-wallet) — A basic sample application.
* [Secant Sample Wallet](https://github.com/zcash/secant-android-wallet) — A more modern codebase written in Compose. This repository is a work-in-progress and is not fully functional yet as of August 2022, although it will be our primary sample application in the future.
There are also more comprehensive wallets:
* [SilentDragonAndroid](https://git.hush.is/hush/SilentDragonAndroid) — Official Hush lite wallet for Android
# Maintainers and Contributors
If you're building the SDK from source or modifying the SDK:
@ -44,9 +43,7 @@ If you're building the SDK from source or modifying the SDK:
* [CI.md](docs/CI.md) to understand the Continuous Integration build scripts
* [PUBLISHING.md](docs/PUBLISHING.md) to understand our deployment process
Note that we aim for the main branch of this repository to be stable and releasable. We continuously deploy snapshot builds after a merge to the main branch, then manually deploy release builds. Our continuous deployment of snapshots implies two things:
* A pull request containing API changes should also bump the version
* Each pull request should be stable and ready to be consumed, to the best of your knowledge. Gating unstable functionality behind a flag is perfectly acceptable
Note that we aim for the main branch of this repository to be stable and releasable.
## Known Issues
1. Intel-based machines may have trouble building in Android Studio. The workaround is to add the following line to `~/.gradle/gradle.properties`: `ZCASH_IS_DEPENDENCY_LOCKING_ENABLED=false`
@ -64,3 +61,5 @@ We currently rely on mavenLocal publishing for the SDK. Run the following comman
On Windows you may also need to manually create the following directory if build fails for it not existing:
`C:\Users\user\.cargo\git\checkouts\librustzcash-b77c20a46364385a\553c3f6\zcash_client_backend\src\proto`
NOTE: the commit id above may need to be modified, as it changes.

Loading…
Cancel
Save