TypeScript library for using Haveno
Go to file
woodser a268b26784 test basic end-to-end trade completion
add methods to take offer and indicate payment to haveno daemon
add getNewDepositSubaddress() to haveno daemon
automatically fund haveno wallets and await unlocked funds
run tests sequentially
update protobuf definition
2021-09-21 10:01:44 -04:00
bin use underscores in grpc.proto for correct camelcase in grpc-web 2021-09-16 09:32:17 -04:00
config test basic end-to-end trade completion 2021-09-21 10:01:44 -04:00
public update logo (#5) 2021-09-09 04:54:14 -04:00
src test basic end-to-end trade completion 2021-09-21 10:01:44 -04:00
.gitignore Initialize project using Create React App 2021-04-21 15:52:40 -04:00
.project fetch and display haveno daemon version in react 2021-04-25 19:58:26 -04:00
haveno-ui-poc.png update poc image and test (#7) 2021-09-10 06:43:16 -04:00
LICENSE change license to apache 2.0 (#6) 2021-09-10 06:43:06 -04:00
package-lock.json test that offers filtered when reserved funds spent or duplicated 2021-09-18 15:04:08 -04:00
package.json test basic end-to-end trade completion 2021-09-21 10:01:44 -04:00
README.md test that offers filtered when reserved funds spent or duplicated 2021-09-18 15:04:08 -04:00
tsconfig.json fix error resulting from using typescript 2021-04-25 20:05:28 -04:00

Haveno UI Proof of Concept

A proof of concept to fetch and render data from Haveno's daemon in ReactJS.

This application is a lightly modified create-react-app with typescript using envoy proxy and grpc-web to use Haveno's gRPC API.

Run in a Browser

  1. Run a local Haveno test network except replace ./haveno-desktop with ./haveno-daemon when starting Alice at port 9999.
  2. git clone https://github.com/haveno-dex/haveno-ui-poc
  3. Start envoy with the config in ./config/envoy.yaml
    Example: docker run --rm -it -v ~/git/haveno-ui-poc/config/envoy.yaml:/envoy.yaml -p 8080:8080 envoyproxy/envoy-dev:8a2143613d43d17d1eb35a24b4a4a4c432215606 -c /envoy.yaml
  4. npm install
  5. npm start to open http://localhost:3000 in a browser
  6. Confirm that the Haveno daemon version is displayed (1.6.2)


Run Tests

Running the top-level API tests is a great way to develop and test Haveno end-to-end.

HavenoDaemon provides the interface to the Haveno daemon's gRPC API.

  1. Run a local Haveno test network except replace ./haveno-desktop with ./haveno-daemon when starting Alice at port 9999 and Bob at port 10000.
  2. git clone https://github.com/haveno-dex/haveno-ui-poc
  3. Start envoy with the test config in ./config/envoy.test.yaml.
    Example: docker run --rm -it -v ~/git/haveno-ui-poc/config/envoy.test.yaml:/envoy.test.yaml -p 8080:8080 -p 8081:8081 envoyproxy/envoy-dev:8a2143613d43d17d1eb35a24b4a4a4c432215606 -c /envoy.test.yaml
  4. npm install
  5. Modify test config as needed in HavenoDaemon.test.tsx.
  6. npm test
  7. Run all tests: a

How to Update the Protobuf Client

If the protobuf definitions in haveno-dex/haveno are updated, the typescript imports must be regenerated:

  1. Copy grpc.proto and pb.proto from Haveno's protobuf definitions to ./config.
  2. Install protobuf for your system, e.g. on mac: brew install protobuf
  3. ./bin/build_protobuf.sh