reemuru 67d236f7cf
add eslint and editorconfig
This commit adds a simple editorconfig generated via VSCode
and .eslintrc.json configuration created with 'npx eslint --init'.
The rules are react-specific typescript recommnedations with
the Airbnb style guide. Linting can be performed by running 'npm
run lint' or fix possible errors with 'npm run eslintfix'. These
commands are located in the pacakge.json 'scripts' configuration.
Place file extensions and directories to be ignored in .eslintignore.
2021-09-18 21:45:56 -05:00
2021-09-09 04:54:14 -04:00
2021-09-18 21:45:56 -05:00
2021-09-18 21:45:56 -05:00
2021-09-18 21:45:56 -05:00
2021-09-10 06:43:06 -04:00
2021-09-18 21:45:56 -05: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
Description
TypeScript library for using Haveno
Readme Apache-2.0 54 MiB
Languages
TypeScript 99.1%
Dockerfile 0.4%
JavaScript 0.3%
Shell 0.2%