mirror of
https://github.com/haveno-dex/haveno-ts.git
synced 2024-10-01 01:35:42 -04:00
TypeScript library for using Haveno
7b447022e6
test all (online) trade combinations with disputes test added dispute states print trade context and index on failure improve caching to reduce calls to getBalances() local test network uses daemon at 48081 by default various cleanup |
||
---|---|---|
.github | ||
config | ||
dist | ||
docs | ||
scripts | ||
src | ||
_config.yml | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.project | ||
babel.config.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
Haveno TypeScript Library
TypeScript library for using Haveno.
Install
- Start a Haveno daemon (see installing.md).
- 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.
- 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. - Clone this project to the same parent directory as the haveno project:
git clone https://github.com/haveno-dex/haveno-ts
- 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
- 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
. - 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. - Download
protoc-gen-grpc-web
plugin and make executable as shown here. cd haveno-ts
npm install
npm run test -- --baseCurrencyNetwork=XMR_LOCAL
to run all tests ornpm run test -- --baseCurrencyNetwork=XMR_LOCAL -t "my test"
to run tests by name.