depolymerization

wire gateway for Bitcoin/Ethereum
Log | Files | Refs | Submodules | README | LICENSE

commit 3a81a69b960c6b102e47e9b35388a5cba1a58418
parent f4e5b87a27e825c537f259c7d244f474f146aea2
Author: Antoine A <>
Date:   Mon, 21 Feb 2022 23:04:55 +0100

Test setup

Diffstat:
MCargo.lock | 28++++++++++++++--------------
MREADME.md | 26++++++++++++++++++++++----
Mbtc-wire/README.md | 2+-
Meth-wire/README.md | 2+-
Mtest/common.sh | 4+++-
Mwire-gateway/README.md | 1-
6 files changed, 41 insertions(+), 22 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -124,7 +124,7 @@ dependencies = [ "base64", "bech32", "bitcoin", - "clap 3.1.0", + "clap 3.1.1", "common", "criterion", "hex", @@ -200,9 +200,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.1.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f1fea81f183005ced9e59cdb01737ef2423956dac5a6d731b06b2ecfaa3467" +checksum = "6d76c22c9b9b215eeb8d016ad3a90417bd13cb24cf8142756e6472445876cab7" dependencies = [ "atty", "bitflags", @@ -482,7 +482,7 @@ dependencies = [ name = "eth-wire" version = "0.1.0" dependencies = [ - "clap 3.1.0", + "clap 3.1.1", "common", "ethereum-types", "hex", @@ -735,9 +735,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ "digest", ] @@ -895,9 +895,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.118" +version = "0.2.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e509672465a0504304aa87f9f176f2b2b716ed8fb105ebe5c02dc6dce96a94" +checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" [[package]] name = "listenfd" @@ -936,9 +936,9 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "md-5" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6a38fc55c8bbc10058782919516f88826e70320db6d206aebc49611d24216ae" +checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582" dependencies = [ "digest", ] @@ -1547,9 +1547,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c3bd8169c58782adad9290a9af5939994036b76187f7b4f0e6de91dbbfc0ec" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" dependencies = [ "cfg-if", "cpufeatures", @@ -1792,9 +1792,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8d93354fe2a8e50d5953f5ae2e47a3fc2ef03292e7ea46e3cc38f549525fb9" +checksum = "f6c650a8ef0cd2dd93736f033d21cbd1224c5a967aa0c258d00fcf7dafef9b9f" dependencies = [ "cfg-if", "pin-project-lite", diff --git a/README.md b/README.md @@ -4,6 +4,7 @@ - **wire-gateway**: [Taler Wire Gateway HTTP API](https://docs.taler.net/core/api-wire.html) server - **btc-wire**: Taler wire implementation for [bitcoincore](https://bitcoincore.org/en/about/) node +- **eth-wire**: Taler wire implementation for [go-ethereum](https://geth.ethereum.org/) node - **uri-pack**: Efficient probabilistic binary encoding for URI - **docs**: Documentation files - **test**: Test scripts @@ -14,7 +15,7 @@ make install ``` -Read implementation specific documentation to run depolymerizer: +Read adapter specific documentation to run depolymerizer: - [BTC](btc-wire/README.md) - [ETH](eth-wire/README.md) @@ -73,8 +74,25 @@ Modules have specific configuration: ## Security -Depolymerizer only use encrypted wallet, and provide an easy wait to create +Depolymerizer only use encrypted wallet, and provide an easy way to create them. However, it is the administrator responsibility to backup its wallet and password. -Only the wire need to have the password stored in its environnement. -\ No newline at end of file +Only the wire adapter need to have the password stored in its environnement. + +## Test + +The following binaries need to be in the local user PATH: +- `pg_ctl` and `psql` from PostgreSQL +- `geth` from [go-ethereum](https://geth.ethereum.org/downloads/) +- `bitcoind` and `bitcoin-cli` from [bitcoincore](https://bitcoincore.org/en/download/) +- `taler-config` and `taler-exchange-wire-gateway-client` from the +[Taler exchange repository](https://git.taler.net/exchange.git/) + +You can use the [prepare](script/prepare.sh) script to downloads and extract +blockchain binaries and find the path of the local postgres +installation. However taler binaries need to be compiled from source for now. + +``` +make test +``` +\ No newline at end of file diff --git a/btc-wire/README.md b/btc-wire/README.md @@ -1,6 +1,6 @@ # btc-wire -btc-wire is taler wire implementation for [bitcoincore](https://bitcoincore.org/en/about/) node +btc-wire is taler wire adapter for [bitcoincore](https://bitcoincore.org/en/about/) node ## Bitcoincore compatibility diff --git a/eth-wire/README.md b/eth-wire/README.md @@ -1,6 +1,6 @@ # eth-wire -eth-wire is taler wire implementation for [geth](https://geth.ethereum.org/) node +eth-wire is taler wire adapter for [go-ethereum](https://geth.ethereum.org/) node ## Geth compatibility diff --git a/test/common.sh b/test/common.sh @@ -285,13 +285,15 @@ function init_eth2() { # Disconnect the two nodes function eth_deco() { $WIRE_UTILS disconnect $WIRE_DIR2 + $WIRE_UTILS2 disconnect $WIRE_DIR } # Create a fork on the second node and reconnect the two node function eth_fork() { $WIRE_UTILS2 mine $RESERVE ${1:-} $WIRE_UTILS connect $WIRE_DIR2 - sleep 6 + $WIRE_UTILS2 connect $WIRE_DIR + sleep 10 # Can take soooooo long for nodes to sync } # Restart an initialized geth dev node diff --git a/wire-gateway/README.md b/wire-gateway/README.md @@ -15,7 +15,6 @@ PORT = 8080 UNIXPATH = ``` - ## Database schema The server is wire implementation agnostic, it only require an postgres database with following schema: