change(docs): update docs for new lightwalletd version used in Zebra (#7427)
* upgrade docs for new lightwalletd repo zebra is using now * Update book/src/user/lightwalletd.md Co-authored-by: Marek <mail@marek.onl> --------- Co-authored-by: Marek <mail@marek.onl>
This commit is contained in:
parent
5888a4e5d6
commit
38caaafc02
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Zebra's RPC methods can support a lightwalletd service backed by zebrad. We
|
Zebra's RPC methods can support a lightwalletd service backed by zebrad. We
|
||||||
recommend using
|
recommend using
|
||||||
[adityapk00/lightwalletd](https://github.com/adityapk00/lightwalletd) because we
|
[zcash/lightwalletd](https://github.com/zcash/lightwalletd) because we
|
||||||
use it in testing. Other `lightwalletd` forks have limited support, see the
|
use it in testing. Other `lightwalletd` forks have limited support, see the
|
||||||
[Sync lightwalletd](#sync-lightwalletd) section for more info.
|
[Sync lightwalletd](#sync-lightwalletd) section for more info.
|
||||||
|
|
||||||
|
|
@ -92,14 +92,14 @@ For implementing zebra as a service please see [here](https://github.com/ZcashFo
|
||||||
## Download and build lightwalletd
|
## Download and build lightwalletd
|
||||||
[#download-and-build-lightwalletd]: #download-and-build-lightwalletd
|
[#download-and-build-lightwalletd]: #download-and-build-lightwalletd
|
||||||
|
|
||||||
While you synchronize Zebra you can install [lightwalletd](https://github.com/adityapk00/lightwalletd).
|
While you synchronize Zebra you can install [lightwalletd](https://github.com/zcash/lightwalletd).
|
||||||
|
|
||||||
Before installing, you need to have `go` in place. Please visit the [go install page](https://go.dev/doc/install) with download and installation instructions.
|
Before installing, you need to have `go` in place. Please visit the [go install page](https://go.dev/doc/install) with download and installation instructions.
|
||||||
|
|
||||||
With go installed and in your path, download and install lightwalletd:
|
With go installed and in your path, download and install lightwalletd:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
git clone https://github.com/adityapk00/lightwalletd
|
git clone https://github.com/zcash/lightwalletd
|
||||||
cd lightwalletd
|
cd lightwalletd
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
|
@ -112,7 +112,7 @@ If everything went good you should have a `lightwalletd` binary in `~/go/bin/`.
|
||||||
|
|
||||||
Please make sure you have zebrad running (with RPC endpoint and up to date blockchain) to synchronize lightwalletd.
|
Please make sure you have zebrad running (with RPC endpoint and up to date blockchain) to synchronize lightwalletd.
|
||||||
|
|
||||||
- `lightwalletd` requires a `zcash.conf` file, however this file can be empty if you are using the default Zebra rpc endpoint (`127.0.0.1:8232`) and the `adityapk00/lightwalletd` fork
|
- `lightwalletd` requires a `zcash.conf` file, however this file can be empty if you are using the default Zebra rpc endpoint (`127.0.0.1:8232`) and the `zcash/lightwalletd` fork.
|
||||||
- Some `lightwalletd` forks also require a `rpcuser` and `rpcpassword`, but Zebra ignores them if it receives them from `lightwalletd`
|
- Some `lightwalletd` forks also require a `rpcuser` and `rpcpassword`, but Zebra ignores them if it receives them from `lightwalletd`
|
||||||
- When using a non-default port, use `rpcport=28232` and `rpcbind=127.0.0.1`
|
- When using a non-default port, use `rpcport=28232` and `rpcbind=127.0.0.1`
|
||||||
- When using testnet, use `testnet=1`
|
- When using testnet, use `testnet=1`
|
||||||
|
|
@ -158,7 +158,8 @@ Please refer to [acceptance](https://github.com/ZcashFoundation/zebra/blob/main/
|
||||||
|
|
||||||
The final goal is to connect wallets to the lightwalletd service backed by Zebra.
|
The final goal is to connect wallets to the lightwalletd service backed by Zebra.
|
||||||
|
|
||||||
For demo purposes we use [zecwallet-cli](https://github.com/adityapk00/zecwallet-light-cli).
|
For demo purposes we used [zecwallet-cli](https://github.com/adityapk00/zecwallet-light-cli) with the [adityapk00/lightwalletd](https://github.com/adityapk00/lightwalletd) fork.
|
||||||
|
We didn't test [zecwallet-cli](https://github.com/adityapk00/zecwallet-light-cli) with [zcash/lightwalletd](https://github.com/zcash/lightwalletd) yet.
|
||||||
|
|
||||||
Make sure both `zebrad` and `lightwalletd` are running and listening.
|
Make sure both `zebrad` and `lightwalletd` are running and listening.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ pub const INVALID_PARAMETERS_ERROR_CODE: ErrorCode = ErrorCode::ServerError(-1);
|
||||||
/// The RPC error code used by `zcashd` for missing blocks.
|
/// The RPC error code used by `zcashd` for missing blocks.
|
||||||
///
|
///
|
||||||
/// `lightwalletd` expects error code `-8` when a block is not found:
|
/// `lightwalletd` expects error code `-8` when a block is not found:
|
||||||
/// <https://github.com/adityapk00/lightwalletd/blob/c1bab818a683e4de69cd952317000f9bb2932274/common/common.go#L251-L254>
|
/// <https://github.com/zcash/lightwalletd/blob/v0.4.16/common/common.go#L287-L290>
|
||||||
pub const MISSING_BLOCK_ERROR_CODE: ErrorCode = ErrorCode::ServerError(-8);
|
pub const MISSING_BLOCK_ERROR_CODE: ErrorCode = ErrorCode::ServerError(-8);
|
||||||
|
|
||||||
/// When logging parameter data, only log this much data.
|
/// When logging parameter data, only log this much data.
|
||||||
|
|
|
||||||
|
|
@ -288,7 +288,7 @@ async fn rpc_getblock_missing_error() {
|
||||||
);
|
);
|
||||||
|
|
||||||
// Make sure Zebra returns the correct error code `-8` for missing blocks
|
// Make sure Zebra returns the correct error code `-8` for missing blocks
|
||||||
// https://github.com/adityapk00/lightwalletd/blob/c1bab818a683e4de69cd952317000f9bb2932274/common/common.go#L251-L254
|
// https://github.com/zcash/lightwalletd/blob/v0.4.16/common/common.go#L287-L290
|
||||||
let block_future = tokio::spawn(rpc.get_block("0".to_string(), Some(0u8)));
|
let block_future = tokio::spawn(rpc.get_block("0".to_string(), Some(0u8)));
|
||||||
|
|
||||||
// Make the mock service respond with no block
|
// Make the mock service respond with no block
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,11 @@
|
||||||
//!
|
//!
|
||||||
//! The lightwalletd software is an interface service that uses zebrad or zcashd RPC methods to serve wallets or other applications with blockchain content in an efficient manner.
|
//! The lightwalletd software is an interface service that uses zebrad or zcashd RPC methods to serve wallets or other applications with blockchain content in an efficient manner.
|
||||||
//! There are several versions of lightwalled in the form of different forks. The original
|
//! There are several versions of lightwalled in the form of different forks. The original
|
||||||
//! repo is <https://github.com/zcash/lightwalletd> but Zecwallet Lite uses a custom fork: <https://github.com/adityapk00/lightwalletd>.
|
//! repo is <https://github.com/zcash/lightwalletd>, zecwallet Lite uses a custom fork: <https://github.com/adityapk00/lightwalletd>.
|
||||||
//! The custom fork from adityapk00 is the one Zebra use for this tests:
|
//! Initially this tests were made with `adityapk00/lightwalletd` fork but changes for fast spendability support had
|
||||||
|
//! been made to `zcash/lightwalletd` only.
|
||||||
|
//!
|
||||||
|
//! We expect `adityapk00/lightwalletd` to remain working with Zebra but for this tests we are using `zcash/lightwalletd`.
|
||||||
//!
|
//!
|
||||||
//! Zebra lightwalletd tests are not all marked as ignored but none will run unless
|
//! Zebra lightwalletd tests are not all marked as ignored but none will run unless
|
||||||
//! at least the `ZEBRA_TEST_LIGHTWALLETD` environment variable is present:
|
//! at least the `ZEBRA_TEST_LIGHTWALLETD` environment variable is present:
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,8 @@ pub const LIGHTWALLETD_FAILURE_MESSAGES: &[&str] = &[
|
||||||
"into Go value of type",
|
"into Go value of type",
|
||||||
// lightwalletd custom RPC error messages from:
|
// lightwalletd custom RPC error messages from:
|
||||||
// https://github.com/adityapk00/lightwalletd/blob/master/common/common.go
|
// https://github.com/adityapk00/lightwalletd/blob/master/common/common.go
|
||||||
|
// TODO: support messages from both implementations if there are differences?
|
||||||
|
// https://github.com/zcash/lightwalletd/blob/v0.4.16/common/common.go
|
||||||
"block requested is newer than latest block",
|
"block requested is newer than latest block",
|
||||||
"Cache add failed",
|
"Cache add failed",
|
||||||
"error decoding",
|
"error decoding",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue