Skip to content

Proof of concept to fetch and render data from Haveno's daemon in ReactJS

License

Notifications You must be signed in to change notification settings

duriancrepe/haveno-ts

 
 

Repository files navigation

Haveno TypeScript Library

TypeScript library for using Haveno.

Install

  1. Start a Haveno daemon (see installing.md).
  2. Install haveno-ts in your project: npm install haveno-ts

Sample code

import { HavenoClient } from "haveno-ts";

// create client connected to Haveno daemon
const alice = new HavenoClient("http://localhost:8080", "apitest");

// use Haveno daemon
const balances = await alice.getBalances();
const paymentAccounts = await alice.getPaymentAccounts();
const myOffers = await alice.getMyOffers("ETH");
const offers = await alice.getOffers("ETH", "BUY");
const trade = await alice.takeOffer(offers[0].getId(), paymentAccounts[0].getId());

// disconnect client
await alice.disconnect();

TypeDocs

See typedocs.

Run tests

Running the API tests is the best way to develop and test Haveno end-to-end.

HavenoClient.ts provides the client interface to Haveno's backend daemon.

  1. Run a local Haveno test network and then shut down the arbitrator, user1, and user2 or run them as daemons, e.g. make user1-daemon-local. You may omit the arbitrator registration steps since it's done automatically in the tests.
  2. Clone this project to the same parent directory as the haveno project: git clone https://github.com/haveno-dex/haveno-ts
  3. In a new terminal, start envoy with the config in haveno-ts/config/envoy.test.yaml (change absolute path for your system): docker run --rm --add-host host.docker.internal:host-gateway -it -v ~/git/haveno-ts/config/envoy.test.yaml:/envoy.test.yaml -p 8079:8079 -p 8080:8080 -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 -p 8086:8086 envoyproxy/envoy-dev:8a2143613d43d17d1eb35a24b4a4a4c432215606 -c /envoy.test.yaml
  4. In a new terminal, start the funding wallet. This wallet will be funded automatically in order to fund the tests.
    For example: cd ~/git/haveno && make funding-wallet-local.
  5. Install protobuf compiler v3.19.1 or later for your system:
    mac: brew install protobuf
    linux: apt install protobuf-compiler NOTE: You may need to upgrade to v3.19.1 manually if your package manager installs an older version.
  6. Download protoc-gen-grpc-web plugin and make executable as shown here.
  7. cd haveno-ts
  8. npm install
  9. npm run test -- --baseCurrencyNetwork=XMR_LOCAL to run all tests or npm run test -- --baseCurrencyNetwork=XMR_LOCAL -t "my test" to run tests by name.

About

Proof of concept to fetch and render data from Haveno's daemon in ReactJS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.6%
  • Other 0.4%