mysterium-tequilapi

Api library to control mysterium client and node

Usage no npm install needed!

<script type="module">
  import mysteriumTequilapi from 'https://cdn.skypack.dev/mysterium-tequilapi';
</script>

README

Mysterium Tequilapi

npm version

a library to control mysterium_client and myst from mysteriumnetwork/node

Installation

npm i mysterium-tequilapi

Usage

ES6 module

import TequilapiClientFactory, { TEQUILAPI_URL } from 'mysterium-tequilapi'
const factory = new TequilapiClientFactory(TEQUILAPI_URL)
const client = factory.build(factory.buildAdapter())
client.identitiesList().then((identities) => {
  console.log(identities)
})

Output:

{"identities":[{"id":"0xf2732f2100d19d74b1b5484037ebf6c13736d1bc"}]}

node.js require syntax

const Tequilapi = require("mysterium-tequilapi")
const factory = new Tequilapi.default(Tequilapi.TEQUILAPI_URL)
const client = factory.build(factory.buildAdapter())

client.healthCheck().then((res) => {
  console.log(res)
})

Output:

{ "uptime":"75h23m14.658120675s",
  "process":19857,
  "version":"0.2.3",
  "buildInfo": {
    "commit":"91840225277923a61de2bf5683a24532ee638559",
    "branch":"0.2.3",
    "buildNumber":"1389"
  }
}

Client object fulfills the following interface:

interface TequilapiClient {
  healthCheck (timeout: ?number): Promise<NodeHealthcheckDTO>,
  stop (): Promise<void>,

  identitiesList (): Promise<Array<IdentityDTO>>,
  identityCreate (passphrase: string): Promise<IdentityDTO>,
  identityUnlock (id: string, passphrase: string): Promise<void>,
  identityRegistration (id: string): Promise<IdentityRegistrationDTO>,

  findProposals (query: ?ProposalsQuery): Promise<Array<ProposalDTO>>,

  connectionCreate (request: ConnectionRequest, timeout: ?number): Promise<ConnectionStatusDTO>,
  connectionStatus (): Promise<ConnectionStatusDTO>,
  connectionCancel (): Promise<void>,
  connectionIP (timeout: ?number): Promise<ConnectionIPDTO>,
  connectionStatistics (): Promise<ConnectionStatisticsDTO>,
  location (timeout: ?number): Promise<ConsumerLocationDTO>
}

Contribution

Run CI checks:

npm run ci

After modifying TS files run:

npm run prepack && npm run generate:flow

Docs

API docs are available tequilapi.mysterium.network

Authors